Tartalomjegyzék:

Valós idejű GPS nyomkövetés: 3 lépés
Valós idejű GPS nyomkövetés: 3 lépés

Videó: Valós idejű GPS nyomkövetés: 3 lépés

Videó: Valós idejű GPS nyomkövetés: 3 lépés
Videó: MINI GPS NYOMKÖVETŐ AUTÓBA/ TESZT 2024, November
Anonim

Kövesse a szerző további információit:

Tök Pi trükk-vagy-csemegekövető
Tök Pi trükk-vagy-csemegekövető
Tök Pi trükk-vagy-csemegekövető
Tök Pi trükk-vagy-csemegekövető
Hogyan építsünk egy Raspberry Pi hőmérséklet -figyelőt
Hogyan építsünk egy Raspberry Pi hőmérséklet -figyelőt
Hogyan építsünk egy Raspberry Pi hőmérséklet -figyelőt
Hogyan építsünk egy Raspberry Pi hőmérséklet -figyelőt
Adatok továbbítása a Google Táblázatokból az Irányítópultra
Adatok továbbítása a Google Táblázatokból az Irányítópultra
Adatok továbbítása a Google Táblázatokból az Irányítópultra
Adatok továbbítása a Google Táblázatokból az Irányítópultra

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

Kezdeti állapot
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

BerryGPS-GSM és Raspberry Pi Zero
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

Hely és sebesség irányítópult
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: