Obsah:

Domáci sledovač GPS v reálnom čase (SIM800L, Ublox NEO-6M, Arduino): 8 krokov
Domáci sledovač GPS v reálnom čase (SIM800L, Ublox NEO-6M, Arduino): 8 krokov

Video: Domáci sledovač GPS v reálnom čase (SIM800L, Ublox NEO-6M, Arduino): 8 krokov

Video: Domáci sledovač GPS v reálnom čase (SIM800L, Ublox NEO-6M, Arduino): 8 krokov
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Júl
Anonim
Domáci sledovač GPS v reálnom čase (SIM800L, Ublox NEO-6M, Arduino)
Domáci sledovač GPS v reálnom čase (SIM800L, Ublox NEO-6M, Arduino)

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

Predpoklady
Predpoklady
Predpoklady
Predpoklady
Predpoklady
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
Hlavný koncept

Hlavný koncept systému je nasledujúci:

Skladá sa z 3 častí:

  1. Zariadenie - ktoré má správne súradnice GPS a môže sa vzdialene pripojiť k serveru a odosielať naň údaje
  2. Webový server - ktorý môže prijímať prichádzajúce údaje - ukladať ich - a slúžiť ďalším klientom
  3. 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

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

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

Webový server
Webový server

Na naše použitie stačí jednoduchý ľahký webový server.

Môžete si vybrať z niekoľkých možností:

  1. Môžete použiť vzdialený server spoločnosti, za ktorý pravdepodobne musíte pravidelne platiť.
  2. 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.
  3. 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: