Tartalomjegyzék:

Házi valós idejű GPS nyomkövető (SIM800L, Ublox NEO-6M, Arduino): 8 lépés
Házi valós idejű GPS nyomkövető (SIM800L, Ublox NEO-6M, Arduino): 8 lépés

Videó: Házi valós idejű GPS nyomkövető (SIM800L, Ublox NEO-6M, Arduino): 8 lépés

Videó: Házi valós idejű GPS nyomkövető (SIM800L, Ublox NEO-6M, Arduino): 8 lépés
Videó: Sidló Csaba: Valós idejű GPS nyomkövetés házilag 2024, November
Anonim
Házi valós idejű GPS nyomkövető (SIM800L, Ublox NEO-6M, Arduino)
Házi valós idejű GPS nyomkövető (SIM800L, Ublox NEO-6M, Arduino)

Tehát van egy GSM modul, mint én? GPS nyomkövető is?

Ugyanezt gondoljuk!

Ebben az oktatóanyagban megpróbálom eligazítani Önt, hogyan érheti el célját egy kezdő szemszögéből.

Mivel nem rendelkeztem korábbi villamosmérnöki ismeretekkel (hogy őszinte legyek, a projektnek nem kell ennyi, de nem), és fogalmam sem volt, hogyan kell olyan eszközt készíteni, amely valós idejű adatokat szállít egy webszerverre, számos problémával találkoztam. Ennek ellenére végül sikerült működésbe hozni a dolgokat.

Tehát ebben az oktatóanyagban szeretném hangsúlyozni a kezdő hibákat, és ennek megfelelően felépíteni a projektet.

Ne feledje: Mindig legyen óvatos, amíg elektromos árammal dolgozik!

MEGJEGYZÉS: Nem vagyok profi. Lehet, hogy a kód nem elég kifinomult minden igényéhez. A projekt "hobbi projekt", de! nekem bevált. És ha nekem bevált, akkor neked is!

1. lépés: Előfeltételek

Előfeltételek
Előfeltételek
Előfeltételek
Előfeltételek
Előfeltételek
Előfeltételek

GSM MODUL - SIM800L

  • Nagyon apró, könnyen használható
  • Képes mobil internet (GPRS) használatára
  • Olcsó

GPS MODUL - Ublox NEO6M

  • Szintén kicsi
  • Nagyon jól kezeli a dolgát

Egy mikrokontroller - bármi lehet - a híres Arduino Uno vagy a Nano segítségével szabadíthat fel helyet

Akkumulátor - 18650 cellát használtam fő és egyetlen áramforrásként (névleges 3,7 V)

Akkumulátor tartó - miért? - mert az 18650 -es akkumulátor forrasztása elég veszélyes a hőség miatt.

DC -DC Boost Converter Step Up modul 5V - Kell, mivel az általam használt Arduino 5V -ot igényel

Eszközök, alapvető dolgok, amelyek jól jöhetnek:

Vezetékek, forrasztópáka, kenyérlap a teszteléshez

2. lépés: Fő koncepció

Fő koncepció
Fő koncepció

A rendszer fő koncepciója a következő:

3 részből áll:

  1. Olyan eszköz - amely rendelkezik a megfelelő GPS -koordinátákkal, és távolról csatlakozhat egy szerverhez, és adatokat küldhet rá
  2. Egy webszerver - amely képes fogadni a bejövő adatokat - tárolja azokat - és kiszolgál más ügyfeleket
  3. A platform - ahol megtekinthetjük a koordinátákat - Ideális esetben most egy mobilalkalmazásnak vagy egy weboldalnak kell lennie

3. lépés: A SIM800L modul

A SIM800L modul
A SIM800L modul
A SIM800L modul
A SIM800L modul

Nehéz időim voltak a modullal.

Szeretnék néhány jellemzővel és referenciával kezdeni.

Az adatlap szerint:

  • 3,4V - 4,4V között működik
  • SMS -t küldhet, hanghívásokat kezdeményezhet más telefonokra, és akár az internethez is csatlakozhat!
  • AT-parancsokon keresztül kommunikálhatunk vele!
  • Csúcsidőben akár 2A -ig is használható! Megjegyzés: valószínűleg nem fogja tudni multiméterrel mérni - alacsony mintavételi aránya miatt

Az a tapasztalatom, hogy a 3.8V alatti SIM800L nem igazán működik.

További információkért látogasson el az adatlapra

Tehát az Ön feladata, hogy legalább 3,8 V feszültséget biztosítson a modulnak (ideális esetben 4 V), amely legalább 2 A kimeneti teljesítményű.

Mielőtt a modult az utolsó eszközben használná, azt javaslom, hogy létesítsen kommunikációt a SIM800L készülékkel és a számítógéppel, hogy megbizonyosodjon arról, hogy az eszköz megfelelően működik.

Először is csatlakoztassa a SIM -kártyát, mint a fenti képen.

A számítógéphez való csatlakoztatáshoz használhat USB -TTL átalakítót vagy Arduino -t.

Most az Arduino -val megyek.

Csatlakoztassa a SIM800L VCC -t és a GND -t az áramforrás termináljaihoz.

Csatlakoztassa a TX -et az Arduino 10. digitális tűhöz, az RX -et az arduino 11. digitális tűhöz.

Töltse le a kódot, amelyet ebben a lépésben linkeltem.

A kóddal parancsokat küldhet és kérheti vissza a soros monitoron.

Néhány egyszerű parancs:

AT Visszaadja az OK gombot, ha a kapcsolat rendben van.

ATD+123456789; Hívjon egy megadott telefonszámot. Megjegyzés: Ne felejtse el pontosvesszővel befejezni.

AT+CPIN? Visszaadja a SIM -kártya állapotát (zárolva vagy nem)

Ha SMS -t szeretne küldeni, akkor a bevitelt speciális karakterrel kell befejeznie, ezt a „$” szimbólum segítségével teheti meg.

További érdekes parancsokhoz javaslom, hogy olvassa el ezt.

Különféle parancsok vannak, ismerkedjen meg velük, nagyon hasznosak.

A piros állapotjelző LED jelzi, hogy a SIM800L milyen üzemmódban van.

64 MS ON - 800MS OFF - A SIM800L nincs regisztrálva a hálózathoz.

64 MS BE - 3000MS KI - A SIM800L regisztrálva van a hálózathoz.

64 MS BE - 300MS KI - A SIM800l GPRS módban van

Ha a SIM800L 8-10 villogás után is újraindul, annak oka lehet a hatékony áramellátás hiánya.

Ha AT után nem megy minden rendben, ellenőrizze a kábelezést! Ha van multimétere, ellenőrizze a vezetékek folytonosságát.

Ellenőrizze a vezetékek és a forrasztási kötések csatlakozásait! A modul csak akkor működik, ha villog.

4. lépés: Ublox Neo 6m

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

Néhány jellemző

  • Maximális feszültség: 3,6 V - Arduino 3,3 V -os tűjével tápláltam
  • A maximális áramfelvétel 67mA - így az arduino -ról táplálhatja
  • Hőmérsékleti tartomány: -40-85 Celsius fok (gondolom illik hozzád)

A megrendelt egység a képen látható antennával érkezett, csak bedugom a megfelelő nyílásba.

Ha a készülék jeleket kap, kék LED villog.

Először ellenőrizze, hogyan működik a GPS itt, ha nem tudja.

Amikor a készülék be van kapcsolva, és 3 műholdat talál, sok vesszővel elválasztott értéket küld az Arduino -nak, mint fent.

Munkánk elősegítése érdekében néhány külső könyvtárat használva elemezzük ezeket az adatokat, hogy jobban olvashatóak legyenek.

Használhatja a TinyGps vagy NeoGPS könyvtárat. A másodikat használtam, mert ez könnyebb.

A teszteléshez a tápcsatlakozókat az arduino 3.3V és a GND -hez kell csatlakoztatni.

Töltse le ezt a kódot, és használja a GPS -szel. RX Digital pin 10, TX Digital pin 11

Megjegyzés: Ne felejtse el a modult a szabadban használni, lehetőleg akkor, ha nincs felhő.

Fél perc múlva a készüléknek villognia kell, és ki kell adnia a GPS -koordinátáit!:)

Ha már tudja, hogy a SIM800L és a GPS modul megfelelően működik, akkor folytassa a következő lépéssel.

5. lépés: Áramkörök

Áramkör
Áramkör

Az áramkör olyan, mint a képen.

Tehát a 3.4V - 4.2V 18650 akkumulátor a fő áramforrás. A Sim800L közvetlenül tőle kapja az energiát. Párhuzamosan van közöttük kondenzátor az áramkör stabilitásának javítása érdekében.

Amikor kondenzátort választ, alacsony ESR kapacitást kell választania.

Egy 5 V-os fokozatos átalakító növeli az akkumulátor feszültségét 5 V-ra (szükség van rá, mert az Arduino 5 V-al működik).

Az 5 V -os hálózati sín itt a Nano -hoz van csatlakoztatva. A Sim800L és a Neo6m a Nano -hoz van csatlakoztatva, mint a képen. (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)

A D12 csatlakozik az RST -hez, így képesek vagyunk a rendszert programozottan újraindítani (kivéve a SIM800L -t). MEGJEGYZÉS: Lehet, hogy ez az újraindítási módszer nem a legjobb gyakorlat)

És végül két LED csatlakozik a NANO -hoz, így elmondhatjuk a felhasználónak, ha bármilyen hiba történik.

6. lépés: Kód

A kód az Instructables -hez van csatolva, vagy nézze meg a github -ot.

Módosíthatja azt, hogy megfelelően működjön az Ön igényei szerint, vagy használhatja mások kódját, ha szeretné.

waitUntilResponse (); segítő funkcióját a kódjából vették át. Nézze meg a munkáját, és kódolja is!

Röviden, a beállítási funkcióban engedélyeznünk kell a SIM800L modulunk GPRS -kapcsolatát. Tudjuk, hogy sikeres -e, ha a LED gyorsan villog. (setupGPRSConnection ())

A hurokfüggvényben - 15 másodpercenként a sendData () függvényt hívják meg -, amely rendelkezik HTTP kéréssel

Lekérdezési karakterláncokat használtam az adatok webszerverre történő továbbítására ebben a formátumban:

ip cím/fájl.php? kulcs = érték & kulcs = érték pl.

Ha bármilyen hiba történik, a megfelelő LED kigyullad. (SIM, GPS)

7. lépés: Webszerver

Web szerver
Web szerver

Felhasználásunkhoz elegendő egy egyszerű, könnyű webszerver.

Van néhány lehetőség, amelyek közül választhat:

  1. Használhat egy vállalat távoli szerverét, amelyért valószínűleg rendszeresen fizetnie kell.
  2. Használhatja a saját számítógépét. Csak tesztelésre javaslom, nem igazán hatékony a nap 24 órájában működni, energiapazarlás, biztonsági problémák miatt.
  3. Használhat egy apró számítógépet, például a Raspberry PI -t. Könnyű, olcsó, nem fogyaszt sok energiát.

Kipróbáltam a második és a harmadik lehetőséget, jól működtek. Nos, a fő cél nem az utasítások szerverei, de néhány tanácsot adok.

Ha PC -t használ, valószínűleg Windows -t használ. A helyedben telepítenék rá egy Apache vagy XAMPP szervert.

Az XAMPP már tartalmaz PHP -t, emellett HTML -t, Perl -t és adatbáziskezelő rendszert is tartalmaz. A PHP segítségével dinamikus szervert készíthet. Ha a világ bármely pontjáról szeretné használni az éppen létrehozott helyi szervert, akkor statikus IP -t kell hozzárendelnie a számítógépéhez, és el kell végeznie néhány porttovábbítást. Hasznos bemutató a statikus IP -hez:

És az egész portréfutás:

Ha málnája van, jó gyakorlat használni. Megismerkedhet a Linux parancsokkal, és 24/7 futtathatja saját szerverét.

Az operációs rendszer Raspbian Jessie volt, fejetlen beállítással (billentyűzet, monitor nélkül) - SSH kapcsolattal rendelkező számítógéppel irányítottam.

A Putty segítségével bejelentkeztem a Raspberry -be. Ne felejtse el megváltoztatni fiókja jelszavát, hogy mások ne tudnak bejelentkezni Önbe Pi. Alapértelmezett: pi, passw: málna.

Telepítettem egy lighttpd webszervert sqlite3 -mal. Jó oktatóanyag itt található:

Főleg PHP -t használtam a szerver kódjában. A PHP segítségével adatokat fogadhat, adatbázisokat olvashat/írhat - lekérdezést json formátumba kódolhat, stb.

A kódomat a githubon is megtekintheti, a server_files mappában.

És természetesen engedélyeznie kell a port továbbítást a Pi -re az útválasztón, ha távolról szeretné elérni.

8. lépés: Befejezés/Tapasztalat

A burkolat elkészítése még várat magára.

Az a tapasztalatom, hogy a rendszer nem rosszul működik. De a stabilitás javítására várnak.

Ha a nyomkövető nem működött a csatolt kóddal, ne aggódjon. Próbálja meggyőződni arról, hogy a SIM800L és a NEO 6M megfelelően működnek. Szabadon módosíthatja a kódomat, vagy kereshet jobbat. Remélem, hogy tudok egy példát mutatni Önnek, hogyan tudja befejezni ezt a projektet.

Bármilyen tanácsot, javítást elfogadok a megjegyzésekből. Nyugodtan kérdezz.

Ajánlott: