Obsah:
- Krok 1: Predpoklady
- Krok 2: Hlavný koncept
- Krok 3: Modul SIM800L
- Krok 4: Ublox Neo 6m
- Krok 5: Obvod
- Krok 6: Kód
- Krok 7: Webový server
- Krok 8: Koniec/Skúsenosti
Video: Domáci sledovač GPS v reálnom čase (SIM800L, Ublox NEO-6M, Arduino): 8 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Takže máte GSM modul ležiaci okolo ako ja? Tiež GPS tracker?
Myslíme si to isté!
V tomto návode sa vás pokúsim viesť, ako dosiahnuť svoj cieľ z pohľadu nováčika.
Keďže som nemal žiadne predchádzajúce znalosti v oblasti elektrotechniky (aby som bol úprimný, projekt nepotrebuje toľko, ale nie) a nemal som ani potuchy, ako vytvoriť zariadenie, ktoré pumpuje údaje v reálnom čase do webového servera, stretol som sa s mnohými problémami. Napriek tomu sa mi nakoniec podarilo dať veci do práce.
V tomto tutoriále chcem teda zdôrazniť chyby, ktorých sa štartér môže dopustiť, a podľa toho zostaviť projekt.
Pamätajte si: Pri práci s elektrinou buďte vždy opatrní!
POZNÁMKA: Nie som profesionál. Kód nemusí byť dostatočne sofistikovaný pre všetky vaše potreby. Cieľom projektu je „hobby projekt“, ale! mne to fungovalo. A keby to fungovalo mne, bude to fungovať aj vám!
Krok 1: Predpoklady
GSM MODUL - SIM800L
- Docela malý, ľahko použiteľný
- Možnosť používania mobilného internetu (GPRS)
- Lacné
GPS MODUL - Ublox NEO6M
- Tiež malé
- Svoju prácu zvláda veľmi dobre
Mikrokontrolér - môže to byť čokoľvek - na uvoľnenie miesta môžete použiť slávne Arduino Uno alebo Nano
Batéria - Ako hlavný a jediný zdroj energie som použil článok 18650 (nominálny 3,7 V)
Držiak batérie - prečo? - pretože spájkovanie batérie 18650 je kvôli teplu dosť nebezpečné.
Zosilňovač DC -DC zosilňovač, modul 5 V - musí mať, pretože Arduino, ktorý som použil, potrebuje 5 V
Nástroje, základné veci, ktoré sa môžu hodiť:
Drôty, spájkovačka, doštička na testovanie
Krok 2: Hlavný koncept
Hlavný koncept systému je nasledujúci:
Skladá sa z 3 častí:
- Zariadenie - ktoré má správne súradnice GPS a môže sa vzdialene pripojiť k serveru a odosielať naň údaje
- Webový server - ktorý môže prijímať prichádzajúce údaje - ukladať ich - a slúžiť ďalším klientom
- Platforma - kde môžeme vidieť súradnice - V ideálnom prípade by to teraz mala byť mobilná aplikácia alebo webová stránka
Krok 3: Modul SIM800L
Mal som ťažké časy s modulom.
Chcel by som začať niektorými charakteristikami a referenciami.
Podľa technického listu:
- Funguje medzi 3,4 V - 4,4 V.
- Dokáže odosielať SMS, uskutočňovať hlasové hovory na iné telefóny a dokonca sa pripojiť k internetu!
- Môžeme s ním komunikovať pomocou AT-príkazov!
- V špičkách môže používať až 2A! Poznámka: pravdepodobne ho nebudete môcť zmerať multimetrom - kvôli nízkym vzorkovacím frekvenciám
Mám skúsenosť, že SIM800L pod 3,8 V v skutočnosti nefunguje.
Bližšie informácie nájdete na: technickom liste
Vašou úlohou je teda poskytnúť modulu najmenej 3,8 V (ideálne 4 V), zdroj s výstupom najmenej 2 A.
Pred použitím modulu v konečnom zariadení navrhujem nadviazať komunikáciu so zariadením SIM800L a počítačom, aby ste sa presvedčili, že zariadenie funguje správne.
Najprv musíte zapojiť kartu SIM ako na obrázku vyššie.
Na prepojenie s počítačom môžete použiť prevodník USB na TTL alebo Arduino.
Teraz idem s Arduino.
Pripojte SIM800L VCC a GND k svorkám zdroja energie.
Pripojte TX k 10. digitálnemu pinu Arduino, RX k 11. digitálnemu pinu arduino.
Stiahnite si kód, ktorý som v tomto kroku prepojil.
Pomocou kódu môžete na sériový monitor odosielať príkazy a získať ich späť.
Niekoľko jednoduchých príkazov:
AT Vráti sa OK, ak je pripojenie v poriadku.
ATD+123456789; Zavolajte na uvedené telefónne číslo. Poznámka: Nezabudnite to ukončiť bodkočiarkou.
AT+CPIN? Vracia stav karty SIM (uzamknutý alebo nie)
Ak chcete odoslať SMS, musíte zadanie ukončiť špeciálnym znakom, môžete to urobiť symbolom '$'.
Ak chcete ďalšie zaujímavé príkazy, odporúčame vám prečítať si to.
Existujú rôzne príkazy, zoznámte sa s nimi, sú skutočne užitočné.
Červená stavová dióda LED informuje o tom, v akej prevádzke sa SIM800L nachádza.
64 MS ON - 800MS OFF - SIM800L nie je zaregistrovaný v sieti.
64 MS ON - 3000MS OFF - SIM800L je zaregistrovaný v sieti.
64 MS ON - 300MS OFF - SIM800l je v režime GPRS
Ak sa karta SIM800L reštartuje asi po 8 až 10 bliknutiach, môže to byť spôsobené nedostatočným efektívnym napájaním.
Ak sa vám po AT nedarí, skontrolujte zapojenie! Ak máte multimetr, skontrolujte kontinuitu vodičov.
Skontrolujte spojenia vodičov a spájkovacích spojov! Modul bude fungovať iba vtedy, keď bliká.
Krok 4: Ublox Neo 6m
Niektoré vlastnosti
- Maximálne napätie: 3,6 V - napájal som ho pinom 3,3 V Arduino
- Maximálny odber prúdu je 67 mA - môžete ho teda napájať z arduina
- Teplotný rozsah: -40-85 stupňov Celzia (hádam vám to pristane)
Objednaná jednotka sa dodáva s anténou viditeľnou na obrázku, ktorú som zapojil do zodpovedajúceho slotu.
Zariadenie, ktoré má signály, bliká modrou diódou LED.
Najprv si overte, ako tu funguje GPS, ak neviete.
Keď je zariadenie zapnuté a nájde 3 satelity, vyšle do Arduina veľa hodnôt oddelených čiarkou, ako je uvedené vyššie.
Na pomoc našej práci môžeme použiť niektoré externé libarary na analýzu týchto údajov, aby boli čitateľnejšie pre ľudí.
Môžete použiť knižnicu TinyGps alebo knižnicu NeoGPS. Použil som druhý, pretože je ľahší.
Na testovanie musíte pripojiť napájacie kolíky k arduino 3,3 V a GND.
Stiahnite si tento kód a použite ho s GPS. Digitálny kolík RX 10, digitálny kolík TX 11
Poznámka: Nezabudnite modul používať vonku, najlepšie vtedy, keď nie je žiadny mrak.
Po pol minúte by zariadenie malo blikať a vydať vaše GPS súradnice!:)
Keď zistíte, že váš modul SIM800L a modul GPS funguje adekvátne, môžete prejsť na ďalší krok.
Krok 5: Obvod
Obvod je ako na obrázku.
Batéria 3,4 V - 4,2 V 18650 je teda hlavným zdrojom energie. Sim800L získava energiu priamo z nej. Paralelne je medzi nimi kondenzátor, aby sa zlepšila stabilita obvodu.
Pri výbere kondenzátora by ste mali zvoliť nízku hodnotu ESR.
Jeden 5V zosilňovač zvyšuje napätie batérie na 5V (to je potrebné, pretože Arduino pracuje s 5V).
Tu je k Nano pripojená 5V napájacia lišta. Sim800L a Neo6m sú prepojené s Nano ako na obrázku. (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)
D12 je pripojený k RST, takže sme schopní programovo reštartovať systém (okrem SIM800L). POZNÁMKA: Táto metóda reštartu nemusí byť osvedčeným postupom)
A nakoniec, dve LED diódy sú pripojené k NANO, aby sme mohli používateľovi povedať, či sa vyskytne chyba.
Krok 6: Kód
Kód je priložený k pokynom alebo sa pozrite na github.
Môžete ho upraviť tak, aby správne fungoval pre vaše potreby, alebo môžete použiť kód iného, ak chcete.
waitUntilResponse (); pomocná funkcia bola prevzatá z jeho kódu. Skontrolujte jeho prácu a tiež kód!
Stručne povedané, vo funkcii nastavenia musíme povoliť pripojenie GPRS nášho modulu SIM800L. Ak je LED dióda rýchlo blikajúca, vieme, či je úspešná. (setupGPRSConnection ())
Vo funkcii slučky - každých 15 sekúnd sa volá funkcia sendData () - ktorá má požiadavku
Na odoslanie údajov na webový server som použil reťazce dotazov v tomto formáte:
ip adresa/file.php? key = hodnota & key = hodnota napr.
Ak dôjde k chybe, rozsvieti sa príslušná LED dióda. (SIM, GPS)
Krok 7: Webový server
Na naše použitie stačí jednoduchý ľahký webový server.
Môžete si vybrať z niekoľkých možností:
- Môžete použiť vzdialený server spoločnosti, za ktorý pravdepodobne musíte pravidelne platiť.
- Môžete použiť svoj vlastný počítač. Navrhujem to iba na testovanie, nie je skutočne efektívne ho prevádzkovať 24/7 kvôli plytvaniu energiou a bezpečnostným problémom.
- Môžete použiť malý počítač, napríklad Raspberry PI. Ľahký, lacný, nespotrebúva veľa energie.
Skúsil som 2. a 3. možnosť, fungovali dobre. Hlavným cieľom nie sú servery týchto pokynov, ale naznačujem vám niekoľko rád.
Ak používate počítač, pravdepodobne používate systém Windows. Na vašom mieste by som na neho nainštaloval server Apache alebo XAMPP.
XAMPP už má PHP, okrem toho obsahuje aj HTML, Perl a systém na správu databáz. S PHP môžete vytvoriť dynamický server. Ak chcete použiť lokálny server, ktorý ste práve vytvorili z ktoréhokoľvek miesta na svete, musíte svojmu počítaču priradiť statickú IP adresu a vykonať určité presmerovanie portov. Užitočný návod pre statickú IP adresu:
A celá vec prenášajúca porty:
Ak máte malinu, je vhodné ju používať. Môžete sa zoznámiť s príkazmi Linuxu a spustiť vlastný server 24/7.
OS bol Raspbian Jessie s bezhlavým nastavením (bez klávesnice, monitora) - ovládal som ho pomocou počítača s pripojením SSH.
Na prihlásenie do svojej maliny som použil Putty. Nezabudnite zmeniť heslo svojho účtu, aby sa do vás ostatní nemohli prihlásiť, Pi. Predvolené je: pi, passw: malina.
Nainštaloval som si webový server lighttpd s programom sqlite3. Dobrý návod nájdete tu:
V kóde servera som použil hlavne PHP. S PHP môžete prijímať údaje, čítať/zapisovať databázy - kódovať dotaz do formátu json atď. … Tento tutoriál vám veľmi pomôže pri správe databázy v PHP.
Môj kód si môžete pozrieť aj na github v priečinku server_files.
A samozrejme, musíte povoliť presmerovanie portov na svoj Pi na svojom smerovači, ak k tomu chcete pristupovať vzdialene.
Krok 8: Koniec/Skúsenosti
Ohrada sa ešte len chystá.
Mám skúsenosť, že systém nefunguje tak zle. Čakajú však vylepšenia stability.
Ak tracker nefungoval s kódom, ktorý som pripojil, nebojte sa. Skúste sa uistiť, že SIM800L a NEO 6M fungujú tak, ako by mali. Môj kód môžete voľne upravovať alebo hľadať lepší. Dúfam, že by som vám mohol ukázať príklad, ako môžete tento projekt dokončiť.
Prijímam každú radu, opravu z komentárov. Kľudne sa spýtaj.
Odporúča:
Stolový sledovač COVID19 s hodinami! Sledovač poháňaný Raspberry Pi: 6 krokov
Stolový sledovač COVID19 s hodinami! Raspberry Pi Powered Tracker: Vieme, že môžeme zomrieť kedykoľvek, dokonca aj ja môžem zomrieť pri písaní tohto príspevku, koniec koncov ja, ja, všetci sme smrteľníci. Celý svet sa otriasol kvôli pandémii COVID19. Vieme, ako tomu zabrániť, ale hej! vieme, ako sa modliť a prečo sa modliť, robíme
Vykreslenie grafu v reálnom čase pre Android od systému Arduino prostredníctvom krokov HC-05: 3
Vykreslenie grafu v reálnom čase pre Android od Arduina cez HC-05: Ahoj, tu je návod, ako vykresliť graf hodnôt v reálnom čase z mikroovládača, akým je napríklad Arduino, do aplikácie. Využíva modul Bluetooth, ako je HC-05, aby slúžil ako zariadenie na odosielanie správ na prenos a príjem údajov medzi
Ako vytvoriť záznamník vlhkosti a teploty v reálnom čase s Arduino UNO a kartou SD - Simulácia záznamníka údajov DHT11 v Proteuse: 5 krokov
Ako vytvoriť záznamník vlhkosti a teploty v reálnom čase s Arduino UNO a kartou SD | Simulácia záznamníka údajov DHT11 v Proteuse: Úvod: Ahoj, toto je Liono Maker, tu je odkaz na YouTube. Vytvárame kreatívny projekt s Arduino a pracujeme na vstavaných systémoch. Záznamník údajov: Záznamník údajov (tiež záznamník údajov alebo záznamník údajov) je elektronické zariadenie, ktoré zaznamenáva údaje v priebehu času
Živý sledovač Covid19 pomocou ESP8266 a OLED - Panel v reálnom čase Covid19: 4 kroky
Živý sledovač Covid19 pomocou ESP8266 a OLED | Informačný panel Covid19 v reálnom čase: Navštívte drsnú webovú stránku Techtronic: http: //techtronicharsh.com Všade tam, kde dochádza k obrovskému vypuknutiu nového koronavírusu (COVID19). Bolo nevyhnutné sledovať aktuálny scenár COVID-19 vo svete. Keďže som doma, toto bol
GPS sledovanie v reálnom čase: 3 kroky
Sledovanie GPS v reálnom čase: V tomto návode vám ukážeme, ako vykonávať sledovanie polohy v reálnom čase pomocou BerryGPS-GSM, Raspberry Pi Zero a počiatočného stavu. Zemepisnú dĺžku, šírku a rýchlosť pošleme cez 3G s BerryGPS-GSM do východiskového stavu