Բովանդակություն:
- Պարագաներ
- Քայլ 1: Շղթայի կառուցում
- Քայլ 2: Գրանցեք պրոցեսորի ջերմաստիճանը ThingSpeak- ով
- Քայլ 3: Պրոցեսորի ջերմաստիճանը ստանալ Raspberry Pi- ից Python- ի միջոցով
- Քայլ 4: anերմաստիճանի հիման վրա օդափոխիչի կառավարում
- Քայլ 5: Վերջնական Python կոդ
- Քայլ 6. Տվյալների մոնիտորինգ Thingspeak Cloud- ի միջոցով
- Քայլ 7: Գործարկեք Python Script- ը գործարկման ժամանակ
Video: Ազնվամորու Pi- ի երկրպագուի խելացի կառավարում Python & Thingspeak- ի միջոցով. 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Հակիրճ ակնարկ
Լռելյայն, երկրպագուն ուղղակիորեն միացված է GPIO- ին - դա ենթադրում է դրա մշտական աշխատանքը: Չնայած օդափոխիչի համեմատաբար հանգիստ աշխատանքին, դրա շարունակական աշխատանքը ակտիվ հովացման համակարգի արդյունավետ օգտագործում չէ: Միևնույն ժամանակ, երկրպագուի անընդհատ աշխատանքը կարող է պարզապես նյարդայնացնել: Բացի այդ, եթե Raspberry Pi- ն անջատված է, հոսանքը միացված լինելու դեպքում օդափոխիչը դեռ կաշխատի:
Այս հոդվածը ցույց կտա, թե ինչպես, օգտագործելով պարզ և ոչ բարդ մանիպուլյացիաներ, եղած հովացման համակարգը դարձնել խելացի, որը միացված կլինի միայն այն ժամանակ, երբ պրոցեսորին դա իսկապես անհրաժեշտ է: Օդափոխիչը միացված կլինի միայն այն դեպքում, երբ օգտագործումը մեծ է, դրանով իսկ նվազեցնելով օդափոխիչի էներգիայի սպառումը և աղմուկը: Երկարացնելով նաև երկրպագուների կյանքը ՝ այն անջատելով անհրաժեշտության դեպքում:
Այն, ինչ դուք կսովորեք
Ինչպես ներդնել Python սցենարը ՝ երկրպագուին վերահսկելու համար ՝ հիմնվելով Raspberry CPU- ի ընթացիկ ջերմաստիճանի վրա ՝ օգտագործելով On-Off հսկողությունը ջերմաստիճանի հիստերեզով: Ինչպես փոխանցել տվյալները ձեր RaspberryPi- ից Things Speak Cloud- ին:
Պարագաներ
Այս ծրագրի համար ձեզ անհրաժեշտ բաղադրիչները հետևյալն են
- Raspberry Pi 4 Համակարգիչ Model B 4GB
- NPN տրանզիստոր S8050330ohms ռեզիստոր
- Orրահապատ ալյումինե մետաղյա պատյան ՝ երկակի երկրպագուներով ՝ Raspberry Pi- ի համար
- Թռիչքային մալուխներ
- Breadboard
Քայլ 1: Շղթայի կառուցում
Շղթան բավականին պարզ է: Օդափոխիչի հոսանքը անջատված է ՝ օգտագործելով NPN տրանզիստոր: Այս կոնֆիգուրացիայում տրանզիստորը գործում է որպես ցածր կողմի անջատիչ: Ռեզիստորից պահանջվում է միայն GPIO- ի միջոցով հոսանքը սահմանափակելու համար: Raspberry Pi- ի GPIO- ն ունի առավելագույն ընթացիկ ելք ՝ 16 մԱ: Ես օգտագործեցի 330 օմ, որը մեզ տալիս է մոտ (5-0.7)/330 = 13 մԱ բազային հոսանք: Ես ընտրեցի NPN տրանզիստոր S8050, այնպես որ 400 մԱ բեռը երկու երկրպագուներից փոխելը խնդիր չէ:
Քայլ 2: Գրանցեք պրոցեսորի ջերմաստիճանը ThingSpeak- ով
ThingSpeak- ը իրերի ինտերնետի հայեցակարգի վրա հիմնված նախագծերի հարթակ է: Այս հարթակը թույլ է տալիս ծրագրեր կառուցել ՝ սենսորներից հավաքված տվյալների հիման վրա: ThingSpeak- ի հիմնական առանձնահատկությունները ներառում են `իրական ժամանակում տվյալների հավաքագրում, տվյալների մշակում և արտացոլում: ThingSpeak API- ն ոչ միայն թույլ է տալիս ուղարկել, պահել և մուտք գործել տվյալներ, այլև տրամադրում է դրանք մշակելու վիճակագրական տարբեր մեթոդներ:
ThingSpeak- ը կարող է ինտեգրվել հանրաճանաչ սարքեր և ծառայություններ, ինչպիսիք են ՝
- Արդուինո
- Ազնվամորի պի
- oBridge / RealTime.io
- Էլեկտրական լամպ
- Բջջային և վեբ ծրագրեր
- Սոցիալական ցանցերը
- Տվյալների վերլուծություն MATLAB- ում
Նախքան սկսելը, ձեզ հաշիվ է պետք ThingSpeak- ում:
- Գնացեք հետևյալ հղումով և գրանցվեք ThingSpeak- ում:
- Ձեր հաշվի ակտիվացումից հետո մուտք գործեք:
- Գնալ դեպի ալիքներ -> Իմ ալիքները
- Կտտացրեք «Նոր ալիք» կոճակին:
- Մուտքագրեք տվյալների անունը, նկարագրությունը և դաշտերը, որոնք ցանկանում եք վերբեռնել
- Կտտացրեք Պահել ալիքը կոճակը ՝ ձեր բոլոր կարգավորումները պահպանելու համար:
Մեզ պետք է API ստեղն, որը հետագայում կավելացնենք python կոդին ՝ մեր պրոցեսորի ջերմաստիճանը Thingspeak ամպին վերբեռնելու համար:
Կտտացրեք API ստեղների ներդիրին ՝ գրելու API բանալին
Երբ ունեք Գրելու API բանալին, մենք գրեթե պատրաստ ենք վերբեռնել մեր տվյալները:
Քայլ 3: Պրոցեսորի ջերմաստիճանը ստանալ Raspberry Pi- ից Python- ի միջոցով
Սցենարը հիմնված է պրոցեսորի ջերմաստիճանի որոնման վրա, որը տեղի է ունենում ամեն վայրկյան: Այն կարելի է ստանալ տերմինալից ՝ չափման_տեմպ պարամետրով գործարկելով vcgencmd հրամանը:
vcgencmd չափման_տեմպ
Subprocess.check_output () գրադարանը օգտագործվել է հրամանը կատարելու համար, այնուհետև սովորական արտահայտության միջոցով `վերադարձված տողից իրական արժեքը հանելու համար:
ենթամշակման ներմուծման check_output- ից
նորից ներմուծել findalldef get_temp (): temp = check_output (["vcgencmd", "masë_temp"]): վերծանել () temp = float (findall ('\ d+\. / d+', temp) [0]) վերադարձ (տեմպ) տպել (get_temp ())
Theերմաստիճանի արժեքը ստանալուց հետո տվյալները պետք է ուղարկվեն ThingSpeak ամպ: Օգտագործեք գրելու API բանալին ՝ ստորև Python կոդի մեջ myApi փոփոխականը փոխելու համար:
urllib ներմուծման խնդրանքից
from re import findall ժամանակից ներմուծում քուն ենթամշակման ներմուծման check_output myAPI = '#################' baseURL = 'https://api.thingspeak.com/update?api_key=% s ' % myAPIdef get_temp (): temp = check_output (["vcgencmd", "masë_temp"]). վերծանել () temp = float (findall (' / d+\. / d+', temp) [0]) վերադարձ (տեմպ) try: while True: temp = get_temp () conn = request.urlopen (baseURL + '& field1 = % s' % (temp)) print (str (temp)) conn.close () sleep (1) εκτός KeyboardIntruptrupt: print («Դուրս գալ սեղմված Ctrl+C»)
Քայլ 4: anերմաստիճանի հիման վրա օդափոխիչի կառավարում
Ստորև ներկայացված Python սցենարը իրականացնում է տրամաբանություն, որը միացնում է օդափոխիչը, երբ ջերմաստիճանը բարձրանում է tempOn- ից և անջատվում է միայն այն ժամանակ, երբ ջերմաստիճանը նվազում է շեմից ցածր: Այսպիսով, օդափոխիչը արագ չի միանա և անջատվի:
ներմուծեք RPi. GPIO- ն որպես GPIO
ներմուծել sys- ից նորից ներմուծել findall ժամանակից ներմուծել քուն ենթամշակման ներմուծման check_output def get_temp (): temp = check_output (["vcgencmd", "masë_temp"]). վերծանել () temp = float (findall ('\ d+\. / d+ ', temp) [0]) վերադառնալ (temp) փորձել. GPIO.setwarnings (False) tempOn = 50 շեմ = 10 controlPin = 14 pinState = False GPIO.setmode (GPIO. BCM) GPIO.setup (controlPin, GPIO. OUT, նախնական = 0) մինչդեռ ճշմարիտ. str (pinState)) քուն (1) բացառությամբ Ստեղնաշարի Անընդհատ. տպել («Դուրս գալ սեղմված Ctrl+C») բացառությամբ ՝ տպել («Այլ բացառություն») տպել («--- Սկսել բացառության տվյալները.») traceback.print_exc (սահմանափակում = 2, file = sys.stdout) print ("--- End Exception Data:") վերջապես: print ("CleanUp") GPIO.cleanup () print ("Endրագրի ավարտ")
Քայլ 5: Վերջնական Python կոդ
Հիմնական պիթոնի կոդը կարելի է գտնել իմ GitHub հաշվի վրա ՝ հետևյալ հղումով: Հիշեք, որ տեղադրեք ձեր սեփական Write API բանալին:
- Մուտք գործեք ձեր Raspberry PI տախտակ
- Գործարկեք հետևյալ հրամանը տերմինալում
python3 cpu.py
Քայլ 6. Տվյալների մոնիտորինգ Thingspeak Cloud- ի միջոցով
Որոշ ժամանակ անց բացեք ձեր ալիքը ThingSpeak- ում և կտեսնեք, թե ինչպես է ջերմաստիճանը բեռնվում Thingspeak ամպի մեջ իրական ժամանակում:
Քայլ 7: Գործարկեք Python Script- ը գործարկման ժամանակ
Դա անելու համար /etc/rc.local ֆայլի վերջում.
sudo nano /etc/rc.local
Դուք պետք է տեղադրեք սցենարի մեկնարկի հրամանը տող 0 -ի ելքի դիմաց.
sudo python /home/pi/cpu.py &
Հրամանի վերջում & խորհրդանիշի առկայությունը պարտադիր է, քանի որ այն դրոշ է ՝ գործընթացը հետին պլանում սկսելու համար: Վերագործարկումից հետո սցենարը ինքնաբերաբար կաշխատի, և երկրպագուն կմիացվի, երբ նշված պայմանները բավարարվեն:
Խորհուրդ ենք տալիս:
Blynk հավելվածի միջոցով Nodemcu- ի միջոցով ինտերնետի միջոցով կառավարում. 5 քայլ
Blynk հավելվածի միջոցով Nodemcu- ի միջոցով ինտերնետի միջոցով կառավարելը. Բարև բոլորին, այսօր մենք ձեզ ցույց կտանք, թե ինչպես կարող եք վերահսկել LED- ը սմարթֆոնի միջոցով ինտերնետում
LED թարթում ազնվամորու Pi- ով - Ինչպես օգտագործել GPIO կապում ազնվամորու Pi- ի վրա. 4 քայլ
LED թարթում ազնվամորու Pi- ով | Ինչպես օգտագործել GPIO կապում ազնվամորու Pi- ի վրա. Բարև տղերք, այս հրահանգներում մենք կսովորենք, թե ինչպես օգտագործել Raspberry pi- ի GPIO- ն: Եթե երբևէ օգտվել եք Arduino- ից, ապա հավանաբար գիտեք, որ մենք կարող ենք LED անջատիչ և այլն միացնել դրա կապումներին և այնպես անել, որ այն աշխատի: LED- ը թարթել կամ մուտքագրել անջատիչից, որպեսզի
ESP8266 RGB LED STRIP WIFI Կառավարում - NODEMCU Որպես IR հեռակառավարիչ ՝ առաջնորդվող ժապավենի համար, որը վերահսկվում է WiFi- ով - RGB LED STRIP սմարթֆոնի կառավարում ՝ 4 քայլ
ESP8266 RGB LED STRIP WIFI Կառավարում | NODEMCU Որպես IR հեռակառավարիչ ՝ առաջնորդվող ժապավենի համար, որը վերահսկվում է WiFi- ով | RGB LED STRIP սմարթֆոնի վերահսկում. Բարև տղերք, այս ձեռնարկում մենք կսովորենք, թե ինչպես օգտագործել nodemcu կամ esp8266 որպես IR հեռակառավարիչ ՝ RGB LED ժապավենը կառավարելու համար, և Nodemcu- ն սմարթֆոնի միջոցով կառավարվելու է wifi- ով: Այսպիսով, հիմնականում դուք կարող եք վերահսկել RGB LED STRIP- ը ձեր սմարթֆոնի միջոցով
DC շարժիչների կառավարում L298N- ի միջոցով CloudX միկրոկառավարիչի միջոցով. 3 քայլ
DC Motors- ի կառավարում L298N- ով CloudX միկրոկառավարիչի միջոցով. Այս նախագծում մենք կբացատրենք, թե ինչպես օգտագործել մեր L298N H- կամուրջը ՝ բարձրացնելու և նվազեցնելու DC շարժիչի արագությունը: L298N H- կամուրջի մոդուլը կարող է օգտագործվել 5-ից 35V DC լարման շարժիչներով: Կա նաև ինքնաթիռի 5V կարգավորիչ, այնպես որ, եթե ձեր
Blyzk- ի և Android- ի միջոցով աշխատող Blynk- ի միջոցով կառավարում. 4 քայլ
Վերահսկիչ Buzzer- ը և Android- ից Led- ի օգտագործումը Blynk- ի միջոցով. Այս ուսանելի ծրագրում ես ձեզ կասեմ, թե ինչպես միացնել arduino- ն android- ին ՝ Bluetooth- ի միջոցով GUI- ի և IOT- ի համար: Այս ձեռնարկում մենք կօգտագործենք android հեռախոս և blynk ծրագիր (լավագույն GUI- ից մեկը տարբերակ arduino- ի համար) LED- ն միացնելու և ազդանշանի միջոցով կառավարելու համար