Sadržaj:
- Korak 1: Hardver
- Korak 2: Softver (Arduino program)
- Korak 3: Više softvera (primanje GPS lokacija na strani servera)
- Korak 4: Još više softvera (mobilna aplikacija)
- Korak 5: Budući rad
Video: Kompletan GPS+GPRS sistem protiv krađe vozila baziran na Arduinu: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Zdravo svima!
Htio sam izgraditi potpuno rješenje za GPS uređaj protiv krađe vozila, a to bi bilo:
što je moguće jeftinije
što potpuniji
kako to-samo-funkcionira-nema što drugo učiniti
Tako sam na kraju izgradio rješenje zasnovano na Arduinu koje me je koštalo ukupno 25 dolara, manje-više.
Kao što vidite iz videa, radi! Pokrećete automobil, na mobilnom telefonu ćete dobiti obavijest da se automobil kreće, zatim otvorite mobilnu aplikaciju i možete vidjeti automobil u pokretu u stvarnom vremenu (sa kašnjenjem od 10 sekundi za ažuriranje).
Ovaj vodič će vas voditi kroz sve korake, imajući na umu da u rješenju postoji nekoliko komponenti:
1) hardver (zasnovan na Arduinu)
2) softver (Arduino program)
3) više softvera (prijem GPS lokacija na strani servera)
4) još više softvera (mobilna aplikacija)
Počnimo..
Korak 1: Hardver
Lista za kupovinu:
1) Arduino Uno R3 ili klon. Koristio sam klon "DCcEle DCcduino uno", koji izgleda više nije dostupan. Evo ekvivalenta: na Aliexpressu - 3,75 $
2) GPS jedinica za Arduino (GY-NEO6MV2 novi GPS modul sa kontrolom leta EEPROM MWC APM2.5 velika antena NEO6MV2). Koristio sam ovo: na Aliexpressu - 6,66 $
3) GPRS / GSM jedinica za Arduino (SIM800L V2.0 5V bežični GSM GPRS MODUL Četvoropojasni W / antenski kabel). Koristio sam ovo: na Aliexpressu - 6,71 $
4) Rezervne dupont kabele poput ovih: na Aliexpressu - 0,89 USD
5) IoT podatkovna sim kartica (ili bilo koja druga SIM kartica s podatkovnom vezom). Koristio sam ovo: sa Hologram.io. Imam besplatnog programera, samo plaćena dostava - 7,50 USD
Ukupno: 25,51 $, ali već sam imao kablove pa je manje od 25 $!
Dvije slike prikazuju komponente prije sastavljanja i konačni proizvod. Veze koje morate uspostaviti su:
Arduino - SIM800L
10 - RESETIRANJE
GND - GND (2 od njih)
5v - 5v
7 - SIM_TXD
8 - SIM_RXD
Arduino-GY-NEO6MV2
GND - GND
5v - VCC
3 - RX
4 - TX
Spojite sve kabele i antene i provjerite jeste li napajali Arduino iz izvora koji vam može dati vrhunce od 2A. Računar je jedva u redu (koristim MacBook Pro), "slučajni" punjač za telefon neće biti dovoljan. Većina USB utičnica za automobile takođe su manje od 1A. Ako je to vaš slučaj, trebate i 12v automobilsko 5v napajanje s najmanje 2A.
Umetnite sim karticu. Ako koristite Hologram.io sim karticu, obavezno se registrirajte na njihovoj nadzornoj ploči i aktivirajte sim karticu (potrebno je nekoliko minuta / sati).
Korak 2: Softver (Arduino program)
Pretpostavit ću da ste upoznati s Arduino programiranjem. U suprotnom, počnite s ovim vodičem: na Instructables.
Potrebna vam je samo jedna vanjska biblioteka, morao sam je instalirati ručno. Idite ovdje: TinyGPS, izvezite biblioteku i instalirajte je u svoju lokalnu Arduino mapu.
Odatle ćemo "ukrasti" neki kod iz njihovog osnovnog primjera i izmijeniti ga u naše svrhe.
Zatim ćemo "ukrasti" ovaj vodič i ponovo izmijeniti kôd u naše svrhe.
Rezultat je priložen.ino program.
Postoji nekoliko stvari koje možete i MORATE prilagoditi:
definicija "SECONDS" i definicija "SERVER".
Postavio sam SECONDS na 10 i evo zašto: Hologram.io programerski program daje vam 1 MB besplatnih podataka mjesečno. Što znači da želimo minimizirati slanje bajtova, ali isto tako moramo često ažurirati svoju poziciju. Koristićemo standardne AT modemske komande za slanje UDP paketa na naš server koji prima poruke, sa lat/lon, svaki koristeći 4 bajta, i brzinom koristeći 1 bajt. Dakle, ukupno ažuriranje GPS -a je 20 bajtova (IP zaglavlje) plus 8 bajtova (UDP zaglavlje) plus 9 bajtova (korisni teret). To je 37 bajtova. Pod pretpostavkom da mi auto nije aktivan više od 2 sata dnevno, mogu si priuštiti ažuriranje svakih 10 sekundi i trošiti samo 806 KB mjesečno (31 dan). To mi daje 218 KB za vrijeme vožnje nad vlastitim, odnosno lopovom automobila. Što mi daje 16,76 sati GPS nadzora van vremena vožnje, s jednim ažuriranjem svakih 10 sekundi.
Sada ovi UDP paketi moraju negdje otići. Koristim Ubuntu poslužitelj hostiran na CloudAtCost oblaku, koji sam kupio za 8 USD sa popustom od 80% i koji mi služi za druge svrhe, pa ne ulazi u kalkulaciju troškova. Ako ne želite platiti poslužitelj, možete nabaviti besplatnu instancu Amazon AWS na 12 mjeseci i instalirati Ubuntu na nju. Kada postavite poslužitelj (pogledajte sljedeći korak), nabavite njegovu statičku IP adresu i stavite je pored definicije SERVER.
Korak 3: Više softvera (primanje GPS lokacija na strani servera)
I CloudAtCost i Amazon dolaze s unaprijed konfiguriranom Ubuntu slikom (CloudAtCost je na Ubuntu 14.04). Zato neću prolaziti korake za instaliranje Ubuntu -a, jer nećete morati. Ako koristite CloudAtCost, možda ćete htjeti nadograditi na Ubuntu 16.04, to je učinjeno pomoću
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
Zatim morate instalirati LAMP (pogledajte ovaj vodič: ovdje), iako nećemo koristiti PHP.
Instalirajte Python sa
sudo apt-get install python-minimal pip
Zatim dodajte nekoliko modula:
pip install --user urllib3 zahtjevi
Moramo postaviti /var /www za vaše pisanje, pa učinimo sljedeće:
sudo adduser YOUR_USER www-datasudo chown -R www-data: www-data /var /www
sudo chmod -R g+rwX /var /www
Sada nam je potreban "server" za i) primanje UDP paketa, ii) izgradnju trake, iii) slanje obavijesti na naš mobilni telefon i "server" za opsluživanje kreirane GPS numere (ovo će biti apache).
Za prvi poslužitelj kopirajte priloženi python kod. Morate konfigurirati sljedeće stvari:
iftttuser = "VAŠ IFTTT KORISNIK"
iftttpass = "VAŠA IFTTT LOZINKA"
iftttappletid = "VAŠA APLETA ZA OBAVIJEST IFTTT"
iftttkey = "VAŠ IFTTT KLJUČ"
iftttevent = "VAŠ IFTTT DOGAĐAJ"
Kao što ste možda pretpostavili, koristimo IFTTT za slanje obavijesti u stvarnom vremenu na naše mobilne telefone. Slijedite ovaj vodič: ovdje, umjesto da odaberete "pošalji mi sms", odaberite "pošalji obavijest o aplikaciji". Nabavite svoj ID apleta (pomaknite se pri dnu konfiguracije apleta da ga vidite) i upotrijebite ga gore. Koristite i tako kreirani ključ u gornjim postavkama. IFTTT događaj je naziv koji ste dali svom appletu, ja sam mu dao "carmoving".
Sada ne postoje besplatne platforme za obavještavanje u stvarnom vremenu, AFAIK. Ako znate jednu, javite mi. IFTTT ima kašnjenje. Ovo kašnjenje može se smanjiti na nekoliko sekundi ako koristite okidač za e -poštu. Nažalost, ovo nije pouzdano. Upravo stvoreni webhook ima kašnjenje od 15 minuta. Ali ne želimo čekati 15 minuta da znamo da nam je auto ukraden, zar ne? To je lozinka koja vas traži da postavite sve gore navedene postavke. Ako pomičete python kôd, vidjet ćete da postoji nekoliko redaka, naime 45-53, za automatizaciju funkcije "provjeri sada" IFTTT-a, koja prisiljava iznenadnu provjeru okidača i pokreće obavijest za manje od 1 sekunde! Nema na čemu:)
Nakon što ste negdje postavili svoj python kod, samo ga pokrenite. Ako ste profesionalni korisnik, neka to počne pri pokretanju servera. Pogledajte mnoštvo besplatnih vodiča na mreži o tome kako to učiniti, na primjer ovaj.
Korak 4: Još više softvera (mobilna aplikacija)
Potreban nam je brz i jednostavan način samo vizualizacije GPS zapisa koji poslužitelj u prethodnom koraku održava ažurnim. Moguće je da mora raditi na svim vrstama pametnih telefona.
Koristimo zatim paket mobilnih aplikacija za više platformi, poput Ionic/Cordova. Koristim Ionic v1, nemojte ga miješati sa Ionic Native ili Ionic v2, to je druga stvar.
Slijedite ove vrlo jednostavne korake za početak svog prvog projekta u Ionicu: ovdje.
Zatim morate započeti novi projekt zasnovan na sdk -u google maps, ovako:
ionic start myapp mape
Idite u mapu "resources" i kopirajte veliku sliku automobila ovdje kao "icon.png". Umjesto toga prenesite male ikone kao "car2.png" i "start.png" negdje na vaš server, poput https://yourserver/car2.png. Trebat će vam ovi kao markeri u vašoj aplikaciji.
Koristite priložene datoteke index.html (preimenujte index.html.txt u index.html), directives.js i controllers.js datoteke i stavite ih u www (index.html), www/js (svi js).
dodajte svoju platformu ovako:
ionic add plaftorm android
graditi ovako:
ionska verzija androida
tada će vam ionic reći gdje je izgradio vaš.apk koji možete instalirati na svoj mobilni telefon.
Za izradu za iOS potreban vam je Mac i Xcode. ionic tada može spremiti Xcode projekt koji možete otvoriti u Xcode -u i izgraditi za svoj telefon. Ako nemate račun programera za iOS, morat ćete priključiti telefon na Xcode i postaviti telefon za razvoj kako biste mogli tamo instalirati aplikaciju. Ovo je izvan opsega ovog uputstva.
U različitim js datotekama morate pronaći redove koji odgovaraju "car2.png" i "start.png" i izmijeniti ih prema putanji vaših slika. Isto za "plan.json".
To je to!!
Korak 5: Budući rad
1) Sve sam stavio u kartonsku kutiju koju mogu sakriti bilo gdje u blizini USB utičnice. Najbolje bi bilo ugraditi bolje kućište ispod haube automobila, s pretvaračem 12v-> 5v.
2) Pomoću bluetooth senzora mogli biste zapravo "osjetiti" ako ste u automobilu, pa se GPS sistem neće uključiti.
3) Samo platite SIM podatkovni plan i postavite SECONDS na 1 da biste uživali u praćenju super-stvarnog vremena:)
Nadam se da ste uživali u ovom mom prvom uputstvu!
Preporučuje se:
Kompaktni senzor vremena sa GPRS (SIM karticom) podatkovna veza: 4 koraka
Kompaktni senzor vremena sa GPRS (SIM karticom) podatkovna veza: sažetak projekta Ovo je vremenski senzor na baterije koji se temelji na BME280 senzoru temperature/pritiska/vlažnosti i ATMega328P MCU. Radi na dvije 3,6 V litij -tionilne AA baterije. Ima izuzetno nisku potrošnju sna od 6 µA. On šalje dat
A9G GPS i GPRS modul Vodič - Ai-Thinker - AT komande: 7 koraka
A9G GPS i GPRS modul Vodič | Ai-Thinker | AT komande: Hej, šta ima, momci! Akarsh ovdje iz CETech -a. Danas ćemo proći kroz A9G GPS, GSM i GPRS modul kompanije AI Thinker. Postoji i nekoliko drugih modula, poput A9 i A6 kompanije AI Thinker koji imaju slične GSM i GPRS mogućnosti, ali
Arduino Security 3G/GPRS kamera za e -poštu s detekcijom pokreta: 4 koraka
Arduino Security 3G/GPRS kamera za e -poštu s detekcijom pokreta: U ovom priručniku htio bih ispričati o jednoj verziji izgradnje sigurnosnog nadzornog sistema s detektorom pokreta i slanja fotografija u poštanski sandučić putem 3G/GPRS štita. Ovaj članak se temelji na druga uputstva: uputstvo 1 i uputstvo
Arduino i SIM900 GSM GPRS 3G Zapisivanje temperature i vlažnosti, mobilna statistika: 4 koraka
Arduino i SIM900 GSM GPRS 3G zapis o temperaturi i vlažnosti, mobilna statistika: S Arduino UNO R3, SIM900 štitom i DHT22 možete potpuno besplatno bilježiti podatke o temperaturi i vlažnosti vani, u prostoriji, stakleniku, laboratoriju, rashladnoj prostoriji ili na bilo kojem drugom mjestu. Ovaj primjer ćemo koristiti za bilježenje sobne temperature i vlažnosti. Uređaj će
TCP/IP veza preko GPRS -a: Kako poslati podatke na server pomoću modula SIM900A: 4 koraka
TCP/IP veza preko GPRS -a: Kako poslati podatke na server pomoću SIM900A modula: U ovom vodiču ću vam reći kako poslati podatke na TCP server pomoću sim900 modula. Također ćemo vidjeti kako možemo primati podatke od servera do klijenta (GSM modul)