Բովանդակություն:
- Պարագաներ
- Քայլ 1: Նախնական վիճակ
- Քայլ 2: BerryGPS-GSM & Raspberry Pi Zero
- Քայլ 3: Տեղադրության և արագության վահանակ
Video: Իրական ժամանակում GPS հետևում ՝ 3 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Հետևեք հեղինակի ավելին ՝
Այս ձեռնարկում մենք ձեզ ցույց կտանք, թե ինչպես անել իրական ժամանակում տեղադրության հետևում ՝ օգտագործելով BerryGPS-GSM, Raspberry Pi Zero և Initial State: Մենք երկարություն, լայնություն և արագություն 3G- ի միջոցով BerryGPS-GSM- ով կուղարկենք Նախնական վիճակ:
Պարագաներ
- Ազնվամորի Պի eroրո
- BerryGPS-GSM
- Նախնական վիճակ
Քայլ 1: Նախնական վիճակ
Մենք ցանկանում ենք մեր ամբողջ երկայնության, լայնության և արագության տվյալները հոսել ամպային ծառայության վրա և այդ ծառայությունը դարձնել մեր տվյալները գեղեցիկ վահանակի, որին կարող ենք մուտք գործել մեր նոութբուքից կամ շարժական սարքից: Մենք կօգտագործենք Initial State- ը:
Քայլ 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: Կատարեք որոշ ավտոմատիկա
Քայլ 2 -ից հետո էկրանին կտեսնեք հետևյալ արտադրանքի նման մի բան.
pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword. Սկսնակ ISStreamer Python Հեշտ տեղադրում: Տեղադրումը կարող է տևել մի քանի րոպե, սուրճ խմել:) Բայց մի մոռացեք վերադառնալ, ես հարցեր կունենամ ավելի ուշ: Գտնվել է easy_install. Գտնվել է 5 ISStreamer, թարմացվում է … Պահանջն արդեն արդիական է. ISStreamer գրադարանում/Python/2.7/կայքի փաթեթներում Մաքրում … wantանկանու՞մ եք ավտոմատ կերպով ստանալ օրինակ սցենար: [y/N] Որտե՞ղ եք ցանկանում պահպանել օրինակը: [կանխադրված..initialstate.com օգտվողի անունը. Մուտքագրեք iot.app.initialstate.com գաղտնաբառը:
Հարցին, թե արդյո՞ք ցանկանում եք ավտոմատ կերպով ձեռք բերել օրինակ սցենար, այո նշեք «y» և սեղմեք enter ՝ ձեր սկրիպտը կանխադրված վայրում պահելու համար: Հարցին, թե որ ծրագիրն եք օգտագործում, ընտրեք 2 -ը (եթե չեք գրանցվել մինչև 2018 թ. Նոյեմբեր) և մուտքագրեք ձեր օգտանունը և գաղտնաբառը:
Քայլ 4: Գործարկեք օրինակ սցենարը
Գործարկեք փորձարկման սցենարը `համոզվելու համար, որ մենք կարող ենք տվյալների հոսք ստեղծել ձեր Նախնական վիճակի հաշվին: Գրեք հետևյալ հրամանը.
$ python is_example.py
Քայլ 5: Տվյալների օրինակ
Վերադարձեք ձեր սկզբնական վիճակի հաշվին ձեր վեբ դիտարկիչում: Տվյալների նոր դույլ, որը կոչվում է «Python Stream Օրինակ», պետք է հայտնվեր ձեր մատյանների դարակում ձախ կողմում (գուցե ստիպված լինեք թարմացնել էջը): Կտտացրեք այս դույլին ՝ ձեր տվյալները դիտելու համար:
Քայլ 2: BerryGPS-GSM & Raspberry Pi Zero
Եթե դուք օգտագործում եք BerryGPS-GSM, կարող եք հետևել այս ուղեցույցին, որպեսզի GPS- ը աշխատի և ձեր Pi- ն միանա 3G- ի միջոցով ՝ օգտագործելով PPP:
Կապված ուղեցույցը նաև ցույց է տալիս, թե ինչպես կարելի է ստիպել ձեր Pi- ին ինքնաբերաբար միանալ կրիչի ցանցին, երբ գործարկվում է: Սա ձեզ պետք կգա, եթե պլանավորում եք կատարել հեռավոր հետևում:
Տեղադրեք գրադարաններ
Ձեզ հարկավոր է տեղադրել հետևյալ գրադարանները.
$ sudo apt-get տեղադրել python-pip
$ sudo pip տեղադրել pynmea2 $ sudo pip տեղադրել ISStreamer
Հիմնական Python Script
Այստեղ մենք կստեղծենք հիմնական սցենարը, որը GPS- ի տվյալները կհեռացնի Նախնական վիճակ: Ստորև բերված ծածկագիրը ստեղծում է առանձին թել, որն օգտագործվում է սերիական պորտը վերահսկելու համար: Սա անհրաժեշտ է, քանի որ հիմնական հանգույցում մենք ունենք դադար: Դադարն այնտեղ է ՝ սահմանափակելու համար, թե որքան տվյալների ենք վերբեռնում 3G- ից ավելի:
Եթե մենք ընդմիջման ժամանակ ամեն ինչ անեինք նույն շարանում, ապա սերիական բուֆերը կլցվեր (դա FIFO է), և երբ բուֆերից ստանանք հաջորդ արժեքը, այն մի քանի վայրկյանով հին կլինի: Դա տեղի է ունենում յուրաքանչյուր հանգույց և, ի վերջո, տվյալները րոպեներ կամ ժամեր հետ կլինեն:
Պիթոնի սցենարը ստեղծելու և տեքստային խմբագրիչը բացելու համար մուտքագրեք հետևյալ հրամանը.
$ nano GPStracker.py
Պատճենեք և տեղադրեք հետևյալ ծածկագիրը տեքստային խմբագրիչի մեջ: Դուք պետք է մուտքագրեք ձեր սկզբնական վիճակի մուտքի բանալին 11 -րդ տողում, որտեղ գրված է «Մուտքագրեք ձեր մուտքի բանալին».
#! /usr/bin/python From gps import * from time import * import threadinging import datetime from ISStreamer. Streamer import 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 global gpsd #bring այն ընդգրկում է gpsd = gps (ռեժիմ = WATCH_ENABLE) #Սկսել GPSD self.running = #իշտ #Սկսեք այս շարանը գործարկել def run (self). գլոբալ gpsd մինչ 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 («Տեղ», «{lat}, {lon}». ձևաչափ (lat = gpsd.fix. լայնություն, lon = gpsd.fix.longitu դե) streamer.log («արագություն», gpsd.fix.speed) տպել «լատ», gpsd.fix.latitude, տպել «lon», gpsd.fix.longitude, տպել «արագություն», gpsd.fix.speed sleep (5) բացառությամբ (KeyboardInterrupt, SystemExit). # Երբ սեղմում ես ctrl+c print "\ n Սպանող թեմա …" gpsdThread.running = Կեղծ gpsdThread.join () # սպասիր, մինչև շարանը կավարտի տպածը "Կատարված: / n"
Պահեք և դուրս եկեք տեքստային խմբագրիչից ՝ սեղմելով CTRL + X, Y, մուտքագրեք:
Գործարկումը ինքնաբերաբար սկսեք բեռնման ժամանակ
Եթե դուք կատարում եք հեռակա մոնիտորինգ, ապա կցանկանայիք, որ սցենարը գործի բեռնման վրա: Դա անելու համար մենք կստեղծենք փոքր սցենար, որը կսկսի հիմնական պիթոնի ծրագիրը: Մուտքագրեք հետևյալ հրամանը.
$ nano GPStrackerStart.sh
Պատճենեք տողերը տեքստային խմբագրիչում.
#!/bin/bash
քնել 15 python /home/pi/GPStracker.py &
Վերևի դադարն այն է, որ Pi- ին ժամանակ տրվի գործարկելու և միանալու PPP- ի միջոցով:
Սցենարը կատարելի դարձրեք.
$ chmod +x ~/GPStrackerStart.sh
Մենք կօգտագործենք cron ՝ սցենարը սկսելու համար ամեն անգամ, երբ Pi- ն կոշիկ է անում.
$ crontab -e
Ներքևում ավելացրեք ստորև բերված տողը.
@reboot /home/pi/GPStrackerStart.sh &
Քայլ 3: Տեղադրության և արագության վահանակ
Այժմ, երբ դուք ունեք ձեր նախագիծը գործարկված, տվյալները պետք է ուղարկվեն Նախնական վիճակ: Դուք կունենաք GPS և արագության տվյալներ: Դուք կարող եք օգտագործել GPS տվյալները քարտեզի սալիկում ՝ գտնվելու վայրը հետևելու համար: Քարտեզ Սալիկի համար համոզվեք, որ նշեք Draw Path վանդակը, որպեսզի ձեր գտնվելու վայրի հետագծումը քարտեզագրվի վերևի վահանակի պես: Speedամանակի ընթացքում արագությունը տեսնելու համար կարող եք տեղադրել ձեր արագության տվյալները գծային գրաֆիկի մեջ:
Խորհուրդ ենք տալիս:
Իրական ժամանակում Ռուբիկի խորանարդի փակ աչքերով լուծիչ ՝ օգտագործելով Raspberry Pi և OpenCV. 4 քայլ
Իրական ժամանակի Ռուբիկի խորանարդի փակ աչքերով լուծիչ ՝ օգտագործելով Raspberry Pi և OpenCV. Սա Ռուբիկի խորանարդի գործիքի 2-րդ տարբերակն է, որը պատրաստվել է աչքերը փակ աչքերով լուծելու համար: 1 -ին տարբերակը մշակվել է javascript- ով, կարող եք տեսնել RubiksCubeBlindfolded1 նախագիծը: Ի տարբերություն նախորդի, այս տարբերակը օգտագործում է OpenCV գրադարանը ՝ գույներն ու էլ
Իրական ժամանակում ջրհորի ջրի ջերմաստիճան, հաղորդունակություն և ջրի մակարդակի հաշվիչ ՝ 6 քայլ (նկարներով)
Իրական ժամանակի ջրհորի ջրի ջերմաստիճան, հաղորդունակություն և ջրի մակարդակի հաշվիչ. Այս հրահանգները նկարագրում են, թե ինչպես կարելի է կառուցել էժան, իրական ժամանակի ջրաչափ `ջերմաստիճանը մոնիտորինգի համար, Էլեկտրական հաղորդունակություն (ԵՀ) և ջրի մակարդակները փորված հորերում: Հաշվիչը նախատեսված է փորված ջրհորի ներսում կախված լինելու համար, չափելու ջրի ջերմաստիճանը
Իրական ժամանակում սարքի ճանաչում `օգտագործելով EM ոտնահետքերը. 6 քայլ
Իրական ժամանակում սարքի ճանաչում `օգտագործելով EM ոտնահետքեր. Այս սարքը նախատեսված է դասակարգել տարբեր էլեկտրոնային սարքեր` ըստ դրանց EM ազդանշանների: Տարբեր սարքերի համար նրանք ունեն տարբեր EM ազդանշաններ, որոնք արտանետվում են դրա կողմից: Մենք մշակել ենք IoT լուծում ՝ մասնիկների միջոցով էլեկտրոնային սարքերը նույնականացնելու համար
MicroPython ծրագիր. Թարմացրեք կորոնավիրուսային հիվանդության (COVID-19) տվյալները իրական ժամանակում ՝ 10 քայլ (նկարներով)
MicroPython :րագիր. Թարմացրեք կորոնավիրուսային հիվանդության (COVID-19) տվյալները իրական ժամանակում. Վերջին մի քանի շաբաթների ընթացքում աշխարհում կորոնավիրուսային հիվանդության (COVID 19) հաստատված դեպքերի թիվը գերազանցել է 100,000-ը, իսկ առողջապահության համաշխարհային կազմակերպությունը (ԱՀԿ) հայտարարել է նոր կորոնավիրուսային թոքաբորբի բռնկումը կդառնա գլոբալ համաճարակ: Ես շատ
Կենդանի Covid19 հետևող ՝ օգտագործելով ESP8266 և OLED - Իրական ժամանակում Covid19- ի վահանակ ՝ 4 քայլ
Կենդանի Covid19 հետևող ՝ օգտագործելով ESP8266 և OLED | Իրական ժամանակում Covid19- ի վահանակ. Այցելեք Techtronic Harsh կայք ՝ http: //techtronicharsh.com Ամենուր կա նոր կորոնավիրուսի (COVID19) հսկայական բռնկում: Անհրաժեշտ դարձավ զգոնություն պահել աշխարհում COVID-19- ի ներկայիս սցենարի վրա: Այսպիսով, տանը գտնվելով, սա էր