Obsah:
- Zásoby
- Krok 1: Počáteční stav
- Krok 2: BerryGPS-GSM a Raspberry Pi Zero
- Krok 3: Panel umístění a rychlosti
Video: Sledování GPS v reálném čase: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Od elizabethnaSledovat více od autora:
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
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
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
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:
Řešič se zavázanýma očima Rubikova kostka v reálném čase pomocí Raspberry Pi a OpenCV: 4 kroky
Řešič Rubik's Cube se zavázanýma očima v reálném čase pomocí Raspberry Pi a OpenCV: Toto je druhá verze nástroje Rubik's Cube vytvořeného pro řešení se zavázanýma očima. 1. verze byla vyvinuta javascriptem, můžete vidět projekt RubiksCubeBlindfolded1Na rozdíl od předchozí verze tato verze používá knihovnu OpenCV k detekci barev a
ATtiny85 Nositelné vibrační sledování aktivity Sledování a programování ATtiny85 s Arduino Uno: 4 kroky (s obrázky)
ATtiny85 Wearable Vibration Activity Tracking Watch & Programming ATtiny85 With Arduino Uno: How to make the wearable activity tracking watch? Toto je nositelný gadget navržený tak, aby vibroval, když detekuje stagnaci. Trávíte většinu času na počítači jako já? Sedíte hodiny, aniž byste si to uvědomovali? Pak je toto zařízení f
Sady inteligentních robotů pro sledování robotů Sledování automobilů Fotosenzitivní: 7 kroků
Sady inteligentních robotů pro sledování robotů Sledovací auto Fotosenzitivní: Design od SINONING ROBOT Můžete si koupit od sledovacího robota carTheoryLM393 čip porovnat dva fotorezistory, když je na jedné straně LED dioda fotorezistoru na BÍLÉ, strana motoru se okamžitě zastaví, druhá strana motoru roztočit, aby
Domácí GPS tracker v reálném čase (SIM800L, Ublox NEO-6M, Arduino): 8 kroků
Domácí GPS tracker v reálném čase (SIM800L, Ublox NEO-6M, Arduino): Takže máte GSM modul, který leží jako já? Také GPS tracker? Myslíme si to samé! V tomto návodu se vás pokusím provést, jak dosáhnout svého cíle z pohledu nováčka. Protože jsem neměl žádné předchozí znalosti elektrotechniky (
Inatel - SmartHome - SH2Y - Sledování systému a sledování prostředí: 6 kroků
Inatel - SmartHome - SH2Y - Sledování systému a prostředí Ambiente: Foen desenvolvido um & Sistema de Monitoramento e Seguran ç a F í sica de Ambiente " para Smart Homes, což je intuitivní monitorování stavu vari á veis como "Temperatura", "Luminosidade" e " Senzor