Sadržaj:

Domaći GPS tracker u stvarnom vremenu (SIM800L, Ublox NEO-6M, Arduino): 8 koraka
Domaći GPS tracker u stvarnom vremenu (SIM800L, Ublox NEO-6M, Arduino): 8 koraka

Video: Domaći GPS tracker u stvarnom vremenu (SIM800L, Ublox NEO-6M, Arduino): 8 koraka

Video: Domaći GPS tracker u stvarnom vremenu (SIM800L, Ublox NEO-6M, Arduino): 8 koraka
Video: Jednostavan, povoljan i moderan sustav za GPS praćenje vozila i imovine. 2024, Srpanj
Anonim
Domaći GPS tracker u stvarnom vremenu (SIM800L, Ublox NEO-6M, Arduino)
Domaći GPS tracker u stvarnom vremenu (SIM800L, Ublox NEO-6M, Arduino)

Znači imaš GSM modul koji leži poput mene? Također GPS-tragač?

Isto mislimo!

U ovom uputstvu pokušat ću vas uputiti kako postići novi cilj iz perspektive početnika.

Kako nisam imao prethodno znanje o elektrotehnici (da budem iskren, projektu ne treba toliko, ali ne), a nisam imao pojma ni kako napraviti uređaj koji upućuje podatke u stvarnom vremenu na web poslužitelj, naišao sam na brojne probleme. Ipak, na kraju sam uspio natjerati stvari da rade.

Dakle, u ovom vodiču želim naglasiti greške koje početnik može napraviti i u skladu s tim izgraditi projekt.

Upamtite: Uvijek budite oprezni dok radite s električnom energijom!

NAPOMENA: Nisam profesionalac. Kôd možda nije dovoljno sofisticiran za sve vaše potrebe. Namjera je projekta biti "hobi projekt", ali! meni je to uspjelo. A da je meni uspjelo, uspjelo bi i vama!

Korak 1: Preduvjeti

Preduvjeti
Preduvjeti
Preduvjeti
Preduvjeti
Preduvjeti
Preduvjeti

GSM MODUL - SIM800L

  • Prilično sićušan, jednostavan za korištenje
  • Mogućnost korištenja mobilnog interneta (GPRS)
  • Jeftino

GPS MODUL - Ublox NEO6M

  • Također mali
  • Vrlo dobro obavlja svoj posao

Mikrokontroler - može biti bilo što - mogli biste upotrijebiti poznati Arduino Uno ili Nano da oslobodite malo prostora

Baterija - Koristio sam 18650 ćeliju kao glavni i jedini izvor napajanja (nominalnih 3,7 V)

Držač baterije - zašto? - jer je lemljenje 18650 baterije prilično opasno zbog topline.

DC -DC pojačivački pretvarač, Modul za povećanje 5V - Mora imati, budući da je Arduino koji sam koristio trebao 5V

Alati, osnovne stvari koje vam mogu dobro doći:

Žice, lemilica, ploča za testiranje

Korak 2: Glavni koncept

Glavni koncept
Glavni koncept

Glavni koncept sustava je sljedeći:

Sastoji se od 3 dijela:

  1. Uređaj - koji ima odgovarajuće GPS koordinate i može se daljinski povezati s poslužiteljem i na njega slati podatke
  2. Web poslužitelj - koji može primati dolazne podatke - pohranjuje ih - i služi drugim klijentima
  3. Platforma - na kojoj možemo vidjeti koordinate - Idealno bi sada trebala biti mobilna aplikacija ili web stranica

Korak 3: Modul SIM800L

Modul SIM800L
Modul SIM800L
Modul SIM800L
Modul SIM800L

Bilo mi je teško s modulom.

Htio bih početi s nekim karakteristikama i referencama.

Prema podatkovnom listu:

  • Radi između 3.4V - 4.4V
  • Može slati SMS -ove, upućivati glasovne pozive na druge telefone, pa čak i povezati se s internetom!
  • S njim možemo komunicirati putem AT-naredbi!
  • Može koristiti do 2A u vrijeme najveće potrošnje! Napomena: vjerojatno ga nećete moći mjeriti multimetrom - zbog niskih stopa uzorkovanja

Moje iskustvo je da SIM800L ispod 3.8V zapravo ne radi.

Za dodatne informacije posjetite: podatkovni list

Dakle, vaš je posao opskrbiti modul s najmanje 3,8 V (idealno 4 V), napajanjem koje daje najmanje 2A.

Prije uporabe modula u posljednjem uređaju, predlažem da uspostavite komunikaciju sa svojim SIM800L i računalom kako biste bili sigurni da vaš uređaj radi ispravno.

Prvo, priključite SIM karticu kao na gornjoj slici.

Za povezivanje s računalom možete upotrijebiti USB u TTL pretvarač ili Arduino.

Sada idem s Arduinom.

Spojite SIM800L VCC i GND na priključke izvora napajanja.

Spojite TX na Arduino 10. digitalni pin, RX na arduino 11. digitalni pin.

Preuzmite kôd koji sam povezao u ovom koraku.

Pomoću koda možete poslati naredbe i vratiti ih na svoj serijski monitor.

Nekoliko jednostavnih naredbi:

AT Vraća u redu, ako je veza u redu.

ATD+123456789; Pozovite dati telefonski broj. Napomena: Ne zaboravite je završiti točkom -zarezom.

AT+CPIN? Vraća status SIM kartice (zaključana ili ne)

Ako želite poslati SMS, morate završiti unos posebnim znakom, što se može učiniti simbolom '$'.

Za daljnje zanimljive naredbe predlažem da ovo pročitate.

Postoje razne naredbe, upoznajte se s njima, zaista su korisne.

Postoji crvena LED lampica statusa koja vam govori u kakvoj je operaciji SIM800L.

64 MS ON - 800MS OFF - SIM800L nije registriran na mreži.

64 MS ON - 3000MS OFF - SIM800L je registriran na mreži.

64 MS ON - 300MS OFF - SIM800l je u GPRS načinu rada

Ako se SIM800L ponovno pokreće nakon otprilike 8-10 treptaja, to može biti posljedica nedostatka učinkovitog napajanja.

Ako nakon AT -a ne uspijete, provjerite ožičenje! Ako imate multimetar, provjerite kontinuitet žica.

Provjerite spojeve žica i lemnih spojeva! Modul će raditi samo kad treperi.

Korak 4: Ublox Neo 6m

Ublox Neo 6m
Ublox Neo 6m
Ublox Neo 6m
Ublox Neo 6m

Neke karakteristike

  • Maksimalni napon: 3.6V - Napajao sam ga s Arduinovim 3.3V pinom
  • Maksimalno strujno napajanje je 67mA - tako da ga možete napajati iz arduina
  • Raspon temperature: -40-85 Celzija (pretpostavljam da će vam odgovarati)

Jedinica koju sam naručio dolazi s antenom koja se vidi na slici, samo sam je priključio u odgovarajući utor.

Uređaj kada ima signale treperi plavom LED diodom.

Prvo provjerite kako GPS radi ovdje ako ne znate.

Kad je uređaj uključen i pronađe 3 satelita, šalje mnogo vrijednosti odvojenih zarezima na Arduino, kao što je gore navedeno.

Kako bismo olakšali svoj posao, možemo upotrijebiti neke vanjske knjižnice za raščlanjivanje ovih podataka kako bi bili čitljiviji ljudima.

Možete koristiti knjižnicu TinyGps ili NeoGPS. Koristio sam drugu jer je lakša.

Za testiranje morate priključiti pinove za napajanje na arduino 3.3V i GND.

Preuzmite ovaj kôd i upotrijebite ga sa svojim GPS -om. RX digitalni pin 10, TX digitalni pin 11

Napomena: Ne zaboravite koristiti modul na otvorenom, po mogućnosti kad nema oblaka.

Nakon pola minute uređaj bi trebao treptati i prikazati vaše GPS koordinate!:)

Kad znate da vaš SIM800L i GPS modul rade ispravno, možete prijeći na sljedeći korak.

Korak 5: Strujna kola

Strujna kola
Strujna kola

Krug je kao na slici.

Dakle, 3.4V - 4.2V 18650 baterija je glavni izvor napajanja. Sim800L dobiva energiju izravno iz njega. Paralelno između njih nalazi se kondenzator kako bi se poboljšala stabilnost kruga.

Kada odaberete kondenzator, trebali biste odabrati nizak ESR kondenzator.

Jedan pojačavač pretvarača od 5 V pojačava napon baterije na 5 V (potrebno je jer Arduino radi s 5 V).

Ovdje je 5 -voltna vodilica spojena na Nano. Sim800L i Neo6m povezani su s Nano -om kao na slici. (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)

D12 je spojen na RST, pa smo u mogućnosti programski ponovno pokrenuti sustav (osim SIM800L). NAPOMENA: Ova metoda ponovnog pokretanja možda nije najbolja praksa)

I na kraju, dvije LED diode su spojene na NANO, tako da možemo reći korisniku ako se dogodi neka greška.

Korak 6: Kodiranje

Kôd je u privitku Instructables ili pogledajte github.

Možete ga izmijeniti kako bi ispravno radio za vaše potrebe ili možete koristiti tuđi kod ako želite.

waitUntilResponse (); pomoćna funkcija preuzeta je iz njegovog koda. Provjerite njegov rad, i kodirajte također!

Ukratko, u funkciji postavljanja moramo omogućiti GPRS vezu našeg SIM800L modula. Znamo je li uspješno ako LED dioda brzo treperi. (setupGPRSConnection ())

U funkciji petlje - svakih 15 sekundi poziva se funkcija sendData () - koja ima HTTP zahtjev

Koristio sam nizove upita za prebacivanje podataka na web poslužitelj u ovom formatu:

ip adresa/datoteka.php? ključ = vrijednost & ključ = vrijednost npr.

Ako se dogodi bilo koja pogreška, odgovarajuća LED lampica će zasvijetliti. (SIM, GPS)

Korak 7: Web poslužitelj

Web poslužitelj
Web poslužitelj

Za našu upotrebu dovoljan je jednostavan lagani web poslužitelj.

Postoji nekoliko opcija koje možete izabrati:

  1. Mogli biste koristiti udaljeni poslužitelj neke tvrtke, za koji vjerojatno morate redovito plaćati.
  2. Mogli biste koristiti vlastito računalo. Predlažem ga samo za testiranje, nije ga učinkovito raditi 24 sata dnevno, 7 dana u tjednu, zbog rasipanja energije i sigurnosnih problema.
  3. Mogli biste koristiti maleno računalo, poput Raspberry PI. Lagan, jeftin, ne troši mnogo energije.

Probao sam drugu i treću opciju, dobro su radile. Pa, glavni cilj nisu poslužitelji ovih instrukcija, ali natuknut ću vam neke savjete.

Ako koristite računalo, vjerojatno koristite Windows. Na vašem mjestu bih na njega instalirao Apache ili XAMPP poslužitelj.

XAMPP već ima PHP u sebi, osim toga dolazi s HTML -om, Perlom i sustavom za upravljanje bazom podataka. Pomoću PHP -a možete napraviti dinamički poslužitelj. Ako želite koristiti lokalni poslužitelj koji ste upravo napravili s bilo kojeg mjesta u svijetu, morate dodijeliti statičku IP adresu svom računalu i izvršiti prosljeđivanje portova. Korisni vodič za statički IP:

I cijela stvar oko prosljeđivanja:

Ako imate malinu, dobra je praksa da je koristite. Možete se upoznati s naredbama Linuxa i pokrenuti vlastiti poslužitelj 24 sata dnevno.

OS je bio Raspbian Jessie s postavkom bez glave (bez tipkovnice, monitora) - kontrolirao sam ga sa svojim računalom sa SSH vezom.

Koristio sam Putty za prijavu na svoju malinu. Ne zaboravi promijeniti lozinku svog računa kako se drugi ne bi mogli prijaviti na tebe Pi. Zadano je: pi, passw: malina.

Instalirao sam lighttpd web poslužitelj sa sqlite3. Ovdje možete pronaći dobar vodič:

Koristio sam uglavnom PHP u poslužiteljskom kodu. Pomoću PHP -a možete primati podatke, čitati/pisati baze podataka - kodirati upit u json format itd. … Ovaj će vam vodič puno pomoći u upravljanju bazom podataka pomoću PHP -a.

Moj kôd možete pogledati i na githubu, u mapi server_files.

I naravno, morate omogućiti prosljeđivanje porta na svoj Pi na usmjerivaču, ako želite tome pristupiti daljinski.

Korak 8: Kraj/iskustvo

Ograda se tek treba napraviti.

Moje je iskustvo da sustav ne radi loše. No, čekaju se poboljšanja stabilnosti.

Ne brinite ako alat za praćenje nije radio s kodom koji sam priložio. Pokušajte provjeriti rade li SIM800L i NEO 6M kako bi trebali. Možete slobodno izmijeniti moj kôd ili potražiti bolji. Nadam se samo da bih vam mogao pokazati primjer kako možete dovršiti ovaj projekt.

Prihvaćam svaki savjet, ispravak iz komentara. Slobodno pitaj.

Preporučeni: