Мазмуну:
- Жабдуулар
- 1 -кадам: Баштапкы абал
- 2-кадам: BerryGPS-GSM & Raspberry Pi Zero
- 3 -кадам: жайгашуу жана ылдамдык тактасы
Video: Реалдуу убакытта GPS көзөмөлдөө: 3 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
By elizabethnaFollow More by Author:
Бул окуу куралында, биз 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 колдонуп жатсаңыз, анда 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 картасында колдоно аласыз. Карта плиткасы үчүн, Жолуңузду белгилөө кутучасын белгилеп коюңуз, ошондо сиздин жайгашкан жериңизди көзөмөлдөө жогорудагы панельге окшоштурулат. Убакыттын өтүшү менен ылдамдыкты көрүү үчүн ылдамдык маалыматыңызды сызыктуу диаграммага койсоңуз болот.
Сунушталууда:
Реалдуу убакытта саат модулун кантип колдонуу керек (DS3231): 5 кадам
Чыныгы убакыт саатынын модулун кантип колдонуу керек (DS3231): DS3231-бул арзан, өтө так I2C реалдуу убакыт сааты (RTC), температурасы компенсацияланган кристалл осциллятору (TCXO) жана кристалл. Түзмөк батарейканын кирүүсүн камтыйт жана негизги кубаттуулук качан так иштейт
Реалдуу убакытта Рубиктин кубу Raspberry Pi жана OpenCVди колдонуп, көзүн байлаган чечүүчү: 4 кадам
Реалдуу убакытта Рубиктин кубу Raspberry Pi жана OpenCVди колдонуп, көзү байланган чечүүчү: Бул Рубиктин куб куралынын көзүн байлап чечүү үчүн жасалган 2-версиясы. 1 -версия JavaScript тарабынан иштелип чыккан, сиз RubiksCubeBlindfolded1 долбоорун көрө аласыз1 Бул мурункудан айырмаланып, бул версия OpenCV китепканасын колдонуп, түстөрдү жана д
Реалдуу убакытта кудуктун суу деңгээлин өлчөөчү: 6 кадам (сүрөттөр менен)
Реалдуу убакытта кудуктун суу деңгээлин өлчөөчү: Бул көрсөтмөлөр казылган кудуктарда колдонуу үчүн арзан баада, реалдуу убакытта суунун деңгээлин эсептегичти кантип курууну сүрөттөйт. Суунун деңгээли өлчөгүч казылган кудуктун ичине илинип, суунун деңгээлин күнүнө бир жолу өлчөп, маалыматтарды WiFi же уюлдук байланыш аркылуу жөнөтүү үчүн иштелип чыккан
Ардуино UNO жана SD-Card менен нымдуулукту жана температураны реалдуу убакытта кантип жаздыруу керек - DHT11 Proteusтагы маалыматтарды каттоочу симуляциясы: 5 кадам
Ардуино UNO жана SD-Card менен нымдуулукту жана температураны реалдуу убакытта кантип жаздыруу керек | DHT11 Data Logger Simulation in Proteus: Киришүү: салам, бул Liono Maker, бул жерде YouTube шилтемеси. Биз Arduino менен креативдүү долбоор түзүп, камтылган системаларда иштейбиз. Дата-Логгер: Маалыматты жазуучу (ошондой эле маалыматтарды жазуучу же маалымат жазгыч)-бул убакыттын өтүшү менен маалыматтарды жазуучу электрондук түзүлүш
Үйдө реалдуу убакытта GPS Tracker (SIM800L, Ublox NEO-6M, Arduino): 8 кадам
Үйдө реалдуу убакытта GPS Tracker (SIM800L, Ublox NEO-6M, Arduino): Демек, сизде GSM модулу мага окшоп жатат? Ошондой эле GPS-трекерби? Биз дагы ушундай деп ойлойбуз! Бул көрсөтмөлөрдө, мен сизге жаңы башталгычтан көздөгөн максатыңызга кантип жетүү керектигин көрсөтүүгө аракет кылам