Turinys:

Drėgmė debesyje: 5 žingsniai
Drėgmė debesyje: 5 žingsniai

Video: Drėgmė debesyje: 5 žingsniai

Video: Drėgmė debesyje: 5 žingsniai
Video: Veido priežiūra prieš miegą , 5 žingsniai 2024, Liepa
Anonim
Drėgmė debesyje
Drėgmė debesyje

Artėja vasara, o neturintys oro kondicionieriaus turėtų būti pasirengę rankiniu būdu valdyti atmosferą patalpose. Šiame įraše aprašau šiuolaikinį būdą, kaip išmatuoti svarbiausius žmogaus komforto parametrus: temperatūrą ir drėgmę. Šie surinkti duomenys siunčiami į debesį ir ten apdorojami.

Prekės

Aš naudoju „Raspberry Pi“plokštę ir DHT22 jutiklį. Tą patį galite padaryti bet kuriame kompiuteryje, kuriame yra internetas, GPIO ir „Python“. Pigesnis DHT11 jutiklis taip pat veikia gerai.

1 žingsnis: Aparatūros paruošimas

Techninės įrangos paruošimas
Techninės įrangos paruošimas
Techninės įrangos paruošimas
Techninės įrangos paruošimas
Techninės įrangos paruošimas
Techninės įrangos paruošimas
Techninės įrangos paruošimas
Techninės įrangos paruošimas

Pradėkime nuo pat pradžių, nes aš ilgą laiką nenaudojau savo „Raspberry Pi“.

Mums reikės:

  • „Raspberry Pi“plokštė (arba kita į internetą orientuota platforma).
  • SD arba „microSD“kortelė (priklausomai nuo platformos).
  • 5V/1A per mikro-USB. LAN kabelis, kuris užtikrina interneto ryšį.
  • HDMI ekranas, RCA ekranas arba UART prievadas (norint įjungti SSH).

Pirmasis žingsnis yra atsisiųsti „Raspbian“. Aš pasirinkau „Lite“versiją, nes vietoj ekrano naudosiu SSH.

Viskas pasikeitė nuo paskutinio karto, kai tai padariau: dabar yra puiki deganti programinė įranga „Etcher“, kuri puikiai veikia ir turi stulbinantį dizainą.

Užbaigus vaizdo įrašymą, įdėjau SD kortelę į „Pi“, prijungiau LAN ir maitinimo kabelius, o po kurio laiko maršrutizatorius užregistravo naują įrenginį.

Puiku! Eikime toliau ir SSH į tai.

Saugumas yra gerai, man tai patinka, tačiau tai šiek tiek apsunkina. Aš naudoju UART-USB adapterį, kad pasiekčiau apvalkalą ir įgalinčiau SSH …

Naudojant ekraną vietoj UART, daug lengviau.

Po perkrovimo aš pagaliau įsijungiau.

Pirmiausia atnaujinkime:

sudo apt update && sudo apt upgrade -y

Dabar prijunkime šį naują įrenginį prie „Cloud“.

2 veiksmas: „Cloud4RPi“diegimas

„Cloud4RPi“diegimas
„Cloud4RPi“diegimas

Nusprendžiau išbandyti debesų platformą, pavadintą „Cloud4RPi“, kuri skirta daiktų internetui.

Remiantis dokumentais, mums reikia šių paketų, kad jį paleistume:

sudo apt įdiegti git python3 python3 -pip -y

Kliento biblioteką galima įdiegti vienoje komandoje:

sudo pip3 įdiegti cloud4rpi

Dabar mums reikia kodo pavyzdžio.

git klonas https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python

Vykdomasis scenarijus yra control.py.

Mums reikia prieigos rakto, kuris leidžia „Cloud4RPi“susieti įrenginius su paskyromis. Norėdami tai padaryti, sukurkite paskyrą „cloud4rpi.io“ir paspauskite mygtuką „Naujas įrenginys“šiame puslapyje. Pakeiskite _YOUR_DEVICE_TOKEN_ eilutę faile control.py savo įrenginio prieigos raktu ir išsaugokite failą. Dabar mes pasiruošę pirmajam paleidimui.

sudo python3 control.py

Atidarykite įrenginio puslapį ir patikrinkite, ar yra duomenų.

Dabar pereikime prie realaus pasaulio duomenų.

3 žingsnis: Jutiklio prijungimas

Jutiklio prijungimas
Jutiklio prijungimas

Mums reikės:

  • DHT22 arba DHT11 drėgmės jutiklis
  • Pritraukiamas rezistorius (5-10 KΩ)
  • Laidai

DHT22 jutiklis vienu metu matuoja temperatūrą ir drėgmę. Ryšio protokolas nėra standartizuotas, todėl mums nereikia jo įgalinti raspi -config - paprasto GPIO kaiščio pakanka.

Norėdami gauti duomenis, naudosiu puikią „Adafruit“biblioteką DHT jutikliams, tačiau ji gali neveikti taip, kaip yra. Kartą radau keistą nuolatinį kodo vėlavimą, kuris neveikė mano aparatinei įrangai, ir po dvejų metų mano užklausa vis dar laukiama. Aš taip pat pakeičiau plokštės aptikimo konstantas, nes mano Raspberry Pi 1 su BCM2835 buvo stebėtinai aptikta kaip Raspberry Pi 3. Linkiu, kad tai būtų tiesa … Taigi, rekomenduoju naudoti savo šakutę. Jei susiduriate su kokiomis nors problemomis, pabandykite originalią saugyklą, gal kam nors tai tinka, bet aš nesu viena iš jų.

git klonas https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT

Kadangi biblioteka parašyta C kalba, ją reikia kompiliuoti, todėl jums reikia „build-essential“ir „python-dev“paketų.

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

Kol paketai diegiami, prijunkite DHT22, kaip parodyta paveikslėlyje.

Ir išbandykite:

cd ~ python -c "importuoti Adafruit_DHT kaip d; spausdinti d.read_retry (d. DHT22, 4)"

Jei matote kažką panašaus (39.20000076293945, 22.600000381469727), turėtumėte žinoti, kad tai yra drėgmė procentais ir temperatūra Celsijaus laipsniais.

Dabar surinksime viską kartu!

4 veiksmas: jutiklių rodmenų siuntimas į debesį

Jutiklių rodmenų siuntimas į debesį
Jutiklių rodmenų siuntimas į debesį
Jutiklių rodmenų siuntimas į debesį
Jutiklių rodmenų siuntimas į debesį

Kaip pagrindą naudosiu control.py ir pridėsiu DHT22 sąveiką.

cp cloud4rpi-raspberrypi-python/control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python/rpi.py./rpi.pyvi cloud_dht22.py

Pašalinkite pavyzdinį kodą, kaip parodyta aukščiau esančiame paveikslėlyje.

Kadangi DHT22 vienu skambučiu grąžina ir temperatūrą, ir drėgmę, aš juos išsaugosiu visame pasaulyje ir atnaujinsiu tik vieną kartą pagal užklausą, darant prielaidą, kad tarp jų yra daugiau nei 10 sekundžių. Apsvarstykite šį kodą, kuris įgyja DHT22 duomenis:

importuoti „Adafruit_DHT“

temp, hum = Nėra, Nėra

last_update = laikas. laikas () - 20

def update_data ():

global last_update, hum, temp if time.time () - last_update> 10: hum, temp = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) last_update = time.time ()

def get_t ():

update_data () grąžinimo ratas (temp, 2), jei temperatūra nėra Nėra nieko Nieko def def_ (): update_data () grąžinimo raundas (hum, 2), jei hum nėra Nėra niekas Nėra

Įterpkite šį kodą po esamo importavimo ir redaguokite kintamųjų skyrių, kad jis naudotų naujas funkcijas:

kintamieji = {'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Drėgmė': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type': 'numeric', 'bind': cpu_temp}}

Jei manote, kad manipuliacijos yra painios, paimkite galutinę šio failo versiją. Paspauskite raudoną mygtuką, kad pradėtumėte duomenų perdavimą:

Tada galite patikrinti įrenginio puslapį.

python3 cloud_dht22.py

Tada galite patikrinti įrenginio puslapį.

Galite palikti taip, kaip yra, bet man labiau patinka viską aptarnauti. Tai užtikrina, kad scenarijus visada veikia. Paslaugos kūrimas naudojant visiškai automatizuotą scenarijų, kurį jau turite kataloge „cloud4rpi-raspberrypi-python“:

service_install.sh cloud_dht22.py

Paslaugos pradžia:

paleiskite „sudo“paslaugą „cloud4rpi“

Ir tikrina:

pi@raspberrypi: ~ $ sudo service cloud4rpi status -l ● cloud4rpi.service -Cloud4RPi demonas Įkelta: įkelta (/lib/systemd/system/cloud4rpi.service; įgalinta) Aktyvus: aktyvus (veikia) nuo 2017-05-17 20: 22: 48 UTC; Prieš 1 minutę Pagrindinis PID: 560 (python) C grupė: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.py

Gegužės 17 d. 20:22:51 raspberrypi python [560]: skelbiamas „iot-hub“/pranešimai: {'type': 'config', 'ts': '2017-05-17T20… y'}]}

Gegužės 17 d. 20:22:53 raspberrypi python [560]: „iot-hub“/pranešimų publikavimas: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} Gegužės 17 20 d. 22:53 raspberrypi python [560]: skelbiamas „iot-hub“/pranešimai: {'type': 'system', 'ts': '2017-05-17T20….4'}}

Jei viskas veikia taip, kaip tikėtasi, galime tęsti ir naudoti „Cloud4RPi“platformos galimybes manipuliuoti duomenimis.

5 žingsnis: diagramos ir aliarmai

Diagramos ir aliarmai
Diagramos ir aliarmai
Diagramos ir aliarmai
Diagramos ir aliarmai
Diagramos ir aliarmai
Diagramos ir aliarmai

Pirmiausia nubrėžkime kintamuosius, kad pamatytume, kaip jie keičiasi. Tai galima padaryti pridedant naują valdymo skydelį ir į jį įdedant reikiamas diagramas.

Kitas dalykas, kurį galime padaryti, yra įspėjimo nustatymas. Ši funkcija leidžia sukonfigūruoti kintamojo saugų diapazoną. Kai tik diapazonas viršijamas, jis siunčia pranešimą el. Valdymo skydelio redagavimo puslapyje galite perjungti į Įspėjimai ir juos nustatyti.

Iškart po to drėgmė mano kambaryje pradėjo sparčiai mažėti be jokios pastebimos priežasties ir netrukus pasigirdo pavojaus signalas.

„Cloud4RPi“galite nemokamai naudoti su bet kokia aparatūra, galinčia vykdyti „Python“. Kalbant apie mane, dabar aš visada žinau, kada įjungti oro drėkintuvą, ir netgi galiu jį prijungti prie nuotolinio valdymo relės per „Cloud4RPi“. Aš pasiruošęs karščiui! Labas, vasara!

Naudodami „Cloud4RPi“galite valdyti „Raspberry Pi“ir kitus „IoT“įrenginius nuotoliniu būdu realiuoju laiku. Apsilankykite mūsų svetainėje ir nemokamai prijunkite neribotą kiekį įrenginių.

Rekomenduojamas: