Orodha ya maudhui:

Ufuatiliaji wa GPS ya wakati halisi: 3 Hatua
Ufuatiliaji wa GPS ya wakati halisi: 3 Hatua

Video: Ufuatiliaji wa GPS ya wakati halisi: 3 Hatua

Video: Ufuatiliaji wa GPS ya wakati halisi: 3 Hatua
Video: Маленький лисенок вышел к людям за помощью 2024, Novemba
Anonim

Na elizabethna Fuata Zaidi na mwandishi:

Malenge Pi Ujanja-au-Tibu Tracker
Malenge Pi Ujanja-au-Tibu Tracker
Malenge Pi Ujanja-au-Tibu Tracker
Malenge Pi Ujanja-au-Tibu Tracker
Jinsi ya Kuunda Raspberry Pi Joto Monitor
Jinsi ya Kuunda Raspberry Pi Joto Monitor
Jinsi ya Kuunda Raspberry Pi Joto Monitor
Jinsi ya Kuunda Raspberry Pi Joto Monitor
Tiririsha Takwimu Kutoka kwa Laha za Google hadi kwenye Dashibodi
Tiririsha Takwimu Kutoka kwa Laha za Google hadi kwenye Dashibodi
Tiririsha Takwimu Kutoka kwa Laha za Google hadi kwenye Dashibodi
Tiririsha Takwimu Kutoka kwa Laha za Google hadi kwenye Dashibodi

Katika mafunzo haya, tutakuonyesha jinsi ya kufanya ufuatiliaji wa mahali halisi kutumia BerryGPS-GSM, Raspberry Pi Zero, na Jimbo la Awali. Tutatuma longitudo, latitudo na kasi kupitia 3G na BerryGPS-GSM kwa Jimbo la Awali.

Vifaa

  • Raspberry Pi Zero
  • BerryGPS-GSM
  • Jimbo la Awali

Hatua ya 1: Jimbo la Awali

Jimbo la Awali
Jimbo la Awali

Tunataka kutiririsha longitudo, latitudo, na data ya kasi kwa huduma ya wingu na huduma hiyo ibadilishe data yetu kuwa dashibodi nzuri ambayo tunaweza kupata kutoka kwa kompyuta yetu ndogo au kifaa cha rununu. Tutatumia Jimbo la Awali.

Hatua ya 1: Jisajili kwa Akaunti ya Jimbo la Awali

Nenda kwa https://iot.app.initialstate.com na uunda akaunti mpya. Unapata jaribio la bure la siku 14 na mtu yeyote aliye na anwani ya barua pepe ya edu anaweza kujiandikisha kwa mpango wa bure wa mwanafunzi.

Hatua ya 2: Sakinisha ISStreamer

Sakinisha moduli ya Python State State kwenye Raspberry Pi yako. Katika mwongozo wa amri, tumia amri ifuatayo:

$ cd / nyumbani / pi /

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

Hatua ya 3: Fanya Automagic

Baada ya Hatua ya 2 utaona kitu sawa na pato lifuatalo kwenye skrini:

pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: Kuanzia ISStreamer Python Ufungaji Rahisi! Hii inaweza kuchukua dakika kadhaa kufunga, kunyakua kahawa kadhaa:) Lakini usisahau kurudi, nitakuwa na maswali baadaye! Imepatikana easy_install: setuptools 1.1.6 Imepatikana pip: pip 1.5.6 kutoka / Library / Python / 2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip great version: 1 pip minor version: 5 ISStreamer imepatikana, inasasisha… Mahitaji tayari yamesasishwa: ISStreamer katika Maktaba / Python / 2.7 / vifurushi vya tovuti Kusafisha… Je! Unataka kiotomati kupata hati ya mfano? [y / N] Unataka kuokoa mfano wapi? [chaguo-msingi:./is_example.py] Tafadhali chagua programu ipi ya Jimbo la Awali unayotumia: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com Ingiza chaguo 1 au 2: Ingiza iot.app jina la mtumiaji la.initialstate.com: Ingiza nenosiri la iot.app.initialstate.com:

Unapoulizwa ikiwa unataka kiatomati kupata hati ya mfano weka "y" kwa ndio na bonyeza kitufe cha kuingia ili kuhifadhi hati yako katika eneo chaguo-msingi. Kwa swali kuhusu ni programu ipi unayotumia, chagua 2 (isipokuwa ikiwa umejisajili kabla ya Novemba 2018) na uweke jina lako la mtumiaji na nywila.

Hatua ya 4: Endesha Mfano wa Mfano

Tumia hati ya jaribio ili kuhakikisha kuwa tunaweza kuunda mkondo wa data kwenye akaunti yako ya Jimbo la Awali. Andika amri ifuatayo:

$ chatu ni_mfano.py

Hatua ya 5: Mfano wa Takwimu

Rudi kwenye akaunti yako ya Jimbo la Awali katika kivinjari chako cha wavuti. Ndoo mpya ya data iitwayo "Mfano wa Mkondo wa Python" inapaswa kuwa imeonekana upande wa kushoto kwenye rafu yako ya logi (huenda ukalazimika kuonyesha ukurasa upya). Bonyeza kwenye ndoo hii ili uone data yako.

Hatua ya 2: BerryGPS-GSM & Raspberry Pi Zero

BerryGPS-GSM & Raspberry Pi Zero
BerryGPS-GSM & Raspberry Pi Zero

Ikiwa unatumia BerryGPS-GSM, unaweza kufuata mwongozo huu ili kufanya GPS ifanye kazi na kupata Pi yako kuungana kupitia 3G kwa kutumia PPP.

Mwongozo uliounganishwa pia unaonyesha jinsi ya kufanya Pi yako iunganishwe na mtandao wa wabebaji kiatomati wakati imebuniwa. Utahitaji hii ikiwa unapanga kufanya ufuatiliaji wa mbali.

Sakinisha Maktaba

Utahitaji kufunga maktaba zifuatazo:

$ sudo apt-kupata kufunga python-pip

$ sudo pip kufunga pynmea2 $ sudo pip kufunga ISStreamer

Hati kuu ya Chatu

Hapa tutaunda hati kuu ambayo itatiririsha data ya GPS kwenda Jimbo la Awali. Nambari iliyo hapa chini huunda uzi tofauti ambao hutumiwa kufuatilia bandari ya serial. Hii inahitajika kwa sababu tuna pause katika kitanzi kuu. Pause iko ili kuzuia data tunayopakia zaidi ya 3G.

Ikiwa tulifanya kila kitu kwenye uzi huo wakati wa kupumzika, bafa ya serial ingejaza (ni FIFO) na tunapopata thamani inayofuata kutoka kwa bafa, itakuwa ya zamani kwa sekunde chache. Hii hufanyika kila kitanzi na mwishowe data itakuwa nyuma kwa dakika au masaa.

Kuunda hati ya chatu na kufungua kihariri maandishi andika amri ifuatayo:

$ nano GPStracker.py

Nakili na ubandike nambari ifuatayo kwenye kihariri cha maandishi. Utahitaji kuingiza Ufunguo wako wa Ufikiaji wa Jimbo la Awali kwenye laini ya 11 ambapo inasemekana "Ingiza ufunguo wako wa ufikiaji":

#! / usr / bin / python kutoka kwa gps kuagiza * kutoka kuagiza wakati * kuagiza kuingiza nyuzi wakati wa kuingiza kutoka ISStreamer. Streamer import Streamer gpsd = Hakuna #Setup global variable #Setup the State State stream, ingiza ufunguo wako wa ufikiaji chini ya mtiririko = Streamer (ndoo_name = "GPS_Tracker ", ndoo_key =" GPS_TRACKER ", access_key =" Ingiza ufunguo wako wa ufikiaji ") darasa la GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring iko katika wigo gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True #Start mbio this thread def run (self): global gpsd while gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # tengeneza uzi kukusanya data jaribu: gpsdThread.start () # anzisha wakati ni kweli: chapa 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now () wakati (), ikiwa (gpsd.fix.longitude0) na (gpsd.fix.longitude'nan '): streamer.log ("Mahali", "{lat}, {lon}". format (lat = gpsd.fix.kushukuru, lon = gpsd.fix.longitu de)) streamer.log ("kasi", gpsd.fix.speed) chapa 'lat', gpsd.fix.litude, chapa 'lon', gpsd.fix.longitude, chapa 'speed', gpsd.fix.speed usingizi (5) isipokuwa (KeyboardInterrupt, SystemExit): #unapobonyeza ctrl + c chapa "\ nKilling Thread…" gpsdThread.running = False gpsdThread.join () # subiri uzi kukamilisha unachapisha "Nimemaliza. / NKutoka."

Hifadhi na utoke kihariri cha maandishi kwa kubonyeza CTRL + X, Y, ingiza.

Anza hati moja kwa moja kwenye boot

Ikiwa unafanya ufuatiliaji wa mbali, ungetaka hati ianze kwenye boot. Ili kufanya hivyo, tutaunda hati ndogo ambayo itaanza programu kuu ya chatu. Ingiza amri ifuatayo:

$ nano GPStrackerStart.sh

Nakili mistari kwenye kihariri cha maandishi:

#! / bin / bash

lala chatu 15 / nyumba/pi/GPStracker.py &

Pause hapo juu ipo ili kumpa Pi wakati wa kuanza na kuungana kupitia PPP.

Fanya hati iweze kutekelezwa:

$ chmod + x ~ / GPStrackerStart.sh

Tutatumia cron kuanza hati kila wakati buti za Pi:

$ crontab -e

Ongeza mstari ulio chini chini:

@ reboot / home /pi/GPStrackerStart.sh &

Hatua ya 3: Mahali & Dashibodi ya Kasi

Mahali & Dashibodi ya Kasi
Mahali & Dashibodi ya Kasi

Sasa kwa kuwa una mradi wako na data inayofaa inapaswa kutumwa kwa Jimbo la Awali. Utakuwa na data ya GPS na data ya kasi. Unaweza kutumia data ya GPS katika Tile ya ramani kufuatilia eneo. Kwa Tile ya ramani, hakikisha uangalie kisanduku cha kuteua Njia ya Chora ili ufuatiliaji wa eneo lako uwe umepangwa kama dashibodi hapo juu. Unaweza kuweka data yako ya kasi kwenye grafu ya mstari ili kuona kasi kwa muda.

Ilipendekeza: