Tartalomjegyzék:
- Kellékek
- 1. lépés: Kezdeti állapot
- 2. lépés: BerryGPS-GSM és Raspberry Pi Zero
- 3. lépés: Hely és sebesség irányítópult
Videó: Valós idejű GPS nyomkövetés: 3 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Kövesse a szerző további információit:
Ebben az oktatóanyagban megmutatjuk, hogyan lehet valós idejű helykövetést végezni egy BerryGPS-GSM, egy Raspberry Pi Zero és a kezdeti állapot használatával. Hosszúságot, szélességet és sebességet 3G-n keresztül küldünk a BerryGPS-GSM-rel a kezdeti állapotba.
Kellékek
- Raspberry Pi Zero
- BerryGPS-GSM
- Kezdeti állapot
1. lépés: Kezdeti állapot
Szeretnénk az összes hosszúság-, szélességi és sebességadatunkat felhőszolgáltatásba közvetíteni, és ez a szolgáltatás az adatainkat egy szép irányítópulttá alakítani, amelyet laptopunkról vagy mobileszközünkről érhetünk el. A kezdeti állapotot fogjuk használni.
1. lépés: Regisztráljon a kezdeti államfiókhoz
Lépjen a https://iot.app.initialstate.com oldalra, és hozzon létre egy új fiókot. 14 napos ingyenes próbaidőszakot kap, és bárki, aki rendelkezik e -mail címmel, regisztrálhat egy ingyenes tanulói előfizetésre.
2. lépés: Telepítse az ISStreamert
Telepítse a Kezdeti állapot Python modult a Raspberry Pi -re. A parancssorban futtassa a következő parancsot:
$ cd/home/pi/
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
3. lépés: Készítsen néhány automatikus eszközt
A 2. lépés után a következő kimenethez hasonlót lát a képernyőn:
pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bash Jelszó: Az ISStreamer Python egyszerű telepítése! Ennek telepítése eltarthat pár percig, igyon egy kávét:) De ne felejtse el visszajönni, később kérdéseim lesznek! Talált easy_install: setuptools 1.1.6 Talált pip: pip 1.5.6 a /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip fő verzióból: 1 pip minor verzió: 5 Az ISStreamer megtalálható, frissítés … A követelmény már naprakész: ISStreamer a Könyvtárban/Python/2.7/site-csomagok Tisztítás … Szeretne automatikusan példaszkriptet kapni? [y/N] Hova szeretné menteni a példát? [alap::.initialstate.com felhasználónév: Írja be az iot.app.initialstate.com jelszót:
Amikor a program megkérdezi, hogy szeretne -e automatikusan példaszkriptet kapni, írja be az "y" -t igenre, és nyomja le az enter billentyűt, hogy elmentse a szkriptet az alapértelmezett helyre. Ha azt a kérdést szeretné feltenni, hogy melyik alkalmazást használja, válassza a 2 lehetőséget (hacsak nem regisztrált 2018 novembere előtt), és adja meg felhasználónevét és jelszavát.
4. lépés: Futtassa a példa szkriptet
Futtassa a teszt szkriptet, hogy megbizonyosodjon arról, hogy adatfolyamot tudunk létrehozni a kezdeti állapotú fiókjához. Írja be a következő parancsot:
$ python is_example.py
5. lépés: Példaadatok
Térjen vissza a kezdeti állapotú fiókjához a böngészőben. A „Python Stream Example” nevű új adatcsoportnak meg kellett jelennie a napló polcának bal oldalán (előfordulhat, hogy frissítenie kell az oldalt). Kattintson erre a csoportra az adatok megtekintéséhez.
2. lépés: BerryGPS-GSM és Raspberry Pi Zero
Ha BerryGPS-GSM-et használ, kövesse ezt az útmutatót, hogy működőképessé tegye a GPS-t, és elérje, hogy a Pi 3G-n keresztül csatlakozzon a PPP segítségével.
A linkelt útmutató azt is bemutatja, hogyan lehet elérni, hogy a Pi automatikusan csatlakozzon a hordozóhálózathoz indításkor. Erre akkor lesz szüksége, ha távkövetést tervez.
Telepítse a Könyvtárakat
A következő könyvtárakat kell telepítenie:
$ sudo apt-get install python-pip
$ sudo pip install pynmea2 $ sudo pip install ISStreamer
Fő Python -szkript
Itt létrehozzuk a fő szkriptet, amely a GPS adatokat a kezdeti állapotba továbbítja. Az alábbi kód külön szálat hoz létre, amelyet a soros port megfigyelésére használnak. Erre azért van szükség, mert szünet van a fő hurokban. A szünet korlátozza a 3G -n keresztül feltöltött adatok mennyiségét.
Ha a szünet alatt mindent ugyanabban a szálban csinálnánk, akkor a soros puffer megtelik (ez FIFO), és amikor megkapjuk a következő értéket a pufferből, néhány másodperccel régi lesz. Ez minden ciklusban megtörténik, és végül az adatok percekkel vagy órákkal elmaradnak.
A python parancsfájl létrehozásához és a szövegszerkesztő megnyitásához írja be a következő parancsot:
$ nano GPStracker.py
Másolja ki és illessze be a következő kódot a szövegszerkesztőbe. Meg kell adnia a kezdeti állapothoz való hozzáférési kulcsot a 11. sorban, ahol az „ENTER YOUR ACCESS GYOMB” megadása:
#! /usr/bin/pythonfrom gps import * from time import * import threading import datetime from ISStreamer. Streamer import Streamer gpsd = Nincs #Setup global variable #Setup the Initial State stream, írja be a hozzáférési kulcsot a streamer = Streamer (bucket_name = "GPS_Tracker) ", bucket_key =" GPS_TRACKER ", access_key =" ENTER ACCESS KEY ") osztályú GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring it in range gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True #Indítsa el ezt a szálat def def (self): global gpsd while gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # hozzon létre egy szálat adatgyűjtéshez próbálja ki: gpsdThread.start () # indítsa el, miközben igaz: print "GPS", gpsd.utc, "CPU time->", datetime.datetime.now ().time (), if (gpsd.fix.longitude0) és (gpsd.fix.longitude'nan '): streamer.log ("Location", "{lat}, {lon}". format (lat = gpsd.fix.szélesség, lon = gpsd.fix.longitu de)) streamer.log ("sebesség", gpsd.fix.speed) print "lat", gpsd.fix.latitude, print "lon", gpsd.fix.longitude, print "speed", gpsd.fix.speed sleep (5) (kivéve (KeyboardInterrupt, SystemExit)): # amikor megnyomja a ctrl+c billentyűkombinációt, nyomtatja a "\ nTéma megölése …" gpsdThread.running = False gpsdThread.join () # várjon, amíg a szál befejezi a nyomtatást "Kész. / NExiting."
Mentse el és lépjen ki a szövegszerkesztőből, és nyomja le a CTRL + X, Y billentyűt.
Indítsa el automatikusan a szkriptet rendszerindításkor
Ha távfelügyeletet végez, szeretné, ha a szkript rendszerindításkor futna. Ehhez létrehozunk egy kis szkriptet, amely elindítja a fő python programot. Írja be a következő parancsot:
$ nano GPStrackerStart.sh
Másolja a sorokat a szövegszerkesztőbe:
#!/bin/bash
sleep 15 python /home/pi/GPStracker.py &
A fenti szünet azért van, hogy a Pi -nek ideje legyen a PPP -n keresztüli indításhoz és csatlakozáshoz.
A szkript végrehajthatóvá tétele:
$ chmod +x ~/GPStrackerStart.sh
A cron segítségével indítjuk el a szkriptet minden alkalommal, amikor a Pi elindul:
$ crontab -e
Adja hozzá az alábbi sort az aljához:
@reboot /home/pi/GPStrackerStart.sh &
3. lépés: Hely és sebesség irányítópult
Most, hogy elkészült és fut a projekt, az adatokat a kezdeti állapotba kell küldeni. GPS- és sebességadatok lesznek. A GPS -adatokat egy térképcsempében használhatja a hely követésére. A térképcsempéknél feltétlenül jelölje be az Útvonal rajzolása jelölőnégyzetet, hogy a helykövetés a fenti irányítópulthoz hasonlóan legyen leképezve. A sebességadatokat vonaldiagramba helyezheti, hogy lássa a sebességet az idő múlásával.
Ajánlott:
Valós idejű óra modul használata (DS3231): 5 lépés
Valós idejű óramodul (DS3231) használata: A DS3231 egy olcsó, rendkívül pontos I2C valós idejű óra (RTC), beépített hőmérséklet-kompenzált kristályoszcillátorral (TCXO) és kristállyal. A készülék akkumulátor -bemenettel rendelkezik, és pontos időmérést tart fenn, amikor a fő áramellátás
Valós idejű Rubik-kocka bekötött szemű megoldó a Raspberry Pi és az OpenCV használatával: 4 lépés
Valós idejű Rubik-kocka bekötött szemű megoldó a Raspberry Pi és az OpenCV használatával: Ez a Rubik kockaeszköz 2. verziója, bekötött szemmel történő megoldásra. Az első verziót a javascript fejlesztette ki, láthatja a RubiksCubeBlindfolded1 projektet. Az előzőtől eltérően ez a verzió az OpenCV könyvtárat használja a színek és az
Valós idejű kút vízszintmérő: 6 lépés (képekkel)
Valós idejű kútvízszint-mérő: Ezek az utasítások leírják, hogyan lehet olcsó, valós idejű vízszintmérőt készíteni ásott kutakban való használatra. A vízszintmérőt úgy tervezték, hogy egy ásott kút belsejében lógjon, naponta egyszer mérje a vízszintet, és WiFi -n vagy mobilkapcsolaton keresztül küldje el az adatokat
Valós idejű kútvíz-hőmérséklet, vezetőképesség és vízszintmérő: 6 lépés (képekkel)
Valós idejű kútvíz-hőmérséklet-, vezetőképesség- és vízszintmérő: Ezek az utasítások leírják, hogyan lehet olcsó, valós idejű vízmérőt készíteni a hőmérséklet, az elektromos vezetőképesség (EC) és a vízszint figyelésére ásott kutakban. A mérőt úgy tervezték, hogy egy ásott kút belsejében lógjon, mérje a víz hőmérsékletét, EC és
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): 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 (