Innehållsförteckning:
- Tillbehör
- Steg 1: Ursprunglig status
- Steg 2: BerryGPS-GSM & Raspberry Pi Zero
- Steg 3: Plats och hastighetsöversikt
Video: GPS-spårning i realtid: 3 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Av elizabethnaFölj mer av författaren:
I denna handledning kommer vi att visa dig hur du gör platsspårning i realtid med en BerryGPS-GSM, en Raspberry Pi Zero och Initial State. Vi kommer att skicka longitud, latitud och hastighet via 3G med BerryGPS-GSM till Initial State.
Tillbehör
- Hallon Pi Zero
- BerryGPS-GSM
- Initialtillstånd
Steg 1: Ursprunglig status
Vi vill strömma alla våra longitud-, latitud- och hastighetsdata till en molntjänst och få den tjänsten att göra våra data till en trevlig instrumentpanel som vi kan komma åt från vår bärbara dator eller mobila enhet. Vi kommer att använda Initial State.
Steg 1: Registrera dig för det ursprungliga statskontot
Gå till https://iot.app.initialstate.com och skapa ett nytt konto. Du får en 14 dagars gratis provperiod och alla med en edu -e -postadress kan registrera sig för en gratis studentplan.
Steg 2: Installera ISStreamer
Installera Initial State Python -modulen på din Raspberry Pi. Kör följande kommando i kommandotolken:
$ cd/home/pi/
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
Steg 3: Gör lite Automagic
Efter steg 2 ser du något som liknar följande utmatning till skärmen:
pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: Börjar ISStreamer Python Enkel installation! Det kan ta ett par minuter att installera, ta lite kaffe:) Men glöm inte att komma tillbaka, jag har frågor senare! Hittade easy_install: setuptools 1.1.6 Hittade pip: pip 1.5.6 från /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: 5 ISStreamer hittades, uppdateras … Kravet är redan uppdaterat: ISStreamer i bibliotek/Python/2.7/platspaket Rengöring … Vill du automatiskt få ett exempelskript? [y/N] Var vill du spara exemplet? [standard:./is_example.py] Vänligen välj vilken Initial State -app du använder: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com Ange val 1 eller 2: Ange iot.app.initialstate.com användarnamn: Ange iot.app.initialstate.com lösenord:
På frågan om du automatiskt vill få ett exempelskript sätt "y" för ja och tryck på enter för att spara ditt skript på standardplatsen. För frågan om vilken app du använder, välj 2 (om du inte registrerade dig före november 2018) och ange ditt användarnamn och lösenord.
Steg 4: Kör exempelskriptet
Kör testskriptet för att se till att vi kan skapa en dataström till ditt Initial State -konto. Skriv följande kommando:
$ python är_exempel.py
Steg 5: Exempeldata
Gå tillbaka till ditt ursprungliga statskonto i din webbläsare. En ny datahink som heter "Python Stream Exempel" borde ha dykt upp till vänster i din logghylla (du kan behöva uppdatera sidan). Klicka på den här hinken för att se dina data.
Steg 2: BerryGPS-GSM & Raspberry Pi Zero
Om du använder en BerryGPS-GSM kan du följa den här guiden för att få GPS: en att fungera och få din Pi att ansluta via 3G med PPP.
Den länkade guiden visar också hur du får din Pi att ansluta till bärarens nätverk automatiskt när den startas. Du behöver detta om du planerar att utföra fjärrspårning.
Installera bibliotek
Du måste installera följande bibliotek:
$ sudo apt-get install python-pip
$ sudo pip installera pynmea2 $ sudo pip installera ISStreamer
Huvud Python Script
Här skapar vi huvudskriptet som kommer att strömma GPS -data till ursprungsläge. Koden nedan skapar en separat tråd som används för att övervaka den seriella porten. Detta behövs eftersom vi har en paus i huvudslingan. Pausen är där för att begränsa hur mycket data vi laddar upp över 3G.
Om vi gjorde allt i samma tråd under pausen skulle seriebufferten fyllas (det är FIFO) och när vi får nästa värde från bufferten blir den gammal med några sekunder. Detta händer varje slinga och så småningom kommer data att ligga minuter eller timmar efter.
För att skapa python -skriptet och öppna textredigeraren anger du följande kommando:
$ nano GPStracker.py
Kopiera och klistra in följande kod i textredigeraren. Du måste ange din Initial State Access Key på rad 11 där det står "ENTER DIN ACCESS KEY":
#! /usr/bin/pythonfrå gps import * från tid import * import trådning import datetime från ISStreamer. Streamer import Streamer gpsd = Ingen #Setup global variabel #Setup Initial State stream, ange din åtkomstnyckel nedan streamer = Streamer (bucket_name = "GPS_Tracker ", bucket_key =" GPS_TRACKER ", access_key =" ENTER DIN ACCESS KEY ") klass GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring det i omfattning gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True #Start running this thread def run (self): global gpsd while gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # skapa en tråd för att samla in data försök: gpsdThread.start () # starta den medan True: skriv ut 'GPS', gpsd.utc, 'CPU-tid->', datetime.datetime.now ().time (), if (gpsd.fix.longitude0) och (gpsd.fix.longitude'nan '): streamer.log ("Location", "{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)."
Spara och avsluta textredigeraren genom att trycka på CTRL + X, Y, enter.
Starta skriptet automatiskt vid start
Om du gör fjärrövervakning skulle du vilja att skriptet körs vid start. För att göra detta skapar vi ett litet skript som startar huvudpythonprogrammet. Ange följande kommando:
$ nano GPStrackerStart.sh
Kopiera raderna till textredigeraren:
#!/bin/bash
sova 15 python /home/pi/GPStracker.py &
Pausen ovan är där för att ge Pi tid att starta och ansluta via PPP.
Gör skriptet körbart:
$ chmod +x ~/GPStrackerStart.sh
Vi kommer att använda cron för att starta manuset varje gång Pi startar:
$ crontab -e
Lägg till raden nedan till botten:
@reboot /home/pi/GPStrackerStart.sh &
Steg 3: Plats och hastighetsöversikt
Nu när du har ditt projekt igång ska data skickas till ursprungsläget. Du har GPS -data och hastighetsdata. Du kan använda GPS -data i en kartor för att spåra plats. För kartplattan, se till att du markerar kryssrutan Rita sökväg så att din platsspårning kartläggs som instrumentpanelen ovan. Du kan lägga dina hastighetsdata i ett linjediagram för att se hastigheten över tiden.
Rekommenderad:
Hur man använder en klockmodul i realtid (DS3231): 5 steg
Hur man använder en realtidsklockemodul (DS3231): DS3231 är en billig, extremt exakt I2C-realtidsklocka (RTC) med en integrerad temperaturkompenserad kristalloscillator (TCXO) och kristall. Enheten har en batteriingång och upprätthåller exakt tidtagning när huvudströmmen till
Hur man gör luftfuktighet och temperatur i realtid Data Recorder med Arduino UNO och SD-kort - DHT11 Datalogger Simulering i Proteus: 5 steg
Hur man gör luftfuktighet och temperatur i realtid Data Recorder med Arduino UNO och SD-kort | DHT11 Datalogger Simulering i Proteus: Introduktion: hej, det här är Liono Maker, här är YouTube-länk. Vi gör kreativa projekt med Arduino och arbetar med inbäddade system.Data-Logger: En datalogger (även datalogger eller dataregistrator) är en elektronisk enhet som registrerar data över tid med
Enhetsigenkänning i realtid med EM-fotavtryck: 6 steg
Realtidsenhetsigenkänning med EM-fotavtryck: Denna enhet är avsedd att klassificera olika elektroniska enheter enligt deras EM-signaler. För olika enheter har de olika EM -signaler som avges av den. Vi har utvecklat en IoT -lösning för att identifiera elektroniska enheter med hjälp av Particle
MicroPython-program: Uppdatera Corona Disease (COVID-19) -data i realtid: 10 steg (med bilder)
MicroPython-program: Uppdatera Corona Disease (COVID-19) -data i realtid: Under de senaste veckorna har antalet bekräftade fall av coronavirussjukdom (COVID 19) överstigit 100 000 och världshälsoorganisationen (WHO) har deklarerat nya coronavirus -lunginflammation utbrott för att vara en global pandemi. Jag var väldigt
Hemlagad GPS-tracker i realtid (SIM800L, Ublox NEO-6M, Arduino): 8 steg
Hemlagad GPS-spårare i realtid (SIM800L, Ublox NEO-6M, Arduino): Så du har en GSM-modul som ligger som jag? Också en GPS-tracker? Vi tycker detsamma! I dessa instruktioner kommer jag att försöka vägleda dig hur du uppnår ditt mål från en nybörjars perspektiv.Eftersom jag inte hade någon tidigare elektroteknisk kunskap (för att