Innehållsförteckning:

GPS-spårning i realtid: 3 steg
GPS-spårning i realtid: 3 steg

Video: GPS-spårning i realtid: 3 steg

Video: GPS-spårning i realtid: 3 steg
Video: TicWatch PRO 3 ULTRA GPS: Things To Know // How Accurate Is It? 2024, November
Anonim

Av elizabethnaFölj mer av författaren:

Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Hur man bygger en Raspberry Pi temperaturmätare
Hur man bygger en Raspberry Pi temperaturmätare
Hur man bygger en Raspberry Pi temperaturmätare
Hur man bygger en Raspberry Pi temperaturmätare
Strömma data från Google Kalkylark till en instrumentpanel
Strömma data från Google Kalkylark till en instrumentpanel
Strömma data från Google Kalkylark till en instrumentpanel
Strömma data från Google Kalkylark till en instrumentpanel

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

Initialtillstånd
Initialtillstånd

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

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

Location & Speed Dashboard
Location & Speed Dashboard

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: