Cuprins:

Tracker GPS de casă în timp real (SIM800L, Ublox NEO-6M, Arduino): 8 pași
Tracker GPS de casă în timp real (SIM800L, Ublox NEO-6M, Arduino): 8 pași

Video: Tracker GPS de casă în timp real (SIM800L, Ublox NEO-6M, Arduino): 8 pași

Video: Tracker GPS de casă în timp real (SIM800L, Ublox NEO-6M, Arduino): 8 pași
Video: Prezentare Microfon Spion cu GPS tracker iUni GF11, GSM, GPS ai Ascultare in timp real 2024, Noiembrie
Anonim
Tracker GPS în timp real de casă (SIM800L, Ublox NEO-6M, Arduino)
Tracker GPS în timp real de casă (SIM800L, Ublox NEO-6M, Arduino)

Deci ai un modul GSM așezat ca mine? De asemenea, un GPS-tracker?

Gândim la fel!

În acest instructable, voi încerca să vă ghidez cum să vă atingeți obiectivul din perspectiva unui începător.

Deoarece nu aveam cunoștințe anterioare de inginerie electrică (pentru a fi sincer, proiectul nu are nevoie de atât de mult, dar nah) și nu aveam nici o idee despre cum să fac un dispozitiv care pompează date în timp real către un server web, am întâmpinat numeroase probleme. Totuși, în cele din urmă am reușit să pun lucrurile la punct.

Deci, în acest tutorial, vreau să subliniez greșelile pe care le poate face un starter și să construiesc proiectul în consecință.

Amintiți-vă: fiți întotdeauna atenți în timp ce lucrați cu electricitate!

NOTĂ: Nu sunt profesionist. Este posibil ca codul să nu fie suficient de sofisticat pentru toate nevoile dvs. Proiectul este intenționat să fie un „proiect hobby”, dar! a funcționat pentru mine. Și dacă ar funcționa pentru mine, ar funcționa și pentru tine!

Pasul 1: premise

Condiții prealabile
Condiții prealabile
Condiții prealabile
Condiții prealabile
Condiții prealabile
Condiții prealabile

MODUL GSM - SIM800L

  • Destul de mic, ușor de utilizat
  • Capabil să utilizeze internetul mobil (GPRS)
  • Ieftin

MODUL GPS - Ublox NEO6M

  • De asemenea, mic
  • Se descurcă foarte bine cu treaba sa

Un microcontroler - poate fi orice - ai putea folosi celebrul Arduino Uno sau Nano pentru a elibera spațiu

Baterie - am folosit o celulă 18650 ca sursă de alimentare principală și unică (nominală 3.7V)

Suport baterie - de ce? - deoarece lipirea unei baterii 18650 este destul de periculoasă din cauza căldurii.

DC-DC Boost Converter Step Up Module 5V - Trebuie să aibă, deoarece Arduino am folosit are nevoie de 5V

Instrumente, lucruri de bază care pot fi utile:

Sârme, lipitor, panou pentru testare

Pasul 2: Conceptul principal

Conceptul principal
Conceptul principal

Conceptul principal al sistemului este următorul:

Se compune din 3 părți:

  1. Un dispozitiv - care are coordonatele GPS adecvate și se poate conecta la un server de la distanță și îi poate trimite date
  2. Un server web - care poate primi date primite - le stochează - și servește alți clienți
  3. Platforma - unde putem vizualiza coordonatele - În mod ideal ar trebui să fie acum o aplicație mobilă sau un site web

Pasul 3: Modulul SIM800L

Modulul SIM800L
Modulul SIM800L
Modulul SIM800L
Modulul SIM800L

Am avut momente grele cu modulul.

Aș dori să încep cu câteva caracteristici și referințe.

Conform fișei tehnice:

  • Funcționează între 3.4V - 4.4V
  • Poate trimite SMS-uri, efectua apeluri vocale către alte telefoane și chiar se poate conecta la Internet!
  • Putem comunica cu acesta prin comenzi AT!
  • Poate folosi până la 2A la orele de vârf! Notă: probabil că nu îl veți putea măsura cu un multimetru - din cauza ratelor sale mici de eșantionare

Experiența mea este că SIM800L sub 3.8V nu funcționează cu adevărat.

Pentru informații suplimentare, vizitați: fișa tehnică

Deci, treaba ta este să furnizezi cel puțin 3,8 V modulului (în mod ideal 4 V), o sursă de alimentare care scoate cel puțin 2 A.

Înainte de a utiliza modulul în dispozitivul final, vă sugerez să stabiliți comunicarea cu SIM800L și computerul dvs. pentru a vă asigura că dispozitivul dvs. funcționează corect.

Mai întâi, conectați cartela SIM ca în imaginea de mai sus.

Pentru a-l conecta la computer, puteți utiliza un convertor USB în TTL sau un Arduino.

Acum, merg cu Arduino.

Conectați SIM800L VCC și GND la terminalele sursei de alimentare.

Conectați TX la pinul digital Arduino 10th, RX la pinul digital arduino 11.

Descărcați codul, l-am legat în acest pas.

Cu codul, puteți trimite comenzi și le puteți recupera, pe monitorul dvs. serial.

Câteva comenzi simple:

AT Revine OK, dacă conexiunea este OK.

ATD + 123456789; Apelați un număr de telefon dat. Notă: Nu uitați să o încheiați cu un punct și virgulă.

AT + CPIN? Returnează starea cartelei SIM (blocat sau nu)

Dacă doriți să trimiteți un SMS, trebuie să încheiați intrarea cu un caracter special, se poate face cu simbolul „$”.

Pentru alte comenzi interesante, vă sugerez să citiți acest lucru.

Există diverse comenzi, familiarizați-vă cu ele, sunt foarte utile.

Există un LED de stare roșu care vă spune în ce operațiune se află SIM800L.

64 MS ON - 800MS OFF - SIM800L nu este înregistrat în rețea.

64 MS ON - 3000MS OFF - SIM800L este înregistrat în rețea.

64 MS ON - 300MS OFF - SIM800l este în modul GPRS

Dacă SIM800L continuă să repornească după aproximativ 8-10 clipește, se poate datora lipsei unei surse de alimentare eficiente.

Dacă nu reușiți OK după AT, verificați cablarea! Dacă aveți un multimetru, verificați continuitatea firelor.

Verificați conexiunile firelor și îmbinărilor de lipit! Modulul va funcționa numai când clipește.

Pasul 4: Ublox Neo 6m

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

Unele caracteristici

  • Tensiune maximă: 3,6 V - L-am alimentat cu pinul Arduino de 3,3 V
  • Extragerea maximă de curent este de 67mA - astfel încât să o puteți alimenta de la arduino
  • Interval de temperatură: -40-85 Celsius (cred că vă va potrivi)

Unitatea pe care am comandat-o a venit cu o antenă văzută pe imagine, doar o conectez în slotul corespunzător.

Când dispozitivul are semnale, clipește cu LED albastru.

Mai întâi, verificați cum funcționează un GPS aici, dacă nu știți.

Când dispozitivul este pornit și găsește 3 sateliți, acesta trimite o mulțime de valori separate prin virgulă către Arduino ca mai sus.

Pentru a ne ajuta treaba, putem folosi unele biblioteci externe pentru a analiza aceste date pentru a fi mai ușor de citit de către oameni.

Puteți utiliza biblioteca TinyGps sau biblioteca NeoGPS. L-am folosit pe cel de-al doilea pentru că este mai ușor.

Pentru testare, trebuie să conectați pinii de alimentare la arduino 3.3V și GND.

Descărcați acest cod și utilizați-l cu GPS-ul. Pinul digital RX 10, pinul digital TX 11

Notă: Nu uitați să utilizați modulul în aer liber, de preferință atunci când nu există nor.

După o jumătate de minut, dispozitivul ar trebui să clipească și să afișeze coordonatele GPS!:)

Odată ce știți că SIM800L și modulul GPS funcționează adecvat, puteți trece la pasul următor.

Pasul 5: Circuite

Circuite
Circuite

Circuitul este ca în imagine.

Deci, bateria 3.4V - 4.2V 18650 este principala sursă de alimentare. Sim800L obține energia direct din ea. Există un condensator între ele în paralel pentru a îmbunătăți stabilitatea circuitului.

Când alegeți un condensator, ar trebui să alegeți un capactior ESR scăzut.

Un convertor step-up de 5V crește tensiunea bateriei la 5V (este nevoie de ir deoarece Arduino funcționează cu 5V).

Sina electrică de 5V este conectată aici la Nano. Sim800L și Neo6m sunt conectate cu Nano ca în imagine. (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)

D12 este conectat la RST, deci putem să repornim sistematic sistemul (cu excepția SIM800L). NOTĂ: Este posibil ca această metodă de repornire să nu fie cea mai bună practică)

Și, în cele din urmă, două LED-uri sunt conectate la NANO, astfel încât să putem spune utilizatorului dacă se întâmplă vreo eroare.

Pasul 6: Cod

Codul este atașat la Instructables sau aruncă o privire la github.

Puteți să-l modificați pentru a funcționa corect pentru nevoile dvs. sau puteți utiliza codul altora, dacă doriți.

waitUntilResponse (); funcția de ajutor a fost preluată din codul său. Verifică-i munca și codifică și el!

Pe scurt, în funcția de configurare, trebuie să activăm conexiunea GPRS a modulului nostru SIM800L. Știm dacă are succes dacă LED-ul clipește rapid. (setupGPRSConnection ())

În funcția buclă - la fiecare 15 secunde se apelează funcția sendData () - care are cererea

Am folosit șiruri de interogare pentru a trimite date către serverul web în acest format:

adresa IP / fișier.php? cheie = valoare & cheie = valoare de ex.

Dacă se întâmplă vreo eroare, LED-ul corespunzător se va aprinde. (SIM, GPS)

Pasul 7: Webserver

Webserver
Webserver

Pentru utilizarea noastră, este suficient un simplu server web ușor.

Există câteva opțiuni din care puteți alege:

  1. Puteți utiliza un server la distanță al unei companii, pe care probabil trebuie să îl plătiți în mod regulat.
  2. Puteți folosi propriul computer. Îl sugerez doar pentru testare, nu este chiar eficient să îl rulezi 24/7, din cauza consumului de energie, a problemelor de siguranță.
  3. Ați putea folosi un computer mic, cum ar fi Raspberry PI. Ușor, ieftin, nu consumă multă energie.

Am încercat a doua și a treia opțiune, au funcționat bine. Ei bine, scopul principal nu este serverele acestui instructabil, dar vă sugerez câteva sfaturi.

Dacă utilizați un PC, utilizați probabil Windows. Dacă aș fi în locul tău, aș instala un server Apache sau XAMPP pe el.

XAMPP are deja PHP în el, pe lângă faptul că vine și cu HTML, Perl și un sistem de gestionare a bazelor de date. Cu PHP, puteți crea un server dinamic. Dacă doriți să utilizați serverul local pe care tocmai l-ați creat de oriunde în lume, trebuie să atribuiți IP static computerului dvs. și să efectuați un portforwarding. Un tutorial util pentru IP static:

Și întregul lucru de portforwarding:

Dacă aveți un zmeură, este o practică bună să-l utilizați. Vă puteți familiariza cu comenzile Linux și puteți rula propriul server 24/7.

Sistemul de operare era Raspbian Jessie cu o configurare fără cap (fără tastatură, monitor) - L-am controlat cu computerul meu cu conexiune SSH.

Am folosit Putty pentru a mă conecta la Raspberry. Nu uitați să modificați parola contului, astfel încât alte persoane să nu se poată conecta la dvs. Pi. Implicit este: pi, passw: zmeură.

Am instalat un server web lighttpd cu sqlite3. Tutorial bun găsit aici:

Am folosit în principal PHP în codul serverului. Cu PHP puteți primi date, citi / scrie baze de date - codificați o interogare într-un format json etc. Acest tutorial vă va ajuta foarte mult, cum să vă gestionați baza de date cu PHP.

Puteți vizualiza codul meu și pe github, în folderul server_files.

Și, desigur, trebuie să activați redirecționarea porturilor către Pi pe router, dacă doriți să accesați acest lucru de la distanță.

Pasul 8: Încheiere / Experiență

O incintă este încă de făcut.

Experiența mea este că sistemul nu funcționează prea rău. Dar există îmbunătățiri ale stabilității care așteaptă.

Dacă trackerul nu a funcționat cu codul pe care l-am atașat, nu vă faceți griji. Încercați să vă asigurați că SIM800L și NEO 6M funcționează așa cum ar trebui. Puteți modifica codul liber sau puteți căuta unul mai bun. Sper doar să vă pot arăta un exemplu despre cum puteți finaliza acest proiect.

Accept orice sfat, corectare din comentarii. Simte-te liber să întrebi.

Recomandat: