Բովանդակություն:

Ազնվամորու Pi- ի երկրպագուի խելացի կառավարում Python & Thingspeak- ի միջոցով. 7 քայլ
Ազնվամորու Pi- ի երկրպագուի խելացի կառավարում Python & Thingspeak- ի միջոցով. 7 քայլ

Video: Ազնվամորու Pi- ի երկրպագուի խելացի կառավարում Python & Thingspeak- ի միջոցով. 7 քայլ

Video: Ազնվամորու Pi- ի երկրպագուի խելացի կառավարում Python & Thingspeak- ի միջոցով. 7 քայլ
Video: 8 բան, որ տղամարդիկ անում են ՄԻԱՅՆ այն կնոջ հետ, ում սիրում են 2024, Նոյեմբեր
Anonim
Ազնվամորի Pi- ի երկրպագուի խելացի կառավարում ՝ օգտագործելով Python & Thingspeak
Ազնվամորի Pi- ի երկրպագուի խելացի կառավարում ՝ օգտագործելով Python & Thingspeak

Հակիրճ ակնարկ

Լռելյայն, երկրպագուն ուղղակիորեն միացված է 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- ը իրերի ինտերնետի հայեցակարգի վրա հիմնված նախագծերի հարթակ է: Այս հարթակը թույլ է տալիս ծրագրեր կառուցել ՝ սենսորներից հավաքված տվյալների հիման վրա: ThingSpeak- ի հիմնական առանձնահատկությունները ներառում են `իրական ժամանակում տվյալների հավաքագրում, տվյալների մշակում և արտացոլում: ThingSpeak API- ն ոչ միայն թույլ է տալիս ուղարկել, պահել և մուտք գործել տվյալներ, այլև տրամադրում է դրանք մշակելու վիճակագրական տարբեր մեթոդներ:

ThingSpeak- ը կարող է ինտեգրվել հանրաճանաչ սարքեր և ծառայություններ, ինչպիսիք են ՝

  • Արդուինո
  • Ազնվամորի պի
  • oBridge / RealTime.io
  • Էլեկտրական լամպ
  • Բջջային և վեբ ծրագրեր
  • Սոցիալական ցանցերը
  • Տվյալների վերլուծություն MATLAB- ում

Նախքան սկսելը, ձեզ հաշիվ է պետք ThingSpeak- ում:

  1. Գնացեք հետևյալ հղումով և գրանցվեք ThingSpeak- ում:
  2. Ձեր հաշվի ակտիվացումից հետո մուտք գործեք:
  3. Գնալ դեպի ալիքներ -> Իմ ալիքները
  4. Կտտացրեք «Նոր ալիք» կոճակին:
  5. Մուտքագրեք տվյալների անունը, նկարագրությունը և դաշտերը, որոնք ցանկանում եք վերբեռնել
  6. Կտտացրեք Պահել ալիքը կոճակը ՝ ձեր բոլոր կարգավորումները պահպանելու համար:

Մեզ պետք է 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 բանալին:

  1. Մուտք գործեք ձեր Raspberry PI տախտակ
  2. Գործարկեք հետևյալ հրամանը տերմինալում

python3 cpu.py

Քայլ 6. Տվյալների մոնիտորինգ Thingspeak Cloud- ի միջոցով

Տվյալների մոնիտորինգ Thingspeak Cloud- ի միջոցով
Տվյալների մոնիտորինգ Thingspeak Cloud- ի միջոցով

Որոշ ժամանակ անց բացեք ձեր ալիքը ThingSpeak- ում և կտեսնեք, թե ինչպես է ջերմաստիճանը բեռնվում Thingspeak ամպի մեջ իրական ժամանակում:

Քայլ 7: Գործարկեք Python Script- ը գործարկման ժամանակ

Դա անելու համար /etc/rc.local ֆայլի վերջում.

sudo nano /etc/rc.local

Դուք պետք է տեղադրեք սցենարի մեկնարկի հրամանը տող 0 -ի ելքի դիմաց.

sudo python /home/pi/cpu.py &

Հրամանի վերջում & խորհրդանիշի առկայությունը պարտադիր է, քանի որ այն դրոշ է ՝ գործընթացը հետին պլանում սկսելու համար: Վերագործարկումից հետո սցենարը ինքնաբերաբար կաշխատի, և երկրպագուն կմիացվի, երբ նշված պայմանները բավարարվեն:

Խորհուրդ ենք տալիս: