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

Rasերմաստիճանի եւ խոնավության մոնիտորինգ Raspberry Pi- ի միջոցով. 6 քայլ (նկարներով)
Rasերմաստիճանի եւ խոնավության մոնիտորինգ Raspberry Pi- ի միջոցով. 6 քայլ (նկարներով)

Video: Rasերմաստիճանի եւ խոնավության մոնիտորինգ Raspberry Pi- ի միջոցով. 6 քայլ (նկարներով)

Video: Rasերմաստիճանի եւ խոնավության մոնիտորինգ Raspberry Pi- ի միջոցով. 6 քայլ (նկարներով)
Video: Угрюм-река (1969) (1 серия) фильм 2024, Նոյեմբեր
Anonim
Rasերմաստիճանի եւ խոնավության մոնիտորինգ `օգտագործելով Raspberry Pi
Rasերմաստիճանի եւ խոնավության մոնիտորինգ `օգտագործելով Raspberry Pi
Rasերմաստիճանի եւ խոնավության մոնիտորինգ `օգտագործելով Raspberry Pi
Rasերմաստիճանի եւ խոնավության մոնիտորինգ `օգտագործելով Raspberry Pi

Մոտենում է ամառը, և նրանք, ովքեր չունեն օդորակիչ, պետք է պատրաստ լինեն ձեռքով վերահսկելու ներսի մթնոլորտը: Այս գրառման մեջ ես նկարագրում եմ մարդու հարմարավետության համար ամենակարևոր պարամետրերը չափելու ժամանակակից եղանակը ՝ ջերմաստիճանը և խոնավությունը: Այս հավաքված տվյալները ուղարկվում են ամպ և մշակվում այնտեղ:

Ես օգտագործում եմ Raspberry Pi 1 տախտակը և DHT22 սենսորը: Նույնը կարող եք անել ցանկացած համակարգչի վրա, որն ունի ինտերնետ, GPIO և Python: Ավելի էժան DHT11 սենսորը նույնպես լավ է աշխատում:

Քայլ 1: Սարքավորման պատրաստում

Սարքավորման պատրաստում
Սարքավորման պատրաստում
Սարքավորման պատրաստում
Սարքավորման պատրաստում

Սկսենք սկզբից, քանի որ ես երկար ժամանակ չէի օգտագործում իմ Raspberry Pi- ն:

Մեզ պետք կլինի.

  • Raspberry Pi տախտակ (կամ IoT- ին ուղղված այլ հարթակ):
  • SD կամ microSD քարտ (կախված հարթակից):
  • 5V/1A միկրո USB- ի միջոցով:
  • LAN մալուխ, որն ապահովում է ինտերնետ կապը:
  • HDMI էկրան, RCA էկրան կամ UART պորտ (SSH- ն միացնելու համար):

Առաջին քայլը Raspbian- ի ներբեռնումն է: Ես ընտրել եմ Lite տարբերակը, քանի որ ցուցադրման փոխարեն ես կօգտագործեմ SSH- ը: Ամեն ինչ փոխվել է այն բանից, երբ դա արել եմ վերջին անգամից. Այժմ կա հիանալի այրվող ծրագիր, որը կոչվում է Etcher, որը հիանալի աշխատում է և ունի ցնցող դիզայն.

Պատկերի այրման ավարտից հետո ես տեղադրեցի SD քարտը իմ Pi- ի մեջ, միացրեցի LAN և հոսանքի մալուխները և որոշ ժամանակ անց երթուղիչս գրանցեց նոր սարքը:

Քայլ 2: SSH- ի միացում

SSH- ի միացում
SSH- ի միացում
SSH- ի միացում
SSH- ի միացում
SSH- ի միացում
SSH- ի միացում

SSH- ն լռելյայն անջատված է: Ես կարող եմ օգտագործել կամ UART-USB փոխարկիչ, կամ պարզապես միացնել էկրանը ՝ պատյան մուտք գործելու և SSH- ն միացնելու համար:

Վերագործարկվելուց հետո ես վերջապես մուտք եմ գործում: Առաջին հերթին, առաջին հերթին, եկեք թարմացնենք.

sudo apt update && sudo apt upgrade -y

Այժմ եկեք այս թարմացված սարքը միացնենք ամպին:

Քայլ 3: Տեղադրելով Cloud4RPi

Cloud4RPi- ի տեղադրում
Cloud4RPi- ի տեղադրում

Ես որոշեցի փորձել Cloud4RPi կոչվող ամպային հարթակը, որը նախատեսված է IoT- ի համար:

Փաստաթղթերի համաձայն, այն գործարկելու համար մեզ անհրաժեշտ են հետևյալ փաթեթները.

sudo apt տեղադրել git python python -pip -y

Հաճախորդի գրադարանը կարող է տեղադրվել մեկ հրամանով.

sudo pip- ը տեղադրել cloud4rpi

Այժմ մեզ անհրաժեշտ է որոշակի նմուշի կոդ `այն աշխատելու համար:

git- ի կլոն && rmdir -re

Ես որոշեցի գործարկել minimal.py, բայց ինձ դուր չեն գալիս կեղծ տվյալները: Բարեբախտաբար, ես նկատեցի այս օրինակում ախտորոշիչ տվյալները իրական դարձնելու հեշտ միջոց: Ավելացրեք ևս մեկ ներմուծում ներմուծման բաժնում.

rpi ներմուծումից *

Այնուհետև ջնջեք կեղծ տվյալներ տրամադրող այս գործառույթները (rpi.py- ն դրանք այժմ սահմանում է).

def cpu_temp ():

վերադարձ 70 def ip_address (): return '8.8.8.8' def host_name (): return 'hostname' def os_name (): return 'osx'

Այժմ մեզ պետք է նշան, որը թույլ է տալիս Cloud4RPi- ին կապել սարքերը հաշիվների հետ: Մեկը ստանալու համար ստեղծեք հաշիվ cloud4rpi.io- ում և սեղմեք այս էջի «Նոր սարք» կոճակը: Փոխարինեք _YOUR_DEVICE_TOKEN_ տողը minimal.py ֆայլում ձեր սարքի նշանով և պահեք ֆայլը: Այժմ մենք պատրաստ ենք առաջին մեկնարկին:

python minimal.py

Բացեք սարքի էջը և ստուգեք, որ տվյալները այնտեղ են:

Հիմա անցնենք իրական տվյալների:

Քայլ 4: Սենսորի միացում

Սենսորի միացում
Սենսորի միացում

Մեզ պետք կլինի.

  • DHT22 կամ DHT11 խոնավության տվիչ
  • Քաշվող դիմադրություն (5-10 KΩ)
  • Լարերը

DHT22 սենսորը միաժամանակ չափում է ջերմաստիճանը և խոնավությունը: Հաղորդակցության արձանագրությունը ստանդարտացված չէ, ուստի կարիք չկա այն միացնել raspi -config- ով. Պարզ GPIO- ի քորոցն ավելի քան բավարար է:

Տվյալները ձեռք բերելու համար ես կօգտագործեմ Adafruit- ի մեծ գրադարանը DHT սենսորների համար, բայց այն կարող է չաշխատել այնպես, ինչպես կա: Մի անգամ ես գտա կոդի մի տարօրինակ անընդհատ ուշացում, որը չաշխատեց իմ սարքաշարի համար, և երկու տարի անց իմ քաշման հայտը դեռ առկախ է: Ես նաև փոխել եմ տախտակի հայտնաբերման հաստատունները, քանի որ իմ Raspberry Pi 1 -ը BCM2835- ով զարմանալիորեն հայտնաբերվել է որպես Raspberry Pi 3: Երանի դա ճիշտ լիներ… Այսպիսով, ես խորհուրդ եմ տալիս օգտագործել իմ պատառաքաղը: Եթե դրա հետ կապված որևէ խնդիր եք ունենում, խնդրում ենք փորձել սկզբնական պահեստը, գուցե այն ինչ -որ մեկի համար է աշխատում, բայց ես նրանցից չեմ:

git կլոն https://github.com/Himura2la/Adafruit_Python_DHT…. Adafruit_Python_DHT

Քանի որ գրադարանը գրված է C- ով, այն պահանջում է հավաքագրում, ուստի ձեզ անհրաժեշտ են կառուցման համար անհրաժեշտ և python-dev փաթեթները:

sudo apt install build-essential python-dev -ysudo python setup.py install

Մինչ փաթեթները տեղադրվում են, միացրեք DHT22- ը, ինչպես ցույց է տրված նկարում:

Եվ փորձիր այն.

cd -python -c "ներմուծել Adafruit_DHT որպես d; տպել d.read_retry (d. DHT22, 4)"

Եթե տեսնում եք (39.20000076293945, 22.600000381469727) նման բան, ապա պետք է իմանաք, որ սա տոկոսների խոնավությունն է և ջերմաստիճանը elsելսիուսում:

Հիմա, եկեք ամեն ինչ հավաքենք միասին:

Քայլ 5. Սենսորային ընթերցումների ուղարկում ամպին

Սենսորային ընթերցումների ուղարկում ամպին
Սենսորային ընթերցումների ուղարկում ամպին

Ես որպես հիմք կօգտագործեմ minimal.py- ն և դրանում կավելացնեմ DHT22 փոխազդեցությունը:

cd cloud4rpi-raspberrypi-python

cp minimal.py/cloud_dht22.py cp rpi.py/rpi.py cd vi cloud_dht22.py

Քանի որ DHT22- ը վերադարձնում է և՛ ջերմաստիճանը, և՛ խոնավությունը մեկ զանգի ընթացքում, ես դրանք պահում եմ գլոբալ մակարդակում և միայն մեկ անգամ եմ թարմացնում խնդրանքով ՝ ենթադրելով, որ նրանց միջև ուշացումը ավելի քան 10 վայրկյան է: Հաշվի առեք հետևյալ կոդը, որը ձեռք է բերում DHT22 տվյալները.

ներմուծել Adafruit_DHT

temp, hum = Ոչ մեկը, ոչ մեկը last_update = time.time () - 20 def update_data (): global last_update, hum, temp if time.time () - last_update> 10: hum, temp = Adafruit_DHT. 4) last_update = time.time () def get_t (): update_data () return round (temp, 2) if temp is not Tone other Ոչ մեկը def get_h (): update_data () return round (hum, 2) if hum is not Ոչ մեկ ուրիշը Ոչ մեկը

Տեղադրեք այս կոդը առկա ներմուծումներից հետո և խմբագրեք փոփոխականների բաժինը, որպեսզի այն օգտագործի նոր գործառույթները.

փոփոխականներ = {

'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type ':' numeric ',' bind ': cpu_temp}}

Տվյալների փոխանցումը սկսելու համար սեղմեք կարմիր կոճակը.

python cloud_dht22.py

Այնուհետև կարող եք ստուգել սարքի էջը:

Դուք կարող եք թողնել այն այնպես, ինչպես կա, բայց ես նախընտրում եմ ծառայություն ունենալ ամեն ինչի համար: Սա ապահովում է, որ սցենարը միշտ գործարկվի: Լիովին ավտոմատացված սցենարով ծառայության ստեղծում.

wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s cloud_dht22.py

Startառայության մեկնարկը.

sudo ծառայություն cloud4rpi գործարկել

Եվ դա ստուգելը.

pi@raspberrypi: su $ sudo ծառայություն cloud4rpi կարգավիճակ -լ

● cloud4rpi.service-Cloud4RPi դևոն Բեռնված է. Բեռնված 1 րոպե առաջ Հիմնական PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.py Մայիսի 17 20:22:51 ազնվամորի պիթոն [560] ՝ հրապարակման iot -հոբ/հաղորդագրություններ ՝ {'type': 'config', 'ts': '2017-05-17T20… y'}]} մայիսի 17 20:22:53 raspberrypi python [560]. iot-hub/հաղորդագրությունների հրապարակում. {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} Մայիսի 17 20:22:53 raspberrypi python [560]. iot-hub/հաղորդագրությունների հրապարակում. {'type' ՝ 'համակարգ', 'ts': '2017-05-17T20….4'}}

Եթե ամեն ինչ աշխատի այնպես, ինչպես և սպասվում էր, մենք կարող ենք շարունակել և օգտագործել Cloud4RPi հարթակի հնարավորությունները ՝ տվյալների հետ շահարկելու համար:

Քայլ 6: Գծապատկերներ և ահազանգեր

Գծապատկերներ և ահազանգեր
Գծապատկերներ և ահազանգեր
Գծապատկերներ և ահազանգեր
Գծապատկերներ և ահազանգեր
Գծապատկերներ և ահազանգեր
Գծապատկերներ և ահազանգեր

Նախ, եկեք գծագրենք փոփոխականները `տեսնելու, թե ինչպես են դրանք փոխվում: Դա կարելի է անել ՝ ավելացնելով նոր կառավարման վահանակ և դրա մեջ տեղադրել անհրաժեշտ գծապատկերները:

Մեկ այլ բան, որ մենք կարող ենք անել այստեղ, ահազանգի տեղադրումն է: Այս գործառույթը հնարավորություն է տալիս կարգավորել փոփոխականի անվտանգ տիրույթը: Երբ տեսականին գերազանցում է, այն էլեկտրոնային փոստով ծանուցում է ուղարկում: Կառավարման վահանակի խմբագրման էջում կարող եք անցնել Ահազանգերի և տեղադրել մեկը:

Դրանից անմիջապես հետո սենյակումս խոնավությունը սկսեց արագորեն նվազել ՝ առանց որևէ նկատելի պատճառի, և ահազանգը շուտով հետևեց:

Դուք կարող եք անվճար օգտագործել Cloud4RPi ցանկացած սարքավորումով, որն ի վիճակի է գործարկել Python- ը: Ինչ վերաբերում է ինձ, այժմ ես միշտ գիտեմ, թե երբ միացնել օդի խոնավացուցիչը, և նույնիսկ կարող եմ այն միացնել Cloud4RPi- ի միջոցով հեռակառավարման ռելեին: Պատրաստ եմ շոգին! Բարի գալուստ, ամառ:

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