Kazalo:
- 1. korak: Predpogoji
- 2. korak: Glavni koncept
- 3. korak: Modul SIM800L
- 4. korak: Ublox Neo 6m
- 5. korak: Vezje
- 6. korak: Koda
- 7. korak: Spletni strežnik
- 8. korak: Konec/Izkušnje
Video: Domači GPS sledilnik v realnem času (SIM800L, Ublox NEO-6M, Arduino): 8 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Torej imaš GSM modul, ki leži tako kot jaz? Tudi GPS-sledilnik?
Enako mislimo!
V teh navodilih vas bom poskušal voditi z vidika novinca, kako doseči svoj cilj.
Ker nisem imel predhodnega znanja o elektrotehniki (če sem iskren, projekt ne potrebuje toliko, ampak ne) in nisem imel pojma, kako narediti napravo, ki podatke v realnem času črpa na spletni strežnik, sem naletel na številne težave. Kljub temu mi je sčasoma uspelo stvari spraviti v red.
Zato želim v tej vadnici poudariti napake, ki jih lahko naredi starter, in temu ustrezno dograditi projekt.
Ne pozabite: Vedno bodite previdni pri delu z elektriko!
OPOMBA: Nisem profesionalec. Koda morda ni dovolj izpopolnjena za vse vaše potrebe. Projekt naj bi bil "hobi projekt", ampak! pri meni je delovalo. In če bi delovalo zame, bi delovalo tudi pri vas!
1. korak: Predpogoji
GSM MODUL - SIM800L
- Precej majhen, enostaven za uporabo
- Možnost uporabe mobilnega interneta (GPRS)
- Poceni
GPS MODUL - Ublox NEO6M
- Tudi majhna
- Svoje delo opravlja zelo dobro
Mikrokrmilnik - lahko je karkoli - lahko uporabite znani Arduino Uno ali Nano, da sprostite nekaj prostora
Baterija - kot glavni in edini vir napajanja sem uporabil celico 18650 (nominalnih 3,7 V)
Nosilec baterije - zakaj? - ker je spajkanje baterije 18650 zaradi vročine precej nevarno.
Modul za povečanje DC -DC pretvornika za povečanje 5V - Mora imeti, saj uporabljani Arduino potrebuje 5V
Orodja, osnovne stvari, ki vam lahko pridejo prav:
Žice, spajkalnik, plošča za testiranje
2. korak: Glavni koncept
Glavni koncept sistema je naslednji:
Sestavljen je iz 3 delov:
- Naprava - ki ima ustrezne GPS -koordinate in se lahko na daljavo poveže s strežnikom in nanj pošlje podatke
- Spletni strežnik - ki lahko sprejema dohodne podatke - jih shrani - in služi drugim odjemalcem
- Platforma - kjer si lahko ogledamo koordinate - V idealnem primeru bi morala biti zdaj mobilna aplikacija ali spletno mesto
3. korak: Modul SIM800L
Z modulom sem imel težke čase.
Začel bi z nekaterimi značilnostmi in referencami.
Glede na podatkovni list:
- Deluje med 3.4V in 4.4V
- Lahko pošilja SMS, opravlja glasovne klice na druge telefone in se celo poveže z internetom!
- Z njim lahko komuniciramo prek ukazov AT!
- V času največje porabe lahko uporablja do 2A! Opomba: verjetno ga ne boste mogli izmeriti z multimetrom - zaradi nizkih vzorcev
Moje izkušnje so, da SIM800L pod 3,8 V v resnici ne deluje.
Za več informacij obiščite: podatkovni list
Vaša naloga je torej, da modulu zagotovite vsaj 3,8 V (idealno 4V), napajalnik, ki oddaja vsaj 2A.
Preden uporabite modul v končni napravi, predlagam, da vzpostavite komunikacijo s kartico SIM800L in računalnikom, da se prepričate, da naprava deluje pravilno.
Najprej priključite kartico SIM, kot je prikazano na zgornji sliki.
Če ga želite povezati z računalnikom, lahko uporabite pretvornik USB v TTL ali Arduino.
Zdaj grem z Arduinom.
Priključite SIM800L VCC in GND na sponke vira napajanja.
Priključite TX na 10. digitalni zatič Arduino, RX na 11. digitalni zatič arduino.
Prenesite kodo, ki sem jo povezal v tem koraku.
S kodo lahko na serijski monitor pošljete ukaze in jih dobite nazaj.
Nekaj preprostih ukazov:
AT Vrne v redu, če je povezava v redu.
ATD+123456789; Pokličite na določeno telefonsko številko. Opomba: Ne pozabite ga končati s podpičjem.
AT+CPIN? Vrne stanje kartice SIM (zaklenjeno ali ne)
Če želite poslati SMS, morate vnos zaključiti s posebnim znakom, to lahko storite s simbolom '$'.
Za nadaljnje zanimive ukaze vam predlagam, da to preberete.
Obstajajo različni ukazi, spoznajte se z njimi, res so uporabni.
Obstaja rdeča LED -lučka stanja, ki vam pove, v kakšnem delovanju je SIM800L.
64 MS ON - 800MS OFF - SIM800L ni registriran v omrežju.
64 MS ON - 3000MS OFF - SIM800L je registriran v omrežju.
64 MS ON - 300MS OFF - SIM800l je v načinu GPRS
Če se SIM800L po približno 8-10 utripah znova zažene, je to morda posledica pomanjkanja učinkovitega napajanja.
Če po AT -u ne pride v redu, preverite ožičenje! Če imate multimeter, preverite neprekinjenost žic.
Preverite povezave žic in spajkalnih spojev! Modul bo deloval le, če utripa.
4. korak: Ublox Neo 6m
Nekatere značilnosti
- Največja napetost: 3,6 V - Napajal sem ga z Arduinovim 3,3 V zatičem
- Največji trenutni tok je 67 mA - zato ga lahko napajate iz arduina
- Temperaturno območje: -40-85 Celzija (mislim, da vam bo ustrezalo)
Enota, ki sem jo naročil, je opremljena z anteno, prikazano na sliki, le priključim jo v ustrezno režo.
Naprava, ko ima signale, utripa z modro LED.
Najprej preverite, kako GPS deluje tukaj, če ne veste.
Ko je naprava vklopljena in najde 3 satelite, pošlje v Arduino veliko vrednosti, ločenih z vejicami, kot je opisano zgoraj.
Za lažje delo lahko uporabimo nekatere zunanje knjižnice za razčlenitev teh podatkov, da bodo berljive za ljudi.
Uporabite lahko knjižnico TinyGps ali knjižnico NeoGPS. Uporabil sem drugega, ker je lažji.
Za preskušanje morate priključiti napajalne zatiče na arduino 3.3V in GND.
Prenesite to kodo in jo uporabite z GPS -om. RX digitalni pin 10, TX digitalni pin 11
Opomba: Ne pozabite uporabljati modula na prostem, po možnosti, kadar ni oblaka.
Po pol minute bi morala naprava utripati in prikazati vaše GPS koordinate!:)
Ko veste, da vaš modul SIM800L in GPS delujeta brezhibno, lahko nadaljujete z naslednjim korakom.
5. korak: Vezje
Vezje je kot na sliki.
Tako je 3.4V - 4.2V 18650 baterija glavni vir energije. Sim800L pridobiva energijo neposredno iz njega. Med njimi je paralell kondenzator, da se izboljša stabilnost vezja.
Ko izberete kondenzator, morate izbrati nizek ESR kondenzator.
En 5V povečevalni pretvornik poveča napetost baterije na 5V (ir je potreben, ker Arduino deluje s 5V).
Napetost 5V je priključena na Nano. Sim800L in Neo6m sta povezana z Nano, kot je prikazano na sliki. (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)
D12 je priključen na RST, zato lahko programsko znova zaženemo sistem (razen kartice SIM800L). OPOMBA: Ta način ponovnega zagona morda ni najboljša praksa)
Nazadnje sta na NANO priključeni dve LED diodi, tako da lahko uporabniku povemo, če se pojavi kakšna napaka.
6. korak: Koda
Koda je priložena Instructables ali si oglejte github.
Lahko ga spremenite, da bo pravilno deloval za vaše potrebe, ali pa uporabite drugo kodo, če želite.
waitUntilResponse (); pomožna funkcija je bila vzeta iz njegove kode. Preverite njegovo delo in kodirajte tudi!
Na kratko, v nastavitveni funkciji moramo omogočiti povezavo GPRS našega modula SIM800L. Vemo, ali je uspešen, če LED hitro utripa. (setupGPRSConnection ())
V funkciji zanke - vsakih 15 sekund se pokliče funkcija sendData () - ki ima zahtevo
Za pošiljanje podatkov na spletni strežnik sem uporabil niz poizvedb v tej obliki:
ip naslov/file.php? key = vrednost & key = vrednost npr.
Če pride do napake, zasveti ustrezna LED. (SIM, GPS)
7. korak: Spletni strežnik
Za našo uporabo zadostuje preprost lahek spletni strežnik.
Izbirate lahko med nekaterimi možnostmi:
- Uporabite lahko oddaljeni strežnik podjetja, za katerega boste verjetno morali redno plačevati.
- Lahko uporabite svoj računalnik. Predlagam ga samo za testiranje, zato ga zaradi varčevanja z energijo in varnosti ni resnično učinkovito izvajati 24 ur na dan.
- Uporabite lahko majhen računalnik, na primer Raspberry PI. Lahek, poceni in ne porabi veliko energije.
Poskusil sem drugo in tretjo možnost, dobro sta delovali. No, glavni cilj niso strežniki teh navodil, vendar vam svetujem nekaj nasvetov.
Če uporabljate računalnik, verjetno uporabljate Windows. Na vašem mestu bi namestil strežnik Apache ali XAMPP.
XAMPP že vsebuje PHP, poleg tega pa ima tudi HTML, Perl in sistem za upravljanje baz podatkov. S PHP lahko naredite dinamičen strežnik. Če želite uporabiti lokalni strežnik, ki ste ga pravkar ustvarili od koder koli po svetu, morate svojemu računalniku dodeliti statični IP in narediti nekaj posredovanja vrat. Koristna vadnica za statični IP:
In vsa zadeva s špedicijo:
Če imate malino, jo je dobro uporabiti. Lahko se seznanite z ukazi Linuxa in zaženete svoj strežnik 24 ur na dan.
OS je bil Raspbian Jessie z brezglavo nastavitvijo (brez tipkovnice, monitorja) - upravljal sem ga z računalnikom s povezavo SSH.
Uporabil sem Putty za prijavo v svojo malino. Ne pozabite spremeniti gesla računa, da se drugi ne bodo mogli prijaviti v vas Pi. Privzeto je: pi, passw: malina.
Namestil sem spletni strežnik lighttpd s sqlite3. Dober tutorial najdete tukaj:
V kodi strežnika sem uporabljal predvsem PHP. S PHP lahko prejemate podatke, berete/pišete baze podatkov - kodirate poizvedbo v format json itd. … Ta vadnica vam bo veliko pomagala pri upravljanju vaše baze podatkov s PHP.
Mojo kodo si lahko ogledate tudi na githubu, v mapi server_files.
Seveda morate na usmerjevalniku omogočiti posredovanje vrat do svojega Pi -ja, če želite do tega dostopati na daljavo.
8. korak: Konec/Izkušnje
Ograja še ni narejena.
Moje izkušnje so, da sistem ne deluje tako slabo. Vendar pa čakajo izboljšave stabilnosti.
Če sledilnik ne deluje s kodo, ki sem jo priložil, ne skrbite. Poskusite zagotoviti, da SIM800L in NEO 6M delujeta tako, kot bi morala. Svojo kodo lahko prosto spremenite ali pa poiščete boljšo. Upam, da vam bom lahko pokazal primer, kako lahko dokončate ta projekt.
Sprejemam vsak nasvet, popravek iz komentarjev. Vas prosimo, da vprašate.
Priporočena:
Namizni sledilnik COVID19 s uro! Sledilnik z napajanjem Raspberry Pi: 6 korakov
Namizni sledilnik COVID19 s uro! Raspberry Pi Powered Tracker: Vemo, da lahko kadar koli umremo, tudi jaz lahko umrem med pisanjem te objave, navsezadnje smo jaz, ti, vsi smo smrtniki. Zaradi pandemije COVID19 se je ves svet tresel. Vemo, kako to preprečiti, ampak hej! vemo, kako moliti in zakaj moliti, ali to počnemo
Kako narediti snemalnik podatkov o vlažnosti in temperaturi v realnem času z Arduino UNO in kartico SD - Simulacija zapisovalnika podatkov DHT11 v Proteusu: 5 korakov
Kako narediti snemalnik podatkov o vlažnosti in temperaturi v realnem času z Arduino UNO in kartico SD | Simulacija zapisovalnika podatkov DHT11 v Proteusu: Uvod: zdravo, to je Liono Maker, tukaj je povezava YouTube. Z Arduinom ustvarjamo projekt in delamo na vgrajenih sistemih. Data-Logger: Zapisovalnik podatkov (tudi zapisovalnik podatkov ali zapisovalnik podatkov) je elektronska naprava, ki sčasoma beleži podatke z
Sledilnik v realnem času COVID-19 za ESP32: 3 koraki
Sledilnik v realnem času COVID-19 za ESP32: Ta mali sledilnik vam bo pomagal biti na tekočem o izbruhu koronavirusa in razmerah v vaši državi. Na zaslonu so prikazani izmenični trenutni podatki različnih držav po vaši izbiri. Podatke zbira spletna stran www.wo
Sledilnik Covid19 v živo z uporabo ESP8266 in OLED - Nadzorna plošča Covid19 v realnem času: 4 koraki
Sledilnik Covid19 v živo z uporabo ESP8266 in OLED | Nadzorna plošča Covid19 v realnem času: Obiščite spletno mesto Techtronic Harsh: http: //techtronicharsh.com Povsod je ogromen izbruh novega koronavirusa (COVID19). Postalo je treba paziti na trenutni scenarij COVID-19 v svetu. Torej, ko sem bil doma, je bil to p
Sledenje GPS v realnem času: 3 koraki
Sledenje GPS v realnem času: V tej vadnici vam bomo pokazali, kako sledite lokaciji v realnem času z uporabo BerryGPS-GSM, Raspberry Pi Zero in začetnega stanja. Zemljepisno dolžino, zemljepisno širino in hitrost bomo poslali prek 3G z BerryGPS-GSM v začetno stanje