Sadržaj:
- Korak 1: Hardver
- Korak 2: Softver (Arduino program)
- Korak 3: Više softvera (primanje GPS lokacija na strani poslužitelja)
- Korak 4: Još više softvera (mobilna aplikacija)
- Korak 5: Budući rad
Video: Kompletan GPS+GPRS sustav protiv krađe vozila baziran na Arduinu: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Pozdrav svima!
Htio sam izgraditi cjelovito rješenje za GPS uređaj protiv krađe vozila, što bi bilo:
što jeftinije
što potpuniji
kako to-samo-radi-nema-što-drugo-učiniti što je više moguće
Tako sam na kraju izgradio rješenje zasnovano na Arduinu koje me je koštalo ukupno 25 USD, manje-više.
Kao što vidite iz videa, radi! Pokrenete automobil, na mobitelu dobijete obavijest da se automobil kreće, zatim otvorite mobilnu aplikaciju i možete vidjeti automobil u pokretu u stvarnom vremenu (s kašnjenjem od 10 sekundi ažuriranja).
Ovaj vodič će vas provesti 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 (primanje GPS lokacija na strani poslužitelja)
4) još više softvera (mobilna aplikacija)
Počnimo..
Korak 1: Hardver
Popis 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 s 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 Četveropojasni 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: s Hologram.io. Imam besplatnog razvojnog programera, samo plaćena dostava - 7,50 USD
Ukupno: 25,51 $, ali već sam imao kabele pa je manje od 25 $!
Dvije slike prikazuju komponente prije montaže 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 maksimalne vrijednosti od 2A. Računalni USB je jedva u redu (koristim MacBook Pro), "slučajni" punjač za telefon neće biti dovoljan. Većina USB utičnica za automobile također 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, svakako se registrirajte na njezinoj 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 protivnom, počnite s ovim vodičem: na Instructables.
Trebate samo jednu vanjsku biblioteku, morao sam je instalirati ručno. Idite ovdje: TinyGPS, izvezite biblioteku i instalirajte je u svoju lokalnu mapu Arduino.
Odatle ćemo "ukrasti" neki kod iz njihovog osnovnog primjera i promijeniti ga u naše svrhe.
Zatim ćemo "ukrasti" ovaj vodič i ponovo izmijeniti kôd u naše svrhe.
Rezultat je priloženi.ino program.
Postoji nekoliko stvari koje možete i MORATE doraditi:
definiraju "SECONDS" i definiraju "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 svoj položaj. Koristit ćemo standardne AT modemske naredbe za slanje UDP paketa na naš poslužitelj koji prima poruke, sa lat/lon, svaki koristi 4 bajta, a brzinu koristi 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 je automobil aktivan najviše 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 izvan vremena vožnje, s jednim ažuriranjem svakih 10 sekundi.
Sada ti UDP paketi moraju negdje otići. Koristim Ubuntu poslužitelj hostiran u oblaku CloudAtCost, koji sam kupio za 8 USD uz popust od 80% i koji mi služi za druge svrhe, pa ne ulazi u izračun troškova. Ako ne želite platiti poslužitelj, možete nabaviti besplatnu instancu Amazon AWS na 12 mjeseci i na nju instalirati Ubuntu. Nakon što 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 poslužitelja)
I CloudAtCost i Amazon dolaze s unaprijed konfiguriranom Ubuntu slikom (CloudAtCost je na Ubuntu 14.04). Dakle, ne idem kroz korake za instaliranje Ubuntua, jer nećete morati. Ako koristite CloudAtCost, možda biste htjeli nadograditi na Ubuntu 16.04, to je učinjeno s
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:
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 "poslužitelj" za i) primanje UDP paketa, ii) izradu trake, iii) slanje obavijesti na naš mobilni telefon i "poslužitelj" za opsluživanje stvorene GPS pjesme (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 svoje 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 biste ga vidjeli) i upotrijebite ga gore. Upotrijebite 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 obavijesti 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, to nije pouzdano. Upravo stvoreni webhook ima kašnjenje od 15 minuta. Ali ne želimo čekati 15 minuta da znamo da nam kradu auto, 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 automatiziranje funkcije "provjeri sada" IFTTT-a, koja prisiljava iznenadnu provjeru okidača i pokreće obavijest za manje od 1 sekunde! Molim:)
Nakon što ste negdje postavili svoj python kôd, samo ga pokrenite. Ako ste profesionalni korisnik, neka to počne pri pokretanju poslužitelja. Pogledajte mnoštvo besplatnih vodiča na internetu 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 s 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 pokrenuti novi projekt na temelju SDK -a google maps, ovako:
ionic start myapp maps
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 poslužitelj, poput https://yourserver/car2.png. Trebat će vam oni kao oznake u 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 (sve js).
dodajte svoju platformu ovako:
ionski add plaftorm android
graditi ovako:
ionska gradnja 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 Xcodeu i izgraditi za svoj telefon. Ako nemate račun razvojnog programera za iOS, morat ćete priključiti telefon na Xcode i postaviti telefon za razvoj kako biste mogli tamo instalirati aplikaciju. To je izvan opsega ovog uputstva.
U različitim js datotekama morat ćete pronaći retke 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 zapravo biste mogli "osjetiti" ako ste u automobilu, pa se GPS sustav 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čeni:
Kompaktni senzor vremena s GPRS (SIM karticom) podatkovna veza: 4 koraka
Kompaktni vremenski senzor s GPRS (SIM karticom) podatkovna veza: sažetak projekta Ovo je vremenski osjetnik na baterije koji se temelji na BME280 osjetniku temperature/tlaka/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
Vodič za modul A9G GPS i GPRS - Ai-mislilac - AT naredbe: 7 koraka
A9G GPS i GPRS modul Vodič | Ai-mislilac | AT naredbe: Hej, što ima, dečki! Akarsh ovdje iz CETech -a. Danas ćemo proći kroz A9G GPS, GSM i GPRS modul iz AI Thinkera. Postoji i nekoliko drugih modula, poput A9 i A6 iz AI Thinkera 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 reći o jednoj verziji izgradnje sigurnosnog nadzornog sustava s detektorom pokreta i slanja fotografija u poštanski sandučić putem 3G/GPRS štita. Ovaj članak temelji se na ostale upute: upute 1 i upute
Arduino i SIM900 GSM GPRS 3G bilježenje temperature i vlažnosti, mobilna statistika: 4 koraka
Arduino i SIM900 GSM GPRS 3G bilježenje temperature i vlažnosti, mobilna statistika: Pomoću Arduino UNO R3, SIM900 Shield 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 putem GPRS -a: Kako poslati podatke na poslužitelj pomoću modula SIM900A: 4 koraka
TCP/IP veza putem GPRS -a: Kako poslati podatke na poslužitelj pomoću modula SIM900A: U ovom vodiču ću vam reći kako poslati podatke na TCP poslužitelj pomoću modula sim900. Također ćemo vidjeti kako možemo primati podatke od poslužitelja do klijenta (GSM modul)