Obsah:

Sledování GPS v reálném čase: 3 kroky
Sledování GPS v reálném čase: 3 kroky

Video: Sledování GPS v reálném čase: 3 kroky

Video: Sledování GPS v reálném čase: 3 kroky
Video: GPS lokalizátor GL300 Server - sledování aut a sledování osob online 2024, Listopad
Anonim

Od elizabethnaSledovat více od autora:

Tracker Prickkin Pi Trick-or-Treat
Tracker Prickkin Pi Trick-or-Treat
Tracker Prickkin Pi Trick-or-Treat
Tracker Prickkin Pi Trick-or-Treat
Jak vytvořit monitor teploty Raspberry Pi
Jak vytvořit monitor teploty Raspberry Pi
Jak vytvořit monitor teploty Raspberry Pi
Jak vytvořit monitor teploty Raspberry Pi
Streamujte data z Tabulek Google na hlavní panel
Streamujte data z Tabulek Google na hlavní panel
Streamujte data z Tabulek Google na hlavní panel
Streamujte data z Tabulek Google na hlavní panel

V tomto tutoriálu vám ukážeme, jak provádět sledování polohy v reálném čase pomocí BerryGPS-GSM, Raspberry Pi Zero a Počátečního stavu. Zeměpisnou délku, šířku a rychlost odešleme přes 3G s BerryGPS-GSM do Počátečního stavu.

Zásoby

  • Raspberry Pi Zero
  • BerryGPS-GSM
  • Počáteční stav

Krok 1: Počáteční stav

Počáteční stav
Počáteční stav

Chceme streamovat všechny naše údaje o zeměpisné délce, šířce a rychlosti do cloudové služby a nechat tuto službu, aby naše data přeměnila na pěkný řídicí panel, ke kterému máme přístup z našeho notebooku nebo mobilního zařízení. Použijeme Počáteční stav.

Krok 1: Zaregistrujte se pro počáteční stav účtu

Přejděte na https://iot.app.initialstate.com a vytvořte si nový účet. Získáte 14denní bezplatnou zkušební verzi a kdokoli s e -mailovou adresou edu se může zaregistrovat k bezplatnému studentskému plánu.

Krok 2: Nainstalujte ISStreamer

Nainstalujte modul Počáteční stav Python na svůj Raspberry Pi. Na příkazovém řádku spusťte následující příkaz:

$ cd/home/pi/

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

Krok 3: Vyrobte si Automagic

Po kroku 2 uvidíte na obrazovce něco podobného následujícímu výstupu:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: Začátek ISStreamer Python Snadná instalace! Instalace může trvat několik minut, dejte si kávu:) Ale nezapomeňte se vrátit, otázky budu mít později! Nalezeno easy_install: setuptools 1.1.6 Nalezeno pip: pip 1.5.6 z /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 nalezen, aktualizace… Požadavek již aktuální: ISStreamer in Library/Python/2.7/site-packages Vyčištění… Chcete automaticky získat ukázkový skript? [y/N] Kam chcete příklad uložit? [výchozí:./is_example.py] Vyberte prosím aplikaci, kterou používáte v počátečním stavu: 1. app.initialstate.com 2. [NOVINKA!] iot.app.initialstate.com Zadejte volbu 1 nebo 2: Zadejte iot.app.initialstate.com uživatelské jméno: Zadejte heslo iot.app.initialstate.com:

Na dotaz, zda chcete automaticky získat ukázkový skript, zadejte „y“pro ano a stisknutím klávesy Enter uložte skript do výchozího umístění. Na otázku, kterou aplikaci používáte, vyberte 2 (pokud jste se nepřihlásili do listopadu 2018) a zadejte své uživatelské jméno a heslo.

Krok 4: Spusťte ukázkový skript

Spusťte testovací skript, abyste se ujistili, že můžeme vytvořit datový proud na váš účet Počáteční stav. Napište následující příkaz:

$ python is_example.py

Krok 5: Příklad dat

Vraťte se ve webovém prohlížeči na svůj účet Počáteční stav. Vlevo na poličce s protokolem se měl objevit nový datový segment s názvem „Příklad Python streamu“(možná budete muset stránku aktualizovat). Kliknutím na tento segment zobrazíte svá data.

Krok 2: BerryGPS-GSM a Raspberry Pi Zero

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

Používáte-li BerryGPS-GSM, můžete podle tohoto průvodce zahájit fungování GPS a připojit svůj Pi k připojení přes 3G pomocí PPP.

Propojený průvodce také ukazuje, jak zajistit, aby se váš Pi automaticky připojil k síti operátora při spuštění. Budete to potřebovat, pokud plánujete provádět vzdálené sledování.

Nainstalujte si knihovny

Budete muset nainstalovat následující knihovny:

$ sudo apt-get install python-pip

$ sudo pip install pynmea2 $ sudo pip install ISStreamer

Hlavní skript Pythonu

Zde vytvoříme hlavní skript, který bude streamovat data GPS do počátečního stavu. Níže uvedený kód vytvoří samostatné vlákno, které slouží ke sledování sériového portu. To je potřeba, protože máme v hlavní smyčce pauzu. Pauza má omezit, kolik dat nahrajeme přes 3G.

Pokud bychom během pauzy udělali vše ve stejném vlákně, sériový buffer by se zaplnil (je to FIFO) a až z bufferu získáme další hodnotu, bude o pár sekund stará. K tomu dochází v každé smyčce a nakonec budou data o několik minut nebo hodin pozadu.

Chcete -li vytvořit skript pythonu a otevřít textový editor, zadejte následující příkaz:

$ nano GPStracker.py

Zkopírujte a vložte následující kód do textového editoru. Budete muset zadat přístupový klíč pro počáteční stav na řádku 11, kde je uvedeno „ZADEJTE PŘÍSTUPOVÝ KLÍČ“:

#! /usr/bin/python z importu GPS * z importu času * import vlákna import datetime 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 =" ZADEJTE SVŮJ PŘÍSTUPOVÝ KLÍČ ") třída 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 spuštěním tohoto vlákna def run (self): global gpsd while gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # vytvořte vlákno pro sběr dat zkuste: gpsdThread.start () # spusťte jej, dokud je True: vytiskně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) tisk 'lat', gpsd.fix.latitude, tisk 'lon', gpsd.fix.longitude, tisk 'speed', gpsd.fix.speed spánek (5) kromě (KeyboardInterrupt, SystemExit): # when you press ctrl+c print "\ nKilling Thread…" gpsdThread.running = False gpsdThread.join () # počkejte, až vlákno dokončí, co dělá, tisk "Hotovo. / NExiting."

Uložte a ukončete textový editor stisknutím kláves CTRL + X, Y, enter.

Spustit skript automaticky při spuštění

Pokud provádíte vzdálené monitorování, chcete, aby se skript spustil při spuštění. Za tímto účelem vytvoříme malý skript, který spustí hlavní program pythonu. Zadejte následující příkaz:

$ nano GPStrackerStart.sh

Zkopírujte řádky do textového editoru:

#!/bin/bash

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

Výše uvedená pauza má dát Pi čas na spuštění a připojení přes PPP.

Nastavit skript jako spustitelný:

$ chmod +x ~/GPStrackerStart.sh

K spuštění skriptu použijeme cron při každém spuštění Pi:

$ crontab -e

Přidejte níže uvedený řádek:

@reboot /home/pi/GPStrackerStart.sh &

Krok 3: Panel umístění a rychlosti

Panel umístění a rychlosti
Panel umístění a rychlosti

Nyní, když máte projekt v provozu, by se data měla odesílat do počátečního stavu. Budete mít data GPS a údaje o rychlosti. Ke sledování polohy můžete použít data GPS v dlaždici mapy. U dlaždice mapy nezapomeňte zaškrtnout políčko Draw Path, aby bylo sledování vaší polohy mapováno jako na palubní desce výše. Údaje o rychlosti můžete vložit do čárového grafu, abyste viděli rychlost v čase.

Doporučuje: