Satura rādītājs:

Reālā laika GPS izsekošana: 3 soļi
Reālā laika GPS izsekošana: 3 soļi

Video: Reālā laika GPS izsekošana: 3 soļi

Video: Reālā laika GPS izsekošana: 3 soļi
Video: Ukrainian soldiers 💪 2024, Jūlijs
Anonim

Seko vairāk autoram:

Ķirbju Pi triku vai ārstēšanās izsekotājs
Ķirbju Pi triku vai ārstēšanās izsekotājs
Ķirbju Pi triku vai ārstēšanās izsekotājs
Ķirbju Pi triku vai ārstēšanās izsekotājs
Kā izveidot Raspberry Pi temperatūras monitoru
Kā izveidot Raspberry Pi temperatūras monitoru
Kā izveidot Raspberry Pi temperatūras monitoru
Kā izveidot Raspberry Pi temperatūras monitoru
Straumējiet datus no Google izklājlapām uz informācijas paneli
Straumējiet datus no Google izklājlapām uz informācijas paneli
Straumējiet datus no Google izklājlapām uz informācijas paneli
Straumējiet datus no Google izklājlapām uz informācijas paneli

Šajā apmācībā mēs parādīsim, kā veikt atrašanās vietas izsekošanu reāllaikā, izmantojot BerryGPS-GSM, Raspberry Pi Zero un sākotnējo stāvokli. Mēs nosūtīsim garumu, platumu un ātrumu, izmantojot 3G, ar BerryGPS-GSM uz sākotnējo valsti.

Piegādes

  • Raspberry Pi Zero
  • BerryGPS-GSM
  • Sākotnējais stāvoklis

1. darbība. Sākotnējais stāvoklis

Sākotnējais stāvoklis
Sākotnējais stāvoklis

Mēs vēlamies straumēt visus mūsu garuma, platuma un ātruma datus uz mākoņa pakalpojumu, un šis pakalpojums pārvērš mūsu datus par jauku informācijas paneli, kuram varam piekļūt no klēpjdatora vai mobilās ierīces. Mēs izmantosim sākotnējo stāvokli.

1. darbība. Reģistrējieties sākotnējam valsts kontam

Dodieties uz vietni https://iot.app.initialstate.com un izveidojiet jaunu kontu. Jūs saņemat 14 dienu bezmaksas izmēģinājumu, un ikviens, kam ir e -pasta adrese, var reģistrēties bezmaksas studentu plānam.

2. darbība: instalējiet ISStreamer

Instalējiet sākotnējā stāvokļa Python moduli savā Raspberry Pi. Komandu uzvednē palaidiet šādu komandu:

$ cd/home/pi/

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

3. solis: izveidojiet automātisku

Pēc 2. darbības ekrānā redzēsit kaut ko līdzīgu šim izvadam:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashParole: Sākums ISStreamer Python vienkārša instalēšana! Tas var aizņemt pāris minūtes, lai to instalētu, paņemiet kafiju:) Bet neaizmirstiet atgriezties, man būs jautājumi vēlāk! Atrasts easy_install: setuptools 1.1.6 Atrasts pip: pip 1.5.6 no /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip galvenā versija: 1 pip minor versija: 5 ISStreamer atrasts, tiek atjaunināts … Prasība jau ir atjaunināta: ISStreamer bibliotēkā/Python/2.7/vietnes pakotnes Notīra … Vai vēlaties automātiski iegūt skripta paraugu? [y/N] Kur vēlaties saglabāt piemēru? [noklusējums:./is_example.py] Lūdzu, izvēlieties, kuru sākotnējā stāvokļa lietotni izmantojat: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com Ievadiet 1. vai 2. izvēli: Ievadiet iot.app.initialstate.com lietotājvārds: ievadiet iot.app.initialstate.com paroli:

Kad tiek jautāts, vai vēlaties automātiski iegūt skripta piemēru, uzrakstiet “y” uz “jā” un nospiediet taustiņu Enter, lai saglabātu skriptu noklusējuma vietā. Jautājumam par to, kuru lietotni izmantojat, atlasiet 2 (ja neesat reģistrējies pirms 2018. gada novembra) un ievadiet savu lietotājvārdu un paroli.

4. darbība. Palaidiet skripta paraugu

Palaidiet testa skriptu, lai pārliecinātos, ka varam izveidot datu straumi jūsu sākotnējā stāvokļa kontā. Ierakstiet šādu komandu:

$ python is_example.py

5. darbība: datu piemēri

Tīmekļa pārlūkprogrammā atgriezieties sākotnējā valsts kontā. Jūsu žurnāla plaukta kreisajā pusē vajadzēja parādīt jaunu datu kopu ar nosaukumu “Python Stream Example” (iespējams, lapa būs jāatsvaidzina). Noklikšķiniet uz šīs grupas, lai skatītu savus datus.

2. darbība: BerryGPS-GSM un Raspberry Pi Zero

BerryGPS-GSM un Raspberry Pi Zero
BerryGPS-GSM un Raspberry Pi Zero

Ja izmantojat BerryGPS-GSM, varat sekot šai rokasgrāmatai, lai GPS darbotos un jūsu Pi izveidotu savienojumu, izmantojot 3G, izmantojot PPP.

Saistītajā rokasgrāmatā ir arī parādīts, kā panākt, lai Pi sāknēšanas laikā automātiski izveidotu savienojumu ar pārvadātāja tīklu. Tas jums būs nepieciešams, ja plānojat veikt attālinātu izsekošanu.

Instalējiet bibliotēkas

Jums būs jāinstalē šādas bibliotēkas:

$ sudo apt-get install python-pip

$ sudo pip instalēt pynmea2 $ sudo pip instalēt ISStreamer

Galvenais Python skripts

Šeit mēs izveidosim galveno skriptu, kas straumēs GPS datus sākotnējā stāvoklī. Tālāk esošais kods izveido atsevišķu pavedienu, ko izmanto seriālā porta pārraudzībai. Tas ir vajadzīgs, jo mums ir pauze galvenajā cilpā. Pauze ir paredzēta, lai ierobežotu datu augšupielādi, izmantojot 3G.

Ja pauzes laikā mēs visu darītu vienā pavedienā, sērijas buferis piepildītos (tas ir FIFO), un, kad mēs saņemsim nākamo vērtību no bufera, tā būs par dažām sekundēm veca. Tas notiek katrā ciklā, un galu galā dati atpaliks minūtes vai stundas.

Lai izveidotu python skriptu un atvērtu teksta redaktoru, ievadiet šādu komandu:

$ nano GPStracker.py

Kopējiet un ielīmējiet šo kodu teksta redaktorā. Jums būs jāievada sākotnējā stāvokļa piekļuves atslēga 11. rindā, kur teikts: "Ievadiet piekļuves atslēgu":

#! /usr/bin/pythonfrom gps importēt * no laika importēšanas * importēt pavedienu importēšanas datuma laiku no ISStreamer. Straumētāja importēšana Streamer gpsd = Nav #Setup globālais mainīgais #Iestatiet sākotnējā stāvokļa straumi, ievadiet piekļuves atslēgu zem straumētāja = Streamer (bucket_name = "GPS_Tracker ", bucket_key =" GPS_TRACKER ", access_key =" ENTER YOUR ACCESS KEY ") klases GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring tas tvērumā gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True #Sāciet palaist šo pavedienu def run (self): global gpsd while gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # izveidojiet pavedienu datu vākšanai izmēģiniet: gpsdThread.start () # palaidiet to, kamēr True: izdrukājiet 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now ().time (), if (gpsd.fix.longitude0) un (gpsd.fix.longitude'nan '): streamer.log ("Atrašanās vieta", "{lat}, {lon}". formāts (lat = gpsd.fix. platums, lon = gpsd.fix.longitu de)) streamer.log ("ātrums", gpsd.fix.speed) drukāt "lat", gpsd.fix.latitude, drukāt "lon", gpsd.fix.longitude, drukāt "speed", gpsd.fix.speed sleep (5) izņemot (KeyboardInterrupt, SystemExit): # kad nospiežat taustiņu kombināciju ctrl+c print "\ nKilling Thread …" gpsdThread.running = False gpsdThread.join () # pagaidiet, līdz pavediens pabeidz pabeigto drukāšanu "Pabeigts. / NAiziešana."

Saglabājiet un izejiet no teksta redaktora, nospiežot CTRL + X, Y, ievadiet.

Sākot skriptu, automātiski palaidiet skriptu

Ja veicat attālo uzraudzību, vēlaties, lai skripts darbotos sāknēšanas laikā. Lai to izdarītu, mēs izveidosim nelielu skriptu, kas sāks galveno python programmu. Ievadiet šādu komandu:

$ nano GPStrackerStart.sh

Kopējiet rindas teksta redaktorā:

#!/bin/bash

gulēt 15 python /home/pi/GPStracker.py &

Iepriekš minētā pauze ir paredzēta, lai dotu Pi laiku, lai sāktu un izveidotu savienojumu, izmantojot PPP.

Padariet skriptu izpildāmu:

$ chmod +x ~/GPStrackerStart.sh

Mēs izmantosim cron, lai sāktu skriptu katru reizi, kad sāk darboties Pi:

$ crontab -e

Pievienojiet zemāk esošo rindu apakšā:

@reboot /home/pi/GPStrackerStart.sh &

3. darbība. Atrašanās vietas un ātruma informācijas panelis

Atrašanās vietas un ātruma informācijas panelis
Atrašanās vietas un ātruma informācijas panelis

Tagad, kad esat sagatavojis savu projektu, dati jāsūta uz sākotnējo valsti. Jums būs GPS dati un ātruma dati. Jūs varat izmantot GPS datus karšu flīzē, lai izsekotu atrašanās vietu. Kartes flīzē noteikti atzīmējiet izvēles rūtiņu Zīmēt ceļu, lai jūsu atrašanās vietas izsekošana tiktu kartēta tāpat kā iepriekš redzamais informācijas panelis. Ātruma datus varat ievietot līniju diagrammā, lai redzētu ātrumu laika gaitā.

Ieteicams: