Satura rādītājs:
- Piegādes
- 1. darbība. Sākotnējais stāvoklis
- 2. darbība: BerryGPS-GSM un Raspberry Pi Zero
- 3. darbība. Atrašanās vietas un ātruma informācijas panelis
Video: Reālā laika GPS izsekošana: 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:55
Seko vairāk autoram:
Š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
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
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
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:
Reālā laika akas ūdens līmeņa mērītājs: 6 soļi (ar attēliem)
Reālā laika akas ūdens līmeņa mērītājs: šajos norādījumos ir aprakstīts, kā izveidot zemu izmaksu reāllaika ūdens līmeņa mērītāju izmantošanai izraktās akās. Ūdens līmeņa mērītājs ir paredzēts pakarināšanai izraktajā akā, ūdens līmeņa mērīšanai reizi dienā un datu nosūtīšanai, izmantojot WiFi vai mobilo savienojumu
Reālā laika akas ūdens temperatūra, vadītspēja un ūdens līmeņa mērītājs: 6 soļi (ar attēliem)
Reālā laika akas ūdens temperatūras, vadītspējas un ūdens līmeņa mērītājs: šajos norādījumos ir aprakstīts, kā izveidot zemu izmaksu reāllaika ūdens skaitītāju temperatūras, elektrovadītspējas (EK) un ūdens līmeņa uzraudzībai izraktās akās. Skaitītājs ir paredzēts pakārt izraktajā akā, mērīt ūdens temperatūru, EK un
Kā izveidot mitruma un temperatūras reālā laika datu ierakstītāju, izmantojot Arduino UNO un SD karti - DHT11 datu reģistrētāja simulācija Proteus: 5 soļi
Kā izveidot mitruma un temperatūras reālā laika datu ierakstītāju, izmantojot Arduino UNO un SD karti | DHT11 datu reģistrētāja simulācija Proteus: Ievads: čau, tas ir Liono Maker, šeit ir YouTube saite. Mēs veidojam radošu projektu ar Arduino un strādājam pie iegultām sistēmām. Datu reģistrētājs: Datu reģistrētājs (arī datu reģistrētājs vai datu ierakstītājs) ir elektroniska ierīce, kas laika gaitā reģistrē datus
Izsekošana un izsekošana maziem veikaliem: 9 soļi (ar attēliem)
Izsekošana un izsekošana maziem veikaliem: šī ir sistēma, kas paredzēta maziem veikaliem, kas ir paredzēts uzstādīt uz e-velosipēdiem vai motorolleriem, lai veiktu piegādi nelielā attālumā, piemēram, maizes ceptuve, kas vēlas piegādāt konditorejas izstrādājumus. Ko nozīmē izsekošana un izsekošana? Izsekošana un izsekošana ir sistēma, ko izmanto
Smadzeņu kaste: neironu apjoma izsekošana laika gaitā: 20 soļi
Smadzeņu kaste: neironu apjoma izsekošana laika gaitā: virzība uz garāku cilvēka dzīves robežu ir izraisījusi tādu slimību pieaugumu, kuras civilizācijas pirms mūsu nav redzējušas. Starp tiem Alcheimera slimība 2017. gadā skāra aptuveni 5, 3 miljonus dzīvojošu vecāka gadagājuma amerikāņu jeb aptuveni 1 no 10 e