Taula de continguts:
- Subministraments
- Pas 1: estat inicial
- Pas 2: BerryGPS-GSM i Raspberry Pi Zero
- Pas 3: Ubicació i tauler de velocitat
Vídeo: Seguiment GPS en temps real: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Segueix-ne més per l'autor:
En aquest tutorial, us mostrarem com fer un seguiment de la ubicació en temps real mitjançant un BerryGPS-GSM, un Raspberry Pi Zero i un estat inicial. Enviarem longitud, latitud i velocitat via 3G amb el BerryGPS-GSM a l’estat inicial.
Subministraments
- Raspberry Pi Zero
- BerryGPS-GSM
- Estat inicial
Pas 1: estat inicial
Volem transmetre totes les nostres dades de longitud, latitud i velocitat a un servei al núvol i que aquest servei converteixi les nostres dades en un bonic tauler al qual puguem accedir des del nostre ordinador portàtil o dispositiu mòbil. Utilitzarem l’Estat inicial.
Pas 1: registreu-vos al compte estatal inicial
Aneu a https://iot.app.initialstate.com i creeu un compte nou. Obteniu una prova gratuïta de 14 dies i tothom que tingui una adreça de correu electrònic edu es pot inscriure a un pla d'estudiant gratuït.
Pas 2: instal·leu ISStreamer
Instal·leu el mòdul Initial State Python al vostre Raspberry Pi. A l'indicador d'ordres, executeu l'ordre següent:
$ cd / home / pi /
$ / curl -sSL https://get.initialstate.com/python -o - | sudo bash
Pas 3: feu Automagic
Després del pas 2, veureu una cosa similar a la següent sortida a la pantalla:
pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: Començant la instal·lació fàcil d'ISStreamer Python! Això pot trigar uns quants minuts a instal·lar-se, prendre un cafè:) Però no oblideu tornar, ja que tindré preguntes més endavant. Trobat easy_install: setuptools 1.1.6 Trobat pip: pip 1.5.6 de /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) versió major pip: 1 versió pip menor: 5 ISStreamer trobat, actualitzant-se … Requisit ja actualitzat: ISStreamer a Library / Python / 2.7 / site-packages Neteja … Voleu obtenir automàticament un exemple de script? [Sí / N] On voleu desar l'exemple? [predeterminat:./is_example.py] Seleccioneu l'aplicació Estat inicial que utilitzeu: 1. app.initialstate.com 2. [NOU!] iot.app.initialstate.com Introduïu l'opció 1 o 2: Introduïu iot.app Nom d'usuari de.initialstate.com: Introduïu la contrasenya iot.app.initialstate.com:
Quan se us demani si voleu obtenir automàticament un exemple de script, poseu "y" per sí i premeu Retorn per desar el script a la ubicació predeterminada. Per a la pregunta sobre quina aplicació utilitzeu, seleccioneu 2 (tret que us hàgiu registrat abans de novembre de 2018) i introduïu el vostre nom d'usuari i contrasenya.
Pas 4: executeu el script d’exemple
Executeu l'script de prova per assegurar-vos que podem crear un flux de dades al vostre compte d'estat inicial. Escriviu l'ordre següent:
$ python és_exemple.py
Pas 5: dades d'exemple
Torneu al vostre compte d’estat inicial al navegador web. A la part esquerra del prestatge de registre s’hauria d’haver aparegut un nou dipòsit de dades anomenat “Exemple de corrent de Python” (és possible que hagueu d’actualitzar la pàgina). Feu clic en aquest dipòsit per veure les vostres dades.
Pas 2: BerryGPS-GSM i Raspberry Pi Zero
Si feu servir un BerryGPS-GSM, podeu seguir aquesta guia per fer funcionar el GPS i aconseguir que el vostre Pi es connecti mitjançant 3G mitjançant PPP.
La guia enllaçada també mostra com fer que el vostre Pi es connecti automàticament a la xarxa de l’operador en arrencar. Ho necessitareu si teniu previst realitzar un seguiment remot.
Instal·leu biblioteques
Haureu d’instal·lar les biblioteques següents:
$ sudo apt-get install python-pip
$ sudo pip install pynmea2 $ sudo pip install ISStreamer
Script Python principal
Aquí crearem l'script principal que transmetrà les dades GPS a l'estat inicial. El codi següent crea un fil separat que s'utilitza per controlar el port sèrie. Això és necessari perquè tenim una pausa al bucle principal. La pausa és aquí per limitar la quantitat de dades que carreguem a través de 3G.
Si ho féssim tot en el mateix fil durant la pausa, el buffer sèrie s’ompliria (és FIFO) i quan obtinguem el següent valor del buffer, quedarà vell uns segons. Això passa cada bucle i, finalment, les dades es quedaran minuts o hores enrere.
Per crear l'script Python i obrir l'editor de text, introduïu l'ordre següent:
$ nano GPStracker.py
Copieu i enganxeu el següent codi a l'editor de text. Haureu d’introduir la vostra clau d’accés a l’estat inicial a la línia 11, on es diu "ENTRAR LA CLAU D'ACCÉS":
#! / usr / bin / pythonfrom gps import * from time import * import threading import datetime from ISStreamer. Streamer import Streamer gpsd = Cap #Setup variable global #Setup the Initial State stream, introduïu la vostra clau d'accés streamer = Streamer (bucket_name = "GPS_Tracker ", bucket_key =" GPS_TRACKER ", access_key =" ENTRAR LA CLAU D'ACCÉS ") classe GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring it in scope gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True #Inicia l'execució d'aquest fil d'execució de def (self): global gpsd mentre gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # crea un fil per recopilar dades proveu: gpsdThread.start () # inicieu-lo mentre és True: imprimiu 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now ().time (), if (gpsd.fix.longitude0) i (gpsd.fix.longitude'nan '): streamer.log ("Ubicació", "{lat}, {lon}". format (lat = gpsd.fix.latitude, lon = gpsd.fix.longitu de)) streamer.log ("speed", gpsd.fix.speed) print 'lat', gpsd.fix.latitude, print 'lon', gpsd.fix.longitude, print 'speed', gpsd.fix.speed sleep (5) exceptuant (KeyboardInterrupt, SystemExit): #quan pressiona ctrl + c imprimeix "\ nMateix el fil …" gpsdThread.running = Falso gpsdThread.join () # espera que el fil finalitzi el que està imprimint "Fet. / NSortint."
Deseu i sortiu de l’editor de text prement CTRL + X, Y, introduïu.
Inicieu l'script automàticament en arrencar
Si feu una supervisió remota, voldríeu que l'script s'executés a l'arrencada. Per fer-ho, crearem un petit script que iniciarà el programa python principal. Introduïu l'ordre següent:
$ nano GPStrackerStart.sh
Copieu les línies a l'editor de text:
#! / bin / bash
dormir 15 python /home/pi/GPStracker.py &
La pausa anterior hi és per donar temps al Pi a arrencar i connectar-se mitjançant PPP.
Feu que l'script sigui executable:
$ chmod + x ~ / GPStrackerStart.sh
Utilitzarem cron per iniciar el script cada cop que arrenci el Pi:
$ crontab -e
Afegiu la línia següent a la part inferior:
@reboot /home/pi/GPStrackerStart.sh &
Pas 3: Ubicació i tauler de velocitat
Ara que teniu el projecte en marxa i executant les dades hauríeu d'enviar-les a l'estat inicial. Tindreu dades GPS i dades de velocitat. Podeu utilitzar les dades GPS en un mosaic de mapes per fer un seguiment de la ubicació. Per al mosaic del mapa, assegureu-vos de marcar la casella de selecció Dibuixar ruta per tal que el seguiment de la vostra ubicació estigui assignat com el tauler de dalt. Podeu posar les vostres dades de velocitat en un gràfic lineal per veure la velocitat al llarg del temps.
Recomanat:
Seguiment i seguiment de botigues petites: 9 passos (amb imatges)
Track & trace per a botigues petites: es tracta d’un sistema dissenyat per a petites botigues que se suposa que es munta en bicicletes elèctriques o patinets electrònics per a lliuraments a curt abast, per exemple, una fleca que vulgui lliurar pastes. Què significa Track and Trace? Track and trace és un sistema utilitzat per ca
Kits de cotxes de seguiment de robots intel·ligents de bricolatge Seguiment fotosensible del cotxe: 7 passos
Kits de cotxes de seguiment de robots intel·ligents de bricolatge Seguiment del cotxe fotosensible: dissenyat per SINONING ROBOT Podeu comprar amb el robot de seguiment El xip LM393 compara els dos fotoresistors, quan hi ha un LED de fotoresistència lateral en BLANC, el costat del motor s'aturarà immediatament, l'altre costat del motor girar, de manera que
Time Cube: gadget de seguiment del temps Arduino: 6 passos
Time Cube: gadget de seguiment del temps Arduino: m'agradaria proposar-vos un projecte d'arduino senzill però realment útil per fer un seguiment dels esdeveniments temporals invertint algun gadget de cub intel·ligent. Gireu-lo a "Treball" > " Aprèn " > " Tasques " > " Descansa " costat i comptarà el
Rastrejador GPS casolà en temps real (SIM800L, Ublox NEO-6M, Arduino): 8 passos
Rastrejador GPS casolà en temps real (SIM800L, Ublox NEO-6M, Arduino): de manera que teniu un mòdul GSM com jo? També és un rastrejador GPS? Pensem el mateix! En aquest instructable, intentaré guiar-vos com assolir el vostre objectiu des de la perspectiva d'un novell. Com que no tenia coneixements previs d'enginyeria elèctrica (per
Brain Box: Seguiment del volum neuronal al llarg del temps: 20 passos
Brain Box: Seguiment del volum neuronal amb el pas del temps: l'avanç cap a la frontera de la vida humana més llarga ha provocat l'augment de malalties que les civilitzacions no han vist abans de la nostra. Entre aquests, l’Alzheimer va afectar aproximadament 5,3 milions d’americans ancians vius el 2017, o aproximadament 1 de cada 10 persones