Tartalomjegyzék:
- 1. lépés: Előfeltételek
- 2. lépés: Fő koncepció
- 3. lépés: A SIM800L modul
- 4. lépés: Ublox Neo 6m
- 5. lépés: Áramkörök
- 6. lépés: Kód
- 7. lépés: Webszerver
- 8. lépés: Befejezés/Tapasztalat
Videó: Házi valós idejű GPS nyomkövető (SIM800L, Ublox NEO-6M, Arduino): 8 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
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
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ó
A rendszer fő koncepciója a következő:
3 részből áll:
- Olyan eszköz - amely rendelkezik a megfelelő GPS -koordinátákkal, és távolról csatlakozhat egy szerverhez, és adatokat küldhet rá
- Egy webszerver - amely képes fogadni a bejövő adatokat - tárolja azokat - és kiszolgál más ügyfeleket
- 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
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
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
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
Felhasználásunkhoz elegendő egy egyszerű, könnyű webszerver.
Van néhány lehetőség, amelyek közül választhat:
- Használhat egy vállalat távoli szerverét, amelyért valószínűleg rendszeresen fizetnie kell.
- 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.
- 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:
Valós idejű grafikon rajzolása Androidon az Arduino-tól a HC-05-ig: 3 lépés
Valós idejű grafikon ábrázolása Androidon Arduino-tól HC-05-ig: Üdv, itt van egy oktatóanyag arról, hogyan lehet valós idejű grafikonot ábrázolni egy mikrovezérlőről, például egy Arduino-ról az alkalmazásra. Bluetooth-modult, például a HC-05-t használ üzenetküldő eszközként az adatok továbbítására és fogadására az Ar
Hogyan készítsünk páratartalmat és hőmérsékletet valós idejű adatrögzítővel Arduino UNO-val és SD-kártyával - DHT11 adatgyűjtő szimuláció a Proteusban: 5 lépés
Hogyan készítsünk páratartalmat és hőmérsékletet valós idejű adatrögzítővel Arduino UNO-val és SD-kártyával | DHT11 adatgyűjtő szimuláció a Proteusban: Bevezetés: szia, ez a Liono Maker, itt a YouTube link. Kreatív projektet készítünk az Arduino-val, és beágyazott rendszereken dolgozunk
COVID-19 Valós idejű nyomkövető az ESP32 számára: 3 lépés
COVID-19 Valós idejű nyomkövető ESP32-hez: Ez a kis nyomkövető segít naprakésznek lenni a koronavírus-járványról és az Ön országának helyzetéről. A kijelzőn váltakozva jelennek meg az Ön által választott országok aktuális adatai. Az adatokat a www.wo
Valós idejű GPS nyomkövetés: 3 lépés
Valós idejű GPS nyomkövetés: Ebben az oktatóanyagban megmutatjuk, hogyan lehet valós idejű helykövetést végezni BerryGPS-GSM, Raspberry Pi Zero és kezdeti állapot használatával. A hosszúságot, a szélességet és a sebességet 3G-n keresztül küldjük a BerryGPS-GSM segítségével a kezdeti állapotba
Valós idejű óra készítése Arduino és TFT kijelző használatával - Arduino Mega RTC 3,5 hüvelykes TFT kijelzővel: 4 lépés
Hogyan készítsünk valós idejű órát Arduino és TFT kijelző használatával | Arduino Mega RTC 3,5 hüvelykes TFT kijelzővel: Látogasson el a Youtube csatornámra. 2560 és DS3231 RTC modul… .Mielőtt elkezdené… ellenőrizze a videót a YouTube-csatornámról. Megjegyzés:- Ha Arduin-t használ