Indholdsfortegnelse:

GPS-sporing i realtid: 3 trin
GPS-sporing i realtid: 3 trin

Video: GPS-sporing i realtid: 3 trin

Video: GPS-sporing i realtid: 3 trin
Video: What are friends for! #thehamiltoncollection #bugatti #laferrari 2024, November
Anonim

Af elizabethnaFølg mere af forfatteren:

Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Sådan bygger du en Raspberry Pi temperaturmonitor
Sådan bygger du en Raspberry Pi temperaturmonitor
Sådan bygger du en Raspberry Pi temperaturmonitor
Sådan bygger du en Raspberry Pi temperaturmonitor
Stream data fra Google Sheets til et dashboard
Stream data fra Google Sheets til et dashboard
Stream data fra Google Sheets til et dashboard
Stream data fra Google Sheets til et dashboard

I denne vejledning viser vi dig, hvordan du foretager lokalitetssporing i realtid ved hjælp af en BerryGPS-GSM, en Raspberry Pi Zero og Initial State. Vi sender længdegrad, breddegrad og hastighed via 3G med BerryGPS-GSM til Initial State.

Forbrugsvarer

  • Hindbær Pi Zero
  • BerryGPS-GSM
  • Oprindelig tilstand

Trin 1: Oprindelig tilstand

Oprindelig tilstand
Oprindelig tilstand

Vi vil streame alle vores længde-, bredde- og hastighedsdata til en cloud -tjeneste og få den service til at gøre vores data til et flot dashboard, som vi kan få adgang til fra vores bærbare eller mobile enhed. Vi vil bruge den oprindelige tilstand.

Trin 1: Registrer dig til den oprindelige statskonto

Gå til https://iot.app.initialstate.com og opret en ny konto. Du får en 14 dages gratis prøveperiode, og alle med en edu -e -mail -adresse kan registrere sig til en gratis studenterplan.

Trin 2: Installer ISStreamer

Installer Initial State Python -modulet på din Raspberry Pi. Kør følgende kommando i kommandoprompten:

$ cd/home/pi/

$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

Trin 3: Lav noget Automagic

Efter trin 2 vil du se noget, der ligner følgende output til skærmen:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: Begyndende ISStreamer Python Nem installation! Dette kan tage et par minutter at installere, få en kop kaffe:) Men glem ikke at komme tilbage, jeg har spørgsmål senere! Fundet easy_install: setuptools 1.1.6 Fundet pip: pip 1.5.6 fra /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip mindre version: 5 ISStreamer fundet, opdaterer … Krav allerede opdateret: ISStreamer i bibliotek/Python/2.7/site-pakker Rydder op … Vil du automatisk få et eksempel script? [y/N] Hvor vil du gemme eksemplet? [standard:./is_example.py] Vælg, hvilken starttilstandsapp du bruger: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com Indtast valg 1 eller 2: Indtast iot.app.initialstate.com brugernavn: Indtast iot.app.initialstate.com adgangskode:

Når du bliver spurgt, om du automatisk vil få et eksempelskript sat "y" til ja, og tryk på enter for at gemme dit script på standardplaceringen. For spørgsmålet om hvilken app du bruger, skal du vælge 2 (medmindre du har tilmeldt dig inden november 2018) og indtaste dit brugernavn og din adgangskode.

Trin 4: Kør eksempelskriptet

Kør testskriptet for at sikre, at vi kan oprette en datastrøm til din Initial State -konto. Skriv følgende kommando:

$ python er_eksempel.py

Trin 5: Eksempeldata

Gå tilbage til din Initial State -konto i din webbrowser. En ny dataskovl kaldet "Python Stream -eksempel" skulle have vist sig til venstre i din loghylde (du skal muligvis opdatere siden). Klik på denne spand for at se dine data.

Trin 2: BerryGPS-GSM & Raspberry Pi Zero

BerryGPS-GSM & Raspberry Pi Zero
BerryGPS-GSM & Raspberry Pi Zero

Hvis du bruger en BerryGPS-GSM, kan du følge denne vejledning for at få GPS'en til at fungere og få din Pi til at oprette forbindelse via 3G ved hjælp af PPP.

Den linkede guide viser også, hvordan du får din Pi til at oprette forbindelse til transportørnetværket automatisk, når den startes. Du får brug for dette, hvis du planlægger at udføre fjernsporing.

Installer biblioteker

Du skal installere følgende biblioteker:

$ sudo apt-get install python-pip

$ sudo pip installer pynmea2 $ sudo pip installer ISStreamer

Main Python Script

Her vil vi oprette hovedscriptet, der vil streame GPS -dataene til den oprindelige tilstand. Nedenstående kode opretter en separat tråd, der bruges til at overvåge den serielle port. Dette er nødvendigt, fordi vi har en pause i hovedsløjfen. Pausen er der for at begrænse, hvor meget data vi uploader over 3G.

Hvis vi gjorde alt i den samme tråd under pausen, ville den serielle buffer blive fyldt op (det er FIFO), og når vi får den næste værdi fra bufferen, vil den være gammel med et par sekunder. Dette sker hver loop og til sidst vil dataene være minutter eller timer bagud.

For at oprette python -scriptet og åbne teksteditoren skal du indtaste følgende kommando:

$ nano GPStracker.py

Kopier og indsæt følgende kode i teksteditoren. Du bliver nødt til at indtaste din Initial State Access Key på linje 11, hvor der står "ENTER DIN ACCESS Nøgle":

#! /usr/bin/pythonfra gps import * fra tid import * import threading import datetime fra ISStreamer. Streamer import Streamer gpsd = Ingen #Opsætning global variabel #Opsætning af den oprindelige tilstandsstrøm, indtast din adgangsnøgle under streamer = Streamer (bucket_name = "GPS_Tracker ", bucket_key =" GPS_TRACKER ", access_key =" ENTER YOUR ACCESS NEY ") klasse GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring det i omfang gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True #Start kører denne tråd def run (self): global gpsd mens gpsdThread.running: gpsd.next () hvis _name_ == '_main_': gpsdThread = GPSDcollector (1) # opret en tråd for at indsamle data, prøv: gpsdThread.start () # start den, mens True: udskriv 'GPS', gpsd.utc, 'CPU-tid->', datetime.datetime.now ().time (), if (gpsd.fix.longitude0) og (gpsd.fix.longitude'nan '): streamer.log ("Location", "{lat}, {lon}". format (lat = gpsd.fix. breddegrad, 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)."

Gem og afslut teksteditoren ved at trykke på CTRL + X, Y, enter.

Start scriptet automatisk ved opstart

Hvis du laver fjernovervågning, vil du have, at scriptet kører ved opstart. For at gøre dette opretter vi et lille script, der starter hovedpython -programmet. Indtast følgende kommando:

$ nano GPStrackerStart.sh

Kopier linjerne til teksteditoren:

#!/bin/bash

sove 15 python /home/pi/GPStracker.py &

Pausen ovenfor er der for at give Pi tid til at starte og oprette forbindelse via PPP.

Gør scriptet eksekverbart:

$ chmod +x ~/GPStrackerStart.sh

Vi vil bruge cron til at starte scriptet hver gang Pi starter:

$ crontab -e

Tilføj nedenstående linje til bunden:

@reboot /home/pi/GPStrackerStart.sh &

Trin 3: Placering og hastighed Dashboard

Placering og hastighedsdashboard
Placering og hastighedsdashboard

Nu hvor du har dit projekt i gang, skal data sendes til den oprindelige tilstand. Du har GPS -data og hastighedsdata. Du kan bruge GPS -dataene i en kortflise til at spore placering. For kortflisen skal du markere afkrydsningsfeltet Tegn sti, så din placeringssporing er kortlagt som instrumentbrættet ovenfor. Du kan sætte dine hastighedsdata i en linjediagram for at se hastighed over tid.

Anbefalede: