Kazalo:

Domači GPS sledilnik v realnem času (SIM800L, Ublox NEO-6M, Arduino): 8 korakov
Domači GPS sledilnik v realnem času (SIM800L, Ublox NEO-6M, Arduino): 8 korakov

Video: Domači GPS sledilnik v realnem času (SIM800L, Ublox NEO-6M, Arduino): 8 korakov

Video: Domači GPS sledilnik v realnem času (SIM800L, Ublox NEO-6M, Arduino): 8 korakov
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Julij
Anonim
Domači GPS sledilnik v realnem času (SIM800L, Ublox NEO-6M, Arduino)
Domači GPS sledilnik v realnem času (SIM800L, Ublox NEO-6M, Arduino)

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

Predpogoji
Predpogoji
Predpogoji
Predpogoji
Predpogoji
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
Glavni koncept

Glavni koncept sistema je naslednji:

Sestavljen je iz 3 delov:

  1. Naprava - ki ima ustrezne GPS -koordinate in se lahko na daljavo poveže s strežnikom in nanj pošlje podatke
  2. Spletni strežnik - ki lahko sprejema dohodne podatke - jih shrani - in služi drugim odjemalcem
  3. Platforma - kjer si lahko ogledamo koordinate - V idealnem primeru bi morala biti zdaj mobilna aplikacija ali spletno mesto

3. korak: Modul SIM800L

Modul SIM800L
Modul SIM800L
Modul SIM800L
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

Ublox Neo 6m
Ublox Neo 6m
Ublox Neo 6m
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

Vezja
Vezja

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

Spletni strežnik
Spletni strežnik

Za našo uporabo zadostuje preprost lahek spletni strežnik.

Izbirate lahko med nekaterimi možnostmi:

  1. Uporabite lahko oddaljeni strežnik podjetja, za katerega boste verjetno morali redno plačevati.
  2. 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.
  3. 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: