Мазмұны:

Нақты уақыттағы GPS қадағалау: 3 қадам
Нақты уақыттағы GPS қадағалау: 3 қадам

Бейне: Нақты уақыттағы GPS қадағалау: 3 қадам

Бейне: Нақты уақыттағы GPS қадағалау: 3 қадам
Бейне: Crypto Pirates Daily News - January 25th, 2022 - Latest Crypto News Update 2024, Шілде
Anonim

Автордың толығырақ авторы:

Асқабақ Pi Trick-or-Treat Tracker
Асқабақ Pi Trick-or-Treat Tracker
Асқабақ Pi Trick-or-Treat Tracker
Асқабақ Pi Trick-or-Treat Tracker
Raspberry Pi температуралық мониторын қалай құруға болады
Raspberry Pi температуралық мониторын қалай құруға болады
Raspberry Pi температуралық мониторын қалай құруға болады
Raspberry Pi температуралық мониторын қалай құруға болады
Деректерді Google парақтарынан бақылау тақтасына жіберіңіз
Деректерді Google парақтарынан бақылау тақтасына жіберіңіз
Деректерді Google парақтарынан бақылау тақтасына жіберіңіз
Деректерді Google парақтарынан бақылау тақтасына жіберіңіз

Бұл оқулықта біз BerryGPS-GSM, Raspberry Pi Zero және Initial State көмегімен нақты уақытта орналасқан жерді қадағалауды көрсетеміз. Біз бойлық, ендік және жылдамдықты 3G арқылы BerryGPS-GSM көмегімен бастапқы күйге жібереміз.

Жабдықтар

  • Raspberry Pi Zero
  • BerryGPS-GSM
  • Бастапқы күй

1 -қадам: бастапқы күй

Бастапқы күй
Бастапқы күй

Біз барлық бойлық, ендік және жылдамдық деректерін бұлт қызметіне жібергіміз келеді және бұл қызмет біздің деректерімізді ноутбуктен немесе мобильді құрылғыдан қол жеткізуге болатын жақсы бақылау тақтасына айналдыруды қалайды. Біз бастапқы күйді қолданамыз.

1 -қадам: Бастапқы мемлекеттік шотқа тіркелу

Https://iot.app.initialstate.com сайтына өтіп, жаңа тіркелгі жасаңыз. Сізге 14 күндік ақысыз сынақ нұсқасы беріледі, ал электрондық поштасы бар кез келген адам студенттің тегін жоспарына жазыла алады.

2 -қадам: ISStreamer орнатыңыз

Бастапқы күй Python модулін Raspberry Pi -ге орнатыңыз. Пәрмен жолында келесі пәрменді іске қосыңыз:

$ cd/home/pi/

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

3 -қадам: Автоматты жасаңыз

2 -қадамнан кейін сіз экранға келесі шығысқа ұқсас нәрсені көресіз:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: ISStreamer Python оңай орнатудың басталуы! Орнатуға бірнеше минут кетуі мүмкін, кофе алыңыз:) Бірақ қайтып оралуды ұмытпаңыз, менде сұрақтар болады! Easy_install табылды: setuptools 1.1.6 Табылған pip: pip 1.5.6 from /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip негізгі нұсқасы: 1 pip шағын нұсқасы: 5 ISStreamer табылды, жаңартылуда … Талап бұрыннан бар: ISStreamer Library/Python/2.7/сайт-пакеттерінде тазаланады… Сіз автоматты түрде мысал сценарийін алғыңыз келе ме? [y/N] Мысалды қайда сақтағыңыз келеді? [әдепкі:./is_example.py] Сіз қолданатын бастапқы күй бағдарламасын таңдаңыз: 1. app.initialstate.com 2. [ЖАҢА!] iot.app.initialstate.com 1 немесе 2 таңдауды енгізіңіз: iot.app енгізіңіз.initialstate.com пайдаланушы аты: iot.app.initialstate.com құпия сөзін енгізіңіз:

Сценарийді автоматты түрде алғыңыз келе ме деген сұраққа «y» қойыңыз және сценарийді әдепкі орында сақтау үшін enter пернесін басыңыз. Сіз қандай қолданба қолданасыз деген сұраққа 2 таңдаңыз (егер 2018 жылдың қараша айына дейін тіркелмеген болсаңыз) және пайдаланушы аты мен құпия сөзді енгізіңіз.

4 -қадам: Мысал сценарийін іске қосыңыз

Бастапқы күй шотыңызға деректер ағыны жасай алатындығымызға тексеру үшін тест сценарийін іске қосыңыз. Келесі пәрменді жазыңыз:

$ python is_example.py

5 -қадам: Деректердің мысалы

Веб -шолғышта бастапқы күйге қайтып оралыңыз. «Python ағынының мысалы» деп аталатын жаңа деректер шкаласы журнал сөресінде сол жақта көрсетілуі керек еді (бетті жаңарту қажет болуы мүмкін). Деректерді қарау үшін осы шелекті басыңыз.

2-қадам: BerryGPS-GSM және Raspberry Pi Zero

BerryGPS-GSM және Raspberry Pi Zero
BerryGPS-GSM және Raspberry Pi Zero

Егер сіз BerryGPS-GSM қолдансаңыз, сіз GPS-тің жұмыс істеуін және Pi-ді PPP көмегімен 3G арқылы қосылу үшін осы нұсқаулықты орындауға болады.

Байланыстырылған нұсқаулықта Pi жүктелген кезде тасымалдаушы желісіне автоматты түрде қосылу әдісі көрсетілген. Егер сіз қашықтан бақылауды жоспарласаңыз, бұл сізге қажет болады.

Кітапханаларды орнатыңыз

Сізге келесі кітапханаларды орнату қажет:

$ sudo apt-get python-pip орнатыңыз

$ sudo pip install pynmea2 $ sudo pip install ISStreamer

Негізгі Python сценарийі

Мұнда біз GPS деректерін бастапқы күйге жіберетін негізгі сценарийді жасаймыз. Төмендегі код сериялық портты бақылау үшін пайдаланылатын бөлек ағын жасайды. Бұл қажет, себебі бізде негізгі циклде кідіріс бар. 3G арқылы жүктелетін деректерді шектеу үшін үзіліс бар.

Егер біз кідіріс кезінде бәрін бірдей ағынмен жасасақ, сериялық буфер толтырылады (бұл FIFO) және буферден келесі мәнді алған кезде ол бірнеше секундқа ескіреді. Бұл әр циклде болады және ақырында деректер бірнеше минут немесе сағат артта қалады.

Python сценарийін құру және мәтіндік редакторды ашу үшін келесі пәрменді енгізіңіз:

$ nano GPStracker.py

Келесі кодты көшіріп, мәтіндік редакторға қойыңыз. 11 -жолда бастапқы кіру кілтін енгізу қажет, онда «КІРУ КІЛТІНІҢ КІЛТІСІН ЕНГІЗУ» жазылады:

#! /usr/bin/pythonfrom gps import * импорттан * импорттау * ISStreamer -ден деректерді импорттау. Streamer импорты Streamer gpsd = Ешқандай #Жаһандық айнымалы мәнді баптау #Бастапқы күй ағынын орнату, кіру кілтін streamer = Streamer астына енгізіңіз (bucket_name = «GPS_Tracker) «, bucket_key =» GPS_TRACKER «, access_key =» КІРУ КІЛТІНІҢ КІЛТІН КІРГІЗ «) класы GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID жаһандық gpsd #bring ол ауқымында gpsd = gps (mode = WATCH_ENABLE) #Start GPSD self.running = True #Осы ағынды іске қосуды бастау def (run): global gpsd while gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # деректерді жинау үшін ағын құрып көріңіз: gpsdThread.start () # оны True күйінде іске қосыңыз: 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now () басып шығарыңыз.time (), егер (gpsd.fix.longitude0) және (gpsd.fix.longitude'nan '): streamer.log («Орналасу», «{лат}, {лон}». форматы (лат = gpsd.fix).тұтастық, lon = gpsd.fix.longitu de)) streamer.log («жылдамдық», gpsd.fix.speed) «lat», gpsd.fix.latitude, «lon», gpsd.fix.longitude, «speed» басып шығару, gpsd.fix.speed sleep басып шығару (5) (KeyboardInterrupt, SystemExit) қоспағанда: # ctrl+c пернелерін басқанда «\ nKilling Thread…» gpsdThread.running = False gpsdThread.join () # жіп істеп жатқан нәрсені аяқтағанша күтіңіз «Дайын. / NШығу. «

Мәтіндік редакторды сақтап, CTRL + X, Y пернелер тіркесімін басып, енгізіңіз.

Сценарийді жүктеу кезінде автоматты түрде бастаңыз

Егер сіз қашықтан бақылауды жасасаңыз, сценарий жүктелу кезінде іске қосылғанын қалайсыз. Ол үшін біз негізгі питон бағдарламасын іске қосатын шағын сценарий жасаймыз. Келесі пәрменді енгізіңіз:

$ nano GPStrackerStart.sh

Жолдарды мәтіндік редакторға көшіріңіз:

#!/bin/bash

ұйқы 15 питон /home/pi/GPStracker.py &

Жоғарыдағы үзіліс Pi -ге PPP арқылы жүктеуге және қосылуға уақыт беру үшін бар.

Сценарийді орындалатын етіп жасаңыз:

$ chmod +x ~/GPStrackerStart.sh

Біз Pi жүктеген сайын сценарийді бастау үшін cron қолданамыз:

$ crontab -e

Төмендегі жолды төменгі жағына қосыңыз:

@reboot /home/pi/GPStrackerStart.sh &

3 -қадам: Орналасу және жылдамдық тақтасы

Орналасу және жылдамдық тақтасы
Орналасу және жылдамдық тақтасы

Енді сіздің жобаңыз іске қосылғаннан кейін деректер бастапқы күйге жіберілуі керек. Сізде GPS деректері мен жылдамдық деректері болады. Орналасқан жерді бақылау үшін GPS картасын Tile картасында пайдалануға болады. Плитка картасы үшін орналасқан жеріңізді бақылау жоғарыдағы бақылау тақтасы сияқты орналасуы үшін Жолды салу құсбелгісін қойыңыз. Уақыт бойынша жылдамдықты көру үшін жылдамдық деректерін сызықтық графикке қоюға болады.

Ұсынылған: