Turinys:
- Prekės
- 1 žingsnis: Aparatūros paruošimas
- 2 veiksmas: „Cloud4RPi“diegimas
- 3 žingsnis: Jutiklio prijungimas
- 4 veiksmas: jutiklių rodmenų siuntimas į debesį
- 5 žingsnis: diagramos ir aliarmai
Video: Drėgmė debesyje: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
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
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
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
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į
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
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:
M5STACK Kaip rodyti temperatūrą, drėgmę ir slėgį naudojant „M5StickC ESP32“naudojant „Visuino“- lengva padaryti: 6 žingsniai
„M5STACK“Kaip rodyti temperatūrą, drėgmę ir slėgį „M5StickC ESP32“naudojant „Visuino“- lengva padaryti: šioje pamokoje sužinosime, kaip užprogramuoti „ESP32 M5Stack StickC“su „Arduino IDE“ir „Visuino“rodyti temperatūrą, drėgmę ir slėgį naudojant ENV jutiklį (DHT12, BMP280, BMM150)
Stebėkite temperatūrą ir drėgmę naudodami AM2301 „NodeMCU & Blynk“: 3 žingsniai
Stebėkite temperatūrą ir drėgmę Naudodami AM2301 „NodeMCU & Blynk“: labai gerai žinomas faktas, kad daugumoje pramonės vertikalių temperatūra, drėgmė, slėgis, oro kokybė, vandens kokybė ir kt. Vaidina svarbius veiksnius, kuriuos reikia nuolat ir būtinai stebėti turi būti įdiegtos įspėjimo sistemos, kai vertė
Išmatuokite temperatūrą ir drėgmę naudodami DHT11 / DHT22 ir Arduino: 4 žingsniai
Temperatūros ir drėgmės matavimas naudojant DHT11 / DHT22 ir Arduino: Šioje „Arduino“pamokoje sužinosime, kaip naudojant DHT11 arba DHT22 jutiklį temperatūrai ir drėgmei matuoti naudojant „Arduino“plokštę
Šiltnamio automatizavimas naudojant „LoRa“! (1 dalis) -- Jutikliai (temperatūra, drėgmė, dirvožemio drėgmė): 5 žingsniai
Šiltnamio automatizavimas naudojant „LoRa“! (1 dalis) || Jutikliai (temperatūra, drėgmė, dirvožemio drėgmė): Šiame projekte aš jums parodysiu, kaip automatizavau šiltnamį. Tai reiškia, kad aš jums parodysiu, kaip aš pastatiau šiltnamį ir kaip prijungiau maitinimo ir automatikos elektroniką. Taip pat parodysiu, kaip užprogramuoti „Arduino“lentą, kurioje naudojama L
„Arduino“pirštų atspaudų lankymo sistema su duomenų saugykla debesyje: 8 žingsniai
„Arduino“pirštų atspaudų lankymo sistema su debesies duomenų saugykla: šią ir kitas nuostabias pamokas galite perskaityti oficialioje „ElectroPeak“svetainėje. Šioje pamokoje mes padarysime