Мазмұны:
- Жабдықтар
- 1 -қадам: бастапқы күй
- 2-қадам: BerryGPS-GSM және Raspberry Pi Zero
- 3 -қадам: Орналасу және жылдамдық тақтасы
Бейне: Нақты уақыттағы GPS қадағалау: 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Автордың толығырақ авторы:
Бұл оқулықта біз 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 қолдансаңыз, сіз 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 картасында пайдалануға болады. Плитка картасы үшін орналасқан жеріңізді бақылау жоғарыдағы бақылау тақтасы сияқты орналасуы үшін Жолды салу құсбелгісін қойыңыз. Уақыт бойынша жылдамдықты көру үшін жылдамдық деректерін сызықтық графикке қоюға болады.
Ұсынылған:
Нақты уақыттағы сағат модулін қалай қолдану керек (DS3231): 5 қадам
Нақты уақыттағы модульді қалай қолдану керек (DS3231): DS3231-бұл температурасы компенсацияланған кристалды осцилляторы (TCXO) мен кристалы бар, бағасы төмен, өте дәл I2C нақты уақыт сағаты (RTC). Құрылғы аккумуляторлық кірісті қамтиды және негізгі қуат қосылған кезде дәл уақытты сақтайды
Raspberry Pi мен OpenCV көмегімен нақты уақыттағы Рубик кубының көзін байлаған шешуші: 4 қадам
Raspberry Pi мен OpenCV көмегімен Рубик текшесінің көзін байлаған шешуші: бұл Рубиктің текше құралының көзді байлап шешуге арналған екінші нұсқасы. Бірінші нұсқа JavaScript арқылы жасалған, сіз RubiksCubeBlindfolded1 жобасын көре аласызБұрынғыдан айырмашылығы, бұл нұсқа OpenCV кітапханасын пайдаланып түстерді және
Нақты уақыттағы су деңгейінің өлшегіші: 6 қадам (суреттермен)
Нақты уақыттағы ұңғыманың су деңгейін өлшеу құралы: Бұл нұсқаулар қазылған ұңғымаларда пайдалану үшін арзан, нақты уақыттағы су деңгейін өлшеуішті қалай құруға болатынын сипаттайды. Су деңгейін өлшейтін құрал қазылған ұңғыманың ішіне ілініп, су деңгейін күніне бір рет өлшеп, деректерді WiFi немесе ұялы байланыс арқылы жіберуге арналған
Нақты уақыттағы судың температурасы, өткізгіштігі мен су деңгейін өлшеуіш: 6 қадам (суреттермен)
Нақты уақыттағы ұңғымадағы судың температурасы, өткізгіштігі мен су деңгейін өлшеуіш: Бұл нұсқаулықта температураны, электр өткізгіштігін (ЕС) және қазылған ұңғымалардағы су деңгейін бақылауға арналған арзан, нақты уақыттағы су есептегішін құру әдісі сипатталған. Есептегіш қазылған ұңғыманың ішіне ілінуге, судың температурасын өлшеуге арналған, EC және
Үйдегі нақты уақыттағы GPS трекері (SIM800L, Ublox NEO-6M, Arduino): 8 қадам
Нақты уақыттағы үйдегі GPS қадағалаушы (SIM800L, Ublox NEO-6M, Arduino): Сонымен, сізде GSM модулі мен сияқты жатыр ма? Сондай-ақ GPS-трекер? Біз де солай ойлаймыз! Бұл нұсқаулықтарда мен сіздің мақсатыңызға жаңадан келген адамның көзқарасы бойынша қалай жетуге болатынын көрсетуге тырысамын, өйткені менде бұрын электротехника туралы білім болмаған еді