Мазмуну:

Реалдуу убакытта GPS көзөмөлдөө: 3 кадам
Реалдуу убакытта GPS көзөмөлдөө: 3 кадам

Video: Реалдуу убакытта GPS көзөмөлдөө: 3 кадам

Video: Реалдуу убакытта GPS көзөмөлдөө: 3 кадам
Video: ROYAL Электр скутери CHOPPER CITYCOCO 3000w Electro-chopper citycoco citikoko 3000w электрдик цикл 2024, Июль
Anonim

By elizabethnaFollow More by Author:

Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker
Raspberry Pi температура мониторун кантип куруу керек
Raspberry Pi температура мониторун кантип куруу керек
Raspberry Pi температура мониторун кантип куруу керек
Raspberry Pi температура мониторун кантип куруу керек
Google Барактарынан Маалыматтар тактасына агым
Google Барактарынан Маалыматтар тактасына агым
Google Барактарынан Маалыматтар тактасына агым
Google Барактарынан Маалыматтар тактасына агым

Бул окуу куралында, биз BerryGPS-GSM, Raspberry Pi Zero жана Initial Stateти колдонуп, реалдуу убакытта жайгашкан жерди кантип көзөмөлдөөнү көрсөтөбүз. Биз БерриGPS-GSM менен 3G аркылуу узундукту, кеңдикти жана ылдамдыкты баштапкы абалга жөнөтөбүз.

Жабдуулар

  • Raspberry Pi Zero
  • BerryGPS-GSM
  • Баштапкы мамлекет

1 -кадам: Баштапкы абал

Баштапкы мамлекет
Баштапкы мамлекет

Биз бардык узундук, кеңдик жана ылдамдык маалыматтарыбызды булут кызматына өткөрүп берүүнү каалайбыз жана бул кызмат биздин маалыматты ноутбуктан же мобилдик түзмөктөн кире ала турган жакшы панельге айландырууну каалайбыз. Биз баштапкы абалды колдонобуз.

1 -кадам: Баштапкы мамлекеттик эсепке катталуу

Https://iot.app.initialstate.com дарегине өтүп, жаңы каттоо эсебин түзүңүз. Сиз 14 күндүк акысыз сынамык версияга ээ болосуз жана edu электрондук почтасы барлар акысыз студенттик планга каттала алышат.

2 -кадам: ISStreamer орнотуу

Баштапкы абал Python модулун Raspberry Piге орнотуңуз. Буйрук сабында төмөнкү буйрукту аткарыңыз:

$ cd/home/pi/

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

3 -кадам: Automagic жасаңыз

2 -кадамдан кийин экранда төмөнкү чыгарылышка окшош нерсени көрөсүз:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: ISStreamer Python Easy орнотуусун баштоо! Бул орнотуу үчүн бир нече мүнөт талап кылынышы мүмкүн, кофе алыңыз:) Бирок кайра келүүнү унутпаңыз, кийинчерээк суроолорум болот! Табылган easy_install: setuptools 1.1.6 Табылган пип: pip 1.5.6 /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip негизги версиясы: 1 pip minor version: 5 ISStreamer табылды, жаңыртылууда … Талап мурунтан эле жаңыртылган: ISStreamer in Library/Python/2.7/site-packages тазалоо… Сиз автоматтык түрдө мисал скриптин алууну каалайсызбы? [y/N] Мисалды кайда сактагыңыз келет? [демейки:./is_example.py] Кайсы Баштапкы Колдонмону колдонуп жатканыңызды тандаңыз: 1. app.initialstate.com 2. [NEW!] 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 Stream Example" деп аталган жаңы маалымат чакасы журналдын текчесинде сол тарапта көрүнүшү керек болчу (баракты жаңыртууңуз керек болушу мүмкүн). Маалыматыңызды көрүү үчүн бул чаканы басыңыз.

2-кадам: BerryGPS-GSM & Raspberry Pi Zero

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

Эгерде сиз BerryGPS-GSM колдонуп жатсаңыз, анда GPSтин иштеши үчүн бул көрсөтмөнү ээрчип, Пиңизди PPP аркылуу 3G аркылуу туташууга болот.

Шилтемеленген колдонмо сиздин Пиңиз жүктөлгөндө автоматтык түрдө оператор тармагына кантип кошулууну көрсөтөт. Эгер сиз алыстан көзөмөлдөөнү пландаштырсаңыз, бул сизге керек болот.

Китепканаларды орнотуу

Сиз төмөнкү китепканаларды орнотушуңуз керек болот:

$ sudo apt-get python-pip орнотуу

$ sudo pip орнотуу pynmea2 $ sudo pip ISStreamer орнотуу

Негизги Python Script

Бул жерде биз GPS маалыматын Initial State агымына өткөрө турган негизги скриптти түзөбүз. Төмөндөгү код сериялык портту көзөмөлдөө үчүн колдонулган өзүнчө жипти түзөт. Бул негизги циклда тыныгуу болгондуктан керек. Тыныгуу 3G аркылуу канча маалымат жүктөөбүздү чектөө үчүн болот.

Эгерде биз тыныгуу учурунда баарын бир эле жипте кылган болсок, сериялык буфер толтурулат (ал FIFO) жана буферден кийинки маанини алганда, ал бир нече секундга эскирип калат. Бул ар бир циклда болот жана акыры маалыматтар мүнөт же саат артта калат.

Python скриптин түзүү жана текст редакторун ачуу үчүн төмөнкү буйрукту киргизиңиз:

$ nano GPStracker.py

Төмөнкү кодду көчүрүп, текст редакторуна чаптаңыз. Сиз "Кирүү АЧКЫЧЫНЫЗДЫ КИРГИЗ" деп жазылган 11 -сапка Баштапкы Кирүү Ачкычыңызды киргизишиңиз керек:

#! /usr/bin/pythonfrom GPS импорту * убакыттан импорт * ISStreamerден импорттоо датасы ", 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 #Start this thread def run (self): global gpsd while gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # маалыматтарды чогултуу үчүн жипти түзүп көрүңүз: gpsdThread.start () # аны иштетип көрүңүз, Чынында: басып чыгаруу 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now ().time (), if (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 уйку (5) (KeyboardInterrupt, SystemExit) башка: # ctrl+c басканда "\ nКитирүү …" gpsdThread.running = False gpsdThread.join () # жип эмне кылып бүткөнүн күтө туруңуз "Бүттү. / NЧыгуу."

Сактоо жана CTRL + X, Y басуу менен текст редакторунан чыгыңыз.

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

Эгерде сиз алыстан байкоо жүргүзүп жатсаңыз, анда скрипттин жүктөөдө иштешин каалайт элеңиз. Бул үчүн, биз негизги питон программасын баштай турган кичинекей скрипт түзөбүз. Төмөнкү буйрукту киргизиңиз:

$ nano GPStrackerStart.sh

Саптарды текст редакторуна көчүрүү:

#!/bin/bash

уйку 15 python /home/pi/GPStracker.py &

Жогорудагы тыныгуу Piге PPP аркылуу жүктөөгө жана туташууга убакыт берүү үчүн бар.

Скриптти аткарылуучу кылыңыз:

$ chmod +x ~/GPStrackerStart.sh

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

$ crontab -e

Төмөнкү сапты астына кошуңуз:

@reboot /home/pi/GPStrackerStart.sh &

3 -кадам: жайгашуу жана ылдамдык тактасы

Жайгашкан жер жана ылдамдык тактасы
Жайгашкан жер жана ылдамдык тактасы

Эми сиздин долбооруңуз иштеп баштагандан кийин, маалыматтар баштапкы мамлекетке жөнөтүлүшү керек. Сизде GPS маалыматы жана ылдамдык маалыматы болот. Жайгашкан жерди көзөмөлдөө үчүн GPS картасын Tile картасында колдоно аласыз. Карта плиткасы үчүн, Жолуңузду белгилөө кутучасын белгилеп коюңуз, ошондо сиздин жайгашкан жериңизди көзөмөлдөө жогорудагы панельге окшоштурулат. Убакыттын өтүшү менен ылдамдыкты көрүү үчүн ылдамдык маалыматыңызды сызыктуу диаграммага койсоңуз болот.

Сунушталууда: