Obsah:

GPS sledovanie v reálnom čase: 3 kroky
GPS sledovanie v reálnom čase: 3 kroky
Anonim

Od elizabethna Nasledovať viac od autora:

Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Ako vytvoriť monitor teploty Raspberry Pi
Ako vytvoriť monitor teploty Raspberry Pi
Ako vytvoriť monitor teploty Raspberry Pi
Ako vytvoriť monitor teploty Raspberry Pi
Streamujte údaje z Tabuliek Google na informačný panel
Streamujte údaje z Tabuliek Google na informačný panel
Streamujte údaje z Tabuliek Google na informačný panel
Streamujte údaje z Tabuliek Google na informačný panel

V tomto tutoriále vám ukážeme, ako vykonávať sledovanie polohy v reálnom čase pomocou BerryGPS-GSM, Raspberry Pi Zero a počiatočného stavu. Zemepisnú dĺžku, šírku a rýchlosť pošleme cez 3G s BerryGPS-GSM do východiskového stavu.

Zásoby

  • Raspberry Pi Zero
  • BerryGPS-GSM
  • Počiatočný stav

Krok 1: Počiatočný stav

Počiatočný stav
Počiatočný stav

Chceme streamovať všetky svoje údaje o zemepisnej dĺžke, šírke a rýchlosti do cloudovej služby a nechať túto službu, aby z našich údajov vytvorila pekný informačný panel, ku ktorému budeme mať prístup z prenosného počítača alebo mobilného zariadenia. Použijeme Počiatočný stav.

Krok 1: Zaregistrujte sa na počiatočný stav účtu

Prejdite na https://iot.app.initialstate.com a vytvorte si nový účet. Získate 14 -dňovú bezplatnú skúšobnú verziu a ktokoľvek s e -mailovou adresou edu sa môže zaregistrovať na bezplatný študentský program.

Krok 2: Nainštalujte ISStreamer

Nainštalujte modul Počiatočný stav Python na svoj Raspberry Pi. Na príkazovom riadku spustite nasledujúci príkaz:

$ cd/domov/pi/

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

Krok 3: Vyrobte si nejaký automobil

Po kroku 2 uvidíte na obrazovke niečo podobné nasledujúcemu výstupu:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashHeslo: Začiatok ISStreamer Python Jednoduchá inštalácia! Inštalácia môže trvať niekoľko minút, dajte si kávu:) Ale nezabudnite sa vrátiť, otázky budem mať neskôr! Nájdená jednoduchá inštalácia: setuptools 1.1.6 Nájdená pip: pip 1.5.6 zo súboru /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 nájdený, aktualizuje sa … Požiadavka je už aktuálna: ISStreamer v knižnici/Python/2.7/balíkoch stránok Čistenie … Chcete automaticky získať ukážkový skript? [y/N] Kam chcete uložiť príklad? [predvolené:./is_example.py] Vyberte aplikáciu, ktorú používate v počiatočnom stave: 1. app.initialstate.com 2. [NOVINKA!] iot.app.initialstate.com Zadajte voľbu 1 alebo 2: Zadajte iot.app Používateľské meno.initialstate.com: Zadajte heslo na adrese iot.app.initialstate.com:

Na otázku, či chcete automaticky získať ukážkový skript, zadajte „y“na áno a stlačením klávesu Enter uložte skript na predvolené miesto. Na otázku, ktorú aplikáciu používate, zvoľte 2 (pokiaľ ste sa neprihlásili do novembra 2018) a zadajte svoje užívateľské meno a heslo.

Krok 4: Spustite vzorový skript

Spustite testovací skript, aby ste sa uistili, že môžeme vytvoriť tok údajov pre váš účet Počiatočný stav. Napíšte nasledujúci príkaz:

$ python is_example.py

Krok 5: Príklad údajov

Vo webovom prehliadači sa vráťte k svojmu počiatočnému účtu. Nový priečinok s údajmi s názvom „Príklad Python streamu“sa mal zobraziť vľavo na poličke denníka (možno budete musieť stránku obnoviť). Kliknutím na tento segment zobrazíte svoje údaje.

Krok 2: BerryGPS-GSM a Raspberry Pi Zero

BerryGPS-GSM a Raspberry Pi Zero
BerryGPS-GSM a Raspberry Pi Zero

Ak používate BerryGPS-GSM, môžete postupovať podľa tohto sprievodcu, aby GPS fungovalo a aby sa vaše Pi pripojilo prostredníctvom 3G pomocou PPP.

Prepojený sprievodca tiež ukazuje, ako zabezpečiť, aby sa vaše Pi automaticky pripojilo k sieti operátora pri štarte. Budete to potrebovať, ak plánujete vykonávať diaľkové sledovanie.

Nainštalujte si knižnice

Budete musieť nainštalovať nasledujúce knižnice:

$ sudo apt-get install python-pip

$ sudo pip install pynmea2 $ sudo pip install ISStreamer

Hlavný skript Pythonu

Tu vytvoríme hlavný skript, ktorý bude streamovať údaje GPS do počiatočného stavu. Nasledujúci kód vytvára samostatné vlákno, ktoré sa používa na monitorovanie sériového portu. Je to potrebné, pretože v hlavnej slučke máme pauzu. Pauza má obmedziť množstvo dát, ktoré nahráme cez 3G.

Ak by sme počas pauzy urobili všetko v jednom vlákne, sériová vyrovnávacia pamäť by sa zaplnila (je to FIFO) a keď z vyrovnávacej pamäte dostaneme ďalšiu hodnotu, bude o niekoľko sekúnd stará. Stáva sa to v každej slučke a nakoniec budú údaje o niekoľko minút alebo hodín pozadu.

Na vytvorenie skriptu python a otvorenie textového editora zadajte nasledujúci príkaz:

$ nano GPStracker.py

Skopírujte a prilepte nasledujúci kód do textového editora. Budete musieť zadať svoj počiatočný stavový prístupový kľúč na riadku 11, kde je uvedené „ZADAJTE SI PRÍSTUPOVÝ KĽÚČ“:

#! /usr/bin/python z importu GPS * z importu času * import vlákna import importu dátumu a času z ISStreamer. Streamer import Streamer gpsd = None #Setup global variable #Setup the Initial State stream, enter your access key below streamer = Streamer (bucket_name = "GPS_Tracker ", bucket_key =" GPS_TRACKER ", access_key =" ZADAJTE SVOJ PRÍSTUPOVÝ KĽÚČ ") trieda GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring to v rozsahu 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) # vytvorte vlákno na zhromažďovanie údajov skúste: gpsdThread.start () # spustite ho, kým je pravda: vytlačte 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now ().time (), if (gpsd.fix.longitude0) and (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) vytlačiť 'lat', gpsd.fix.latitude, vytlačiť 'lon', gpsd.fix.longitude, vytlačiť 'rýchlosť', gpsd.fix.speed spánok (5) okrem (KeyboardInterrupt, SystemExit): #hen you press ctrl+c print "\ nKilling Thread…" gpsdThread.running = False gpsdThread.join () # počkajte, kým vlákno dokončí, čo robí, vytlačte "Hotovo. / NExiting."

Uložte a ukončite textový editor stlačením klávesov CTRL + X, Y, Enter.

Skript spustite automaticky pri štarte

Ak robíte vzdialené monitorovanie, chcete, aby sa skript spustil pri štarte. Za týmto účelom vytvoríme malý skript, ktorý spustí hlavný program python. Zadajte nasledujúci príkaz:

$ nano GPStrackerStart.sh

Skopírujte riadky do textového editora:

#!/bin/bash

spánok 15 python /home/pi/GPStracker.py &

Pauza vyššie je k dispozícii, aby mala Pi čas na zavedenie a pripojenie cez PPP.

Nastaviť skript ako spustiteľný:

$ chmod +x ~/GPStrackerStart.sh

Na spustenie skriptu použijeme cron vždy, keď sa zavedie Pi:

$ crontab -e

Pridajte dole nasledujúci riadok:

@reboot /home/pi/GPStrackerStart.sh &

Krok 3: Panel polohy a rýchlosti

Panel polohy a rýchlosti
Panel polohy a rýchlosti

Teraz, keď máte projekt v prevádzke, by sa údaje mali odosielať do počiatočného stavu. Budete mať k dispozícii údaje GPS a údaje o rýchlosti. Údaje GPS môžete použiť na mape na sledovanie polohy. Pri mape Dlaždice začiarknite políčko Nakresliť trasu, aby bolo sledovanie vašej polohy mapované ako na palubnej doske vyššie. Údaje o rýchlosti môžete vložiť do čiarového grafu, aby ste videli rýchlosť v čase.

Odporúča: