Sadržaj:
- Korak 1: Preduvjeti
- Korak 2: Glavni koncept
- Korak 3: Modul SIM800L
- Korak 4: Ublox Neo 6m
- Korak 5: Strujna kola
- Korak 6: Kodiranje
- Korak 7: Web poslužitelj
- Korak 8: Kraj/iskustvo
Video: Domaći GPS tracker u stvarnom vremenu (SIM800L, Ublox NEO-6M, Arduino): 8 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
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
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 sustava je sljedeći:
Sastoji se od 3 dijela:
- Uređaj - koji ima odgovarajuće GPS koordinate i može se daljinski povezati s poslužiteljem i na njega slati podatke
- Web poslužitelj - koji može primati dolazne podatke - pohranjuje ih - i služi drugim klijentima
- Platforma - na kojoj možemo vidjeti koordinate - Idealno bi sada trebala biti mobilna aplikacija ili web stranica
Korak 3: 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
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
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
Za našu upotrebu dovoljan je jednostavan lagani web poslužitelj.
Postoji nekoliko opcija koje možete izabrati:
- Mogli biste koristiti udaljeni poslužitelj neke tvrtke, za koji vjerojatno morate redovito plaćati.
- 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.
- 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:
Kako napraviti snimač podataka o vlažnosti i temperaturi u stvarnom vremenu s Arduino UNO i SD karticom - DHT11 Simulator zapisivača podataka u Proteusu: 5 koraka
Kako napraviti snimač podataka o vlažnosti i temperaturi u stvarnom vremenu s Arduino UNO i SD karticom | Simulacija DHT11 zapisničara u Proteusu: Uvod: Bok, ovdje Liono Maker, ovdje je veza na YouTube. Radimo na kreativnom projektu s Arduinom i radimo na ugrađenim sustavima. Zapisnik podataka: Zapisnik podataka (ujedno i zapisnik podataka ili snimač podataka) je elektronički uređaj koji bilježi podatke tijekom vremena s
COVID-19 Tracker u stvarnom vremenu za ESP32: 3 koraka
COVID-19 Praćenje u stvarnom vremenu za ESP32: Ovaj mali alat za praćenje pomoći će vam da budete u toku s epidemijom koronavirusa i situacijom u vašoj zemlji. Zaslon prikazuje izmjenične trenutne podatke iz različitih zemalja po vašem izboru. Podatke prikuplja web stranica www.wo
Stvaranje sata s M5stick C pomoću Arduino IDE -a - RTC sat u stvarnom vremenu s M5stack M5stick-C: 4 koraka
Stvaranje sata s M5stick C pomoću Arduino IDE -a | RTC sat u stvarnom vremenu s M5stack M5stick-C: Zdravo dečki, u ovim uputama naučit ćemo kako napraviti sat s m5stick-C razvojnom pločom m5stack koristeći Arduino IDE. Dakle, m5stick će prikazati datum, vrijeme i amp; tjedan u mjesecu na ekranu
GPS praćenje u stvarnom vremenu: 3 koraka
GPS praćenje u stvarnom vremenu: U ovom vodiču pokazat ćemo vam kako pratiti praćenje lokacije u stvarnom vremenu pomoću BerryGPS-GSM-a, Raspberry Pi nule i početnog stanja. Poslat ćemo zemljopisnu dužinu, širinu i brzinu putem 3G-a s BerryGPS-GSM-om u početno stanje
Kako napraviti sat u stvarnom vremenu pomoću Arduino i TFT zaslona - Arduino Mega RTC s 3,5 -inčnim TFT zaslonom: 4 koraka
Kako napraviti sat u stvarnom vremenu koristeći Arduino i TFT zaslon | Arduino Mega RTC sa 3,5-inčnim TFT zaslonom: Posjetite moj Youtube kanal. Uvod:- U ovom postu napravit ću "Sat u stvarnom vremenu" koristeći 3,5-inčni TFT LCD zaslon osjetljiv na dodir, Arduino Mega 2560 i DS3231 RTC modul … .Prije početka … provjerite videozapis s mog YouTube kanala..Napomena:- Ako koristite Arduin