Talaan ng mga Nilalaman:

Pagsubaybay sa Real-Time na GPS: 3 Mga Hakbang
Pagsubaybay sa Real-Time na GPS: 3 Mga Hakbang

Video: Pagsubaybay sa Real-Time na GPS: 3 Mga Hakbang

Video: Pagsubaybay sa Real-Time na GPS: 3 Mga Hakbang
Video: TicWatch PRO 3 ULTRA GPS: Mga Bagay na Dapat Malaman // Katumpakan, mga feature at pagsusuri 2024, Nobyembre
Anonim

Sundin ang Higit Pa ng may-akda:

Tracker ng Pumpkin Pi Trick-or-Treat
Tracker ng Pumpkin Pi Trick-or-Treat
Tracker ng Pumpkin Pi Trick-or-Treat
Tracker ng Pumpkin Pi Trick-or-Treat
Paano Bumuo ng isang Monitor ng Temperatura ng Raspberry Pi
Paano Bumuo ng isang Monitor ng Temperatura ng Raspberry Pi
Paano Bumuo ng isang Monitor ng Temperatura ng Raspberry Pi
Paano Bumuo ng isang Monitor ng Temperatura ng Raspberry Pi
Mag-stream ng Data Mula sa Google Sheets patungo sa isang Dashboard
Mag-stream ng Data Mula sa Google Sheets patungo sa isang Dashboard
Mag-stream ng Data Mula sa Google Sheets patungo sa isang Dashboard
Mag-stream ng Data Mula sa Google Sheets patungo sa isang Dashboard

Sa tutorial na ito, ipapakita namin sa iyo kung paano gumawa ng pagsubaybay sa lokasyon ng real-time gamit ang isang BerryGPS-GSM, isang Raspberry Pi Zero, at Paunang Estado. Magpadala kami ng longitude, latitude at bilis sa pamamagitan ng 3G gamit ang BerryGPS-GSM sa Initial State.

Mga gamit

  • Raspberry Pi Zero
  • BerryGPS-GSM
  • Paunang Estado

Hakbang 1: Paunang Estado

Paunang Estado
Paunang Estado

Nais naming i-stream ang lahat ng aming longitude, latitude, at bilis ng data sa isang cloud service at gawing serbisyong iyon ang aming data sa isang magandang dashboard na maaari naming mai-access mula sa aming laptop o mobile device. Gagamitin namin ang Initial State.

Hakbang 1: Magrehistro para sa Paunang Account ng Estado

Pumunta sa https://iot.app.initialstate.com at lumikha ng isang bagong account. Nakakuha ka ng isang 14 na libreng pagsubok at ang sinumang may isang edu email address ay maaaring magparehistro para sa isang libreng plano ng mag-aaral.

Hakbang 2: I-install ang ISStreamer

I-install ang module ng Initial State Python sa iyong Raspberry Pi. Sa prompt ng utos, patakbuhin ang sumusunod na utos:

$ cd / home / pi /

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

Hakbang 3: Gumawa ng ilang Automagic

Pagkatapos ng Hakbang 2 makikita mo ang isang bagay na katulad sa sumusunod na output sa screen:

pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: Simula ng ISStreamer Python Madaling Pag-install! Maaari itong tumagal ng ilang minuto upang mai-install, kumuha ng kape:) Ngunit huwag kalimutang bumalik, magkakaroon ako ng mga katanungan sa paglaon! Natagpuan easy_install: setuptools 1.1.6 Natagpuan pip: pip 1.5.6 mula sa /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip pangunahing bersyon: 1 pip menor de edad na bersyon: Natagpuan ang 5 ISStreamer, ina-update… Napapanahon na ang kinakailangan: ISStreamer sa Library / Python / 2.7 / site-packages Nililinis … Nais mo bang awtomatikong makakuha ng isang halimbawa ng script? [y / N] Saan mo nais i-save ang halimbawa? [default:./is_example.py] Mangyaring piliin kung aling Initial State app ang iyong ginagamit: 1. app.initialstate.com 2. [BAGO!] iot.app.initialstate.com Ipasok ang pagpipilian 1 o 2: Ipasok ang iot.app.initialstate.com pangalan ng gumagamit: Ipasok ang iot.app.initialstate.com password:

Kapag tinanong kung nais mong awtomatikong kumuha ng isang halimbawa ng script na ilagay ang "y" para sa oo at pindutin ang enter upang i-save ang iyong script sa default na lokasyon. Para sa tanong tungkol sa aling app ang ginagamit mo, piliin ang 2 (maliban kung nag-sign up ka bago ang Nobyembre 2018) at ipasok ang iyong username at password.

Hakbang 4: Patakbuhin ang Halimbawa ng Script

Patakbuhin ang script ng pagsubok upang matiyak na makakalikha kami ng isang stream ng data sa iyong Initial State account. Isulat ang sumusunod na utos:

$ python ay_example.py

Hakbang 5: Halimbawa ng Data

Bumalik sa iyong Initial State account sa iyong web browser. Ang isang bagong bucket ng data na tinawag na "Halimbawa ng Python Stream" ay dapat na lumabas sa kaliwa sa iyong log shelf (maaaring kailanganin mong i-refresh ang pahina). Mag-click sa bucket na ito upang matingnan ang iyong data.

Hakbang 2: BerryGPS-GSM at Raspberry Pi Zero

BerryGPS-GSM at Raspberry Pi Zero
BerryGPS-GSM at Raspberry Pi Zero

Kung gumagamit ka ng isang BerryGPS-GSM, maaari mong sundin ang gabay na ito upang magamit ang GPS at makakonekta ang iyong Pi sa pamamagitan ng 3G gamit ang PPP.

Ipinapakita rin ng naka-link na gabay kung paano gawing awtomatikong kumonekta ang iyong Pi sa network ng carrier kapag na-boot. Kakailanganin mo ito kung balak mong magsagawa ng malayuang pagsubaybay.

Mag-install ng Mga Aklatan

Kakailanganin mong i-install ang mga sumusunod na aklatan:

$ sudo apt-get install python-pip

$ sudo pip install pynmea2 $ sudo pip install ISStreamer

Pangunahing Script ng Python

Lilikha rito ang pangunahing script na mai-stream ang data ng GPS sa Paunang Estado. Ang code sa ibaba ay lumilikha ng isang hiwalay na thread na ginagamit upang subaybayan ang serial port. Kailangan ito dahil mayroon kaming isang pag-pause sa pangunahing loop. Nariyan ang pag-pause upang limitahan kung gaano karaming data ang nai-upload namin sa paglipas ng 3G.

Kung ginawa namin ang lahat sa parehong thread sa panahon ng pag-pause, ang serial buffer ay punan (ito ay FIFO) at kapag nakuha namin ang susunod na halaga mula sa buffer, luma na ito ng ilang segundo. Nangyayari ito sa bawat loop at sa paglaon ang data ay magiging minuto o oras sa likod.

Upang likhain ang script ng sawa at buksan ang editor ng teksto ipasok ang sumusunod na utos:

$ nano GPStracker.py

Kopyahin at i-paste ang sumusunod na code sa text editor. Kakailanganin mong ipasok ang iyong Inisyal na Key sa Pag-access ng Estado sa linya 11 kung saan sinasabing "ENTER Your ACCESS KEY":

#! / usr / bin / pythonfrom gps import * mula sa pag-import ng oras * pag-import ng pag-import ng datime mula sa ISStreamer. Pag-import ng streamer ng Streamer gpsd = Wala #Setup pandaigdigan na #Setup ang paunang stream ng Estado, ipasok ang iyong access key sa ibaba streamer = Streamer (bucket_name = "GPS_Tracker ", bucket_key =" GPS_TRACKER ", access_key =" ENTER YOUR ACCESS KEY ") class GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring ito sa saklaw gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True #Start running this thread def run (self): global gpsd habang gpsdThread.running: gpsd.next () kung _name_ == '_main_': gpsdThread = GPSDcollector (1) # lumikha ng isang thread upang mangolekta ng pagsubok ng data: gpsdThread.start () # simulan ito habang Totoo: i-print ang 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now ().time (), kung (gpsd.fix.longitude0) at (gpsd.fix.longitude'nan '): streamer.log ("Lokasyon", "{lat}, {lon}". format (lat = gpsd.fix.latitude, lon = gpsd.fix.longitu de)) streamer.log ("bilis", gpsd.fix.speed) print 'lat', gpsd.fix.latitude, print 'lon', gpsd.fix.longitude, print 'speed', gpsd.fix.pabilis na pagtulog (5) maliban (KeyboardInterrupt, SystemExit): # kapag pinindot mo ang ctrl + c print "\ nKilling Thread …" gpsdThread.running = Maling gpsdThread.join () # hintayin ang thread upang matapos ang ginagawa nitong naka-print na "Tapos Na. / NExiting."

I-save at lumabas sa text editor ang aking pagpindot sa CTRL + X, Y, ipasok.

Awtomatikong simulan ang script sa boot

Kung gumagawa ka ng malayuang pagsubaybay, gugustuhin mong tumakbo ang script sa boot. Upang magawa ito, lilikha kami ng isang maliit na script na magsisimula sa pangunahing programa ng sawa. Ipasok ang sumusunod na utos:

$ nano GPStrackerStart.sh

Kopyahin ang mga linya sa text editor:

#! / baseng / bash

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

Ang pag-pause sa itaas ay naroon upang bigyan ang oras ng Pi upang mag-boot at kumonekta sa pamamagitan ng PPP.

Gawing maipapatupad ang script:

$ chmod + x ~ / GPStrackerStart.sh

Gagamitin namin ang cron upang simulan ang script tuwing ang mga bota ng Pi:

$ crontab -e

Idagdag ang linya sa ibaba sa ibaba:

@reboot /home/pi/GPStrackerStart.sh &

Hakbang 3: Lokasyon at Bilis ng Dashboard

Lokasyon at Bilis na Dashboard
Lokasyon at Bilis na Dashboard

Ngayon na mayroon ka ng iyong proyekto at pagpapatakbo ng data ay dapat na nagpapadala sa Paunang Estado. Magkakaroon ka ng data ng GPS at data ng bilis. Maaari mong gamitin ang data ng GPS sa isang map Tile upang subaybayan ang lokasyon. Para sa map Tile, tiyaking suriin ang check Path ng Draw Path upang ang iyong pagsubaybay sa lokasyon ay nai-mapa tulad ng dashboard sa itaas. Maaari mong ilagay ang iyong data ng bilis sa isang linya ng linya upang makita ang bilis sa paglipas ng panahon.

Inirerekumendang: