Kazalo:

Sledenje GPS v realnem času: 3 koraki
Sledenje GPS v realnem času: 3 koraki

Video: Sledenje GPS v realnem času: 3 koraki

Video: Sledenje GPS v realnem času: 3 koraki
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim

Avtor elizabethnaSledite še avtorja:

Pumpkin Pi Tracker-or-Tracker
Pumpkin Pi Tracker-or-Tracker
Pumpkin Pi Tracker-or-Tracker
Pumpkin Pi Tracker-or-Tracker
Kako sestaviti monitor temperature Raspberry Pi
Kako sestaviti monitor temperature Raspberry Pi
Kako sestaviti monitor temperature Raspberry Pi
Kako sestaviti monitor temperature Raspberry Pi
Pretakajte podatke iz Google Preglednic na nadzorno ploščo
Pretakajte podatke iz Google Preglednic na nadzorno ploščo
Pretakajte podatke iz Google Preglednic na nadzorno ploščo
Pretakajte podatke iz Google Preglednic na nadzorno ploščo

V tej vadnici vam bomo pokazali, kako v realnem času sledite lokaciji z uporabo BerryGPS-GSM, Raspberry Pi Zero in Initial State. Zemljepisno dolžino, zemljepisno širino in hitrost bomo poslali prek 3G z BerryGPS-GSM v začetno stanje.

Zaloge

  • Raspberry Pi Zero
  • BerryGPS-GSM
  • Začetno stanje

1. korak: Začetno stanje

Začetno stanje
Začetno stanje

Vse svoje zemljepisne dolžine, zemljepisne širine in hitrosti želimo pretočiti v storitev v oblaku in ta storitev naše podatke spremeni v lepo nadzorno ploščo, do katere lahko dostopamo iz prenosnega računalnika ali mobilne naprave. Uporabili bomo začetno stanje.

1. korak: Registrirajte se za začetni državni račun

Pojdite na https://iot.app.initialstate.com in ustvarite nov račun. Dobite 14 -dnevno brezplačno preskusno različico in vsak, ki ima e -poštni naslov edu, se lahko registrira za brezplačen študentski paket.

2. korak: Namestite ISStreamer

Namestite začetni modul Python State na svoj Raspberry Pi. V ukaznem pozivu zaženite naslednji ukaz:

$ cd/home/pi/

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

3. korak: Naredite nekaj avtomatičnega

Po 2. koraku boste na zaslonu videli nekaj podobnega naslednjemu izhodu:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashGeslo: Začetek enostavne namestitve ISStreamer Python! To lahko traja nekaj minut za namestitev, popijte kavo:) Ampak ne pozabite se vrniti, pozneje bom imel vprašanja! Najdeno easy_install: setuptools 1.1.6 Najdeno pip: pip 1.5.6 iz /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) glavna različica pipa: 1 pip manjša različica: 5 Najden je bil ISStreamer, se posodablja … Zahteva je že posodobljena: ISStreamer v knjižnici/Python/2.7/paketi spletnih mest Čiščenje … Ali želite samodejno dobiti primer skripta? [y/N] Kam želite shraniti primer? [privzeto:./is_example.py] Izberite aplikacijo začetnega stanja, ki jo uporabljate: 1. app.initialstate.com 2. [NOVO!] iot.app.initialstate.com Vnesite izbiro 1 ali 2: Vnesite iot.app Uporabniško ime.initialstate.com: Vnesite geslo iot.app.initialstate.com:

Ko vas vprašajo, ali želite samodejno dobiti primer skripta, postavite "y" za da in pritisnite enter, da shranite skript na privzeto mesto. Za vprašanje, katero aplikacijo uporabljate, izberite 2 (razen če ste se prijavili pred novembrom 2018) in vnesite svoje uporabniško ime in geslo.

4. korak: Zaženite primer skripta

Zaženite preskusni skript in se prepričajte, da lahko ustvarimo podatkovni tok v vašem računu začetnega stanja. Napišite naslednji ukaz:

$ python is_example.py

5. korak: Primer podatkov

V spletnem brskalniku se vrnite na račun začetnega stanja. Novo vedro podatkov, imenovano »Primer Python Stream«, bi se moralo prikazati na levi strani v dnevniku (morda boste morali osvežiti stran). Če si želite ogledati svoje podatke, kliknite to vedro.

Korak: BerryGPS-GSM in Raspberry Pi Zero

BerryGPS-GSM in Raspberry Pi Zero
BerryGPS-GSM in Raspberry Pi Zero

Če uporabljate BerryGPS-GSM, lahko sledite tem navodilom, da GPS deluje in da se vaš Pi poveže prek 3G prek PPP.

Povezani vodnik prikazuje tudi, kako naj se vaš Pi ob zagonu samodejno poveže z omrežjem operaterja. To boste potrebovali, če nameravate izvesti sledenje na daljavo.

Namestite knjižnice

Namestiti morate naslednje knjižnice:

$ sudo apt-get install python-pip

$ sudo pip install pynmea2 $ sudo pip install ISStreamer

Glavni skript Python

Tukaj bomo ustvarili glavni skript, ki bo podatke GPS prenašal v začetno stanje. Spodnja koda ustvari ločeno nit, ki se uporablja za spremljanje serijskih vrat. To je potrebno, ker imamo premor v glavni zanki. Premor je zato, da omejite, koliko podatkov naložimo prek 3G.

Če bi med premorom naredili vse v isti niti, bi se serijski vmesni pomnilnik napolnil (to je FIFO), in ko iz vmesnega pomnilnika dobimo naslednjo vrednost, bo stara za nekaj sekund. To se zgodi v vsaki zanki in sčasoma bodo podatki zaostali za nekaj minut ali ur.

Če želite ustvariti skript python in odpreti urejevalnik besedila, vnesite naslednji ukaz:

$ nano GPStracker.py

Kopirajte in prilepite naslednjo kodo v urejevalnik besedil. V vrstico 11, kjer piše "VNESI KLJUČ ZA DOSTOP", vnesite ključ za začetni dostop do države:

#! /usr/bin/pythoniz gps import * from time import * import threading import datetime from ISStreamer. Strommer import Streamer gpsd = Nobenega #Nastavitev globalne spremenljivke #Nastavitev začetnega toka stanja, vnesite ključ za dostop pod streamer = Streamer (bucket_name = "GPS_Tracker ", bucket_key =" GPS_TRACKER ", access_key =" VNESITE KLJUČ ZA DOSTOP ") razred GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID globalni gpsd #bring v obsegu gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True #Začni z izvajanjem te niti def run (self): globalni gpsd, medtem ko gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # ustvarite nit za zbiranje podatkov poskusite: gpsdThread.start () # zaženite, medtem ko je True: natisnite 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now ().time (), if (gpsd.fix.longitude0) in (gpsd.fix.longitude'nan '): streamer.log ("Lokacija", "{lat}, {lon}". format (lat = gpsd.fix.širokota, lon = gpsd.fix.longitu de)) streamer.log ("hitrost", gpsd.fix.speed) tiskanje 'lat', gpsd.fix.latitude, tiskanje 'lon', gpsd.fix.longitude, tiskanje 'speed', gpsd.fix.speed sleep (5) razen (KeyboardInterrupt, SystemExit): #ko pritisnete ctrl+c, natisnite "\ nKilling Thread …" gpsdThread.running = False gpsdThread.join () # počakajte, da nit dokonča tiskanje "Končano. / N Izhod."

Shranite in zapustite urejevalnik besedil moj pritisk CTRL + X, Y, enter.

Samodejno zaženite skript ob zagonu

Če izvajate nadzor na daljavo, bi želeli, da se skript zažene ob zagonu. Če želite to narediti, bomo ustvarili majhen skript, ki bo zagnal glavni program python. Vnesite naslednji ukaz:

$ nano GPStrackerStart.sh

Kopirajte vrstice v urejevalnik besedil:

#!/bin/bash

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

Zgornji premor je namenjen temu, da Pi omogoči zagon in povezavo prek PPP.

Naj bo skript izvedljiv:

$ chmod +x ~/GPStrackerStart.sh

Za zagon skripta bomo uporabili cron vsakič, ko se Pi zažene:

$ crontab -e

Spodnjo vrstico dodajte na dno:

@reboot /home/pi/GPStrackerStart.sh &

3. korak: Nadzorna plošča za lokacijo in hitrost

Nadzorna plošča za lokacijo in hitrost
Nadzorna plošča za lokacijo in hitrost

Zdaj, ko imate projekt v teku, bi morali podatke pošiljati v začetno stanje. Imeli boste podatke GPS in podatke o hitrosti. Za sledenje lokaciji lahko uporabite podatke GPS v ploščicah zemljevidov. Za ploščico zemljevida potrdite potrditveno polje Draw Path (Pot risanja), da bo sledenje vaši lokaciji preslikano kot zgornja nadzorna plošča. Podatke o hitrosti lahko vnesete v linijski graf, da si ogledate hitrost skozi čas.

Priporočena: