Kazalo:
- Zaloge
- 1. korak: Začetno stanje
- Korak: BerryGPS-GSM in Raspberry Pi Zero
- 3. korak: Nadzorna plošča za lokacijo in hitrost
Video: Sledenje GPS v realnem času: 3 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Avtor elizabethnaSledite še avtorja:
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
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
Č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
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:
Rubikova kocka z zavezanimi očmi v realnem času z uporabo Raspberry Pi in OpenCV: 4 koraki
Rubikova kocka z zavezanimi očmi v realnem času z uporabo Raspberry Pi in OpenCV: To je druga različica orodja Rubikove kocke za reševanje z zavezanimi očmi. Prvo različico je razvil javascript, lahko si ogledate projekt RubiksCubeBlindfolded1 Za razliko od prejšnje ta različica uporablja knjižnico OpenCV za zaznavanje barv in e
Ustvarjanje grafikona v realnem času na Androidu od Arduina do HC-05: 3 koraki
Ustvarjanje grafikona v realnem času na Androidu od Arduina do HC-05: Hej, tukaj je vadnica, kako v realnem času narisati graf vrednosti iz mikrokrmilnika, kot je Arduino, v aplikacijo. Uporablja modul Bluetooth, kot je HC-05, da deluje kot naprava za sporočanje za prenos in sprejemanje podatkov med Ar
Sledilnik v realnem času COVID-19 za ESP32: 3 koraki
Sledilnik v realnem času COVID-19 za ESP32: Ta mali sledilnik vam bo pomagal biti na tekočem o izbruhu koronavirusa in razmerah v vaši državi. Na zaslonu so prikazani izmenični trenutni podatki različnih držav po vaši izbiri. Podatke zbira spletna stran www.wo
Sledilnik Covid19 v živo z uporabo ESP8266 in OLED - Nadzorna plošča Covid19 v realnem času: 4 koraki
Sledilnik Covid19 v živo z uporabo ESP8266 in OLED | Nadzorna plošča Covid19 v realnem času: Obiščite spletno mesto Techtronic Harsh: http: //techtronicharsh.com Povsod je ogromen izbruh novega koronavirusa (COVID19). Postalo je treba paziti na trenutni scenarij COVID-19 v svetu. Torej, ko sem bil doma, je bil to p
Domači GPS sledilnik v realnem času (SIM800L, Ublox NEO-6M, Arduino): 8 korakov
Domači GPS sledilnik v realnem času (SIM800L, Ublox NEO-6M, Arduino): Imate torej modul GSM, ki leži okrog mene? Tudi GPS-sledilnik? Mislimo enako! V teh navodilih vas bom poskušal voditi, kako doseči svoj cilj z vidika novinca. Ker nisem imel predhodnega znanja o elektrotehniki (do