Turinys:
- 1 žingsnis: Aparatūros paruošimas
- 2 veiksmas: SSH įgalinimas
- 3 veiksmas: „Cloud4RPi“diegimas
- 4 žingsnis: Jutiklio prijungimas
- 5 veiksmas: jutiklių rodmenų siuntimas į debesį
- 6 žingsnis: diagramos ir aliarmai
Video: Temperatūros ir drėgmės stebėjimas naudojant „Raspberry Pi“: 6 žingsniai (su nuotraukomis)
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.
Aš naudoju Raspberry Pi 1 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 micro-USB.
- LAN kabelis, kuris suteikia 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. Nuo paskutinio karto, kai tai padariau, viskas pasikeitė: 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į.
2 veiksmas: SSH įgalinimas
SSH išjungtas pagal numatytuosius nustatymus. Galiu naudoti UART-USB keitiklį arba tiesiog prijungti ekraną, kad pasiekčiau apvalkalą ir įgalinčiau SSH.
Po perkrovimo aš pagaliau įsijungiau. Pirmiausia atnaujinkime:
sudo apt update && sudo apt upgrade -y
Dabar prijunkime šį naują įrenginį prie „Cloud“.
3 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 python python -pip -y
Kliento biblioteką galima įdiegti vienoje komandoje:
sudo pip įdiegti cloud4rpi
Dabar mums reikia tam tikro kodo pavyzdžio, kad įsitikintume, jog jis veikia.
git klonas https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python&&cd && rmdir -re
Aš nusprendžiau paleisti minimal.py, bet man nepatinka suklastoti duomenys. Laimei, šiame pavyzdyje pastebėjau paprastą būdą, kaip diagnostikos duomenis paversti tikrais. Įtraukite dar vieną importą į importo skyrių:
iš rpi importo *
Tada ištrinkite šias funkcijas, kurios teikia suklastotus duomenis („rpi.py“juos dabar apibrėžia):
def cpu_temp ():
grįžti 70 def ip_address (): return '8.8.8.8' def host_name (): return 'hostname' def os_name (): return 'osx'
Dabar mums reikia žetono, 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ę minimal.py faile savo įrenginio prieigos raktu ir išsaugokite failą. Dabar mes pasiruošę pirmajam paleidimui.
python minimal.py
Atidarykite įrenginio puslapį ir patikrinkite, ar yra duomenų.
Dabar pereikime prie realaus pasaulio duomenų.
4 ž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…. „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!
5 veiksmas: jutiklių rodmenų siuntimas į debesį
Kaip pagrindą naudosiu minimal.py ir pridėsiu DHT22 sąveiką.
cd cloud4rpi-raspberrypi-python
cp minimal.py ~/cloud_dht22.py cp rpi.py ~/rpi.py cd vi cloud_dht22.py
Kadangi DHT22 vienu skambučiu grąžina ir temperatūrą, ir drėgmę, aš juos saugoju visame pasaulyje ir atnaujinu 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 = time.time () - 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 None else None def Niekas kitas 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}}
Norėdami pradėti duomenų perdavimą, paspauskite raudoną mygtuką:
python 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ų:
wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s cloud_dht22.py
Paslaugos pradžia:
paleiskite „sudo“paslaugą „cloud4rpi“
Ir tikrina:
pi@raspberrypi: ~ $ sudo paslauga cloud4rpi status -l
● cloud4rpi.service-„Cloud4RPi“demonas Įkelta: įkelta (/lib/systemd/system/cloud4rpi.service; įgalinta) Aktyvus: aktyvus (veikia) nuo trečiadienio 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.pyGeg 17 17 20:22:51 raspberrypi python [560]: Publishing iot -hub/messages: {'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 d. 20:22:53 raspberrypi python [560]: „iot-hub“/pranešimų skelbimas: {'type': 'system', 'ts': '2017-05-17T20….4'}}
Jei viskas veikia taip, kaip tikėtasi, galime tęsti ir naudoti „Cloud4RPi“platformos galimybes manipuliuoti duomenimis.
6 ž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!
Rekomenduojamas:
Temperatūros ir drėgmės stebėjimas naudojant NODE MCU ir BLYNK: 5 žingsniai
Temperatūros ir drėgmės stebėjimas naudojant „NODE MCU“ir „BLYNK“: Sveiki, vaikinai! Šioje pamokoje leiskite mums sužinoti, kaip gauti temperatūros ir drėgmės atmosferą naudojant DHT11 temperatūros ir drėgmės jutiklį naudojant „Node MCU“ir „BLYNK“programą
Kambario temperatūros ir drėgmės stebėjimas naudojant ESP32 ir „AskSensors Cloud“: 6 žingsniai
Kambario temperatūros ir drėgmės stebėjimas naudojant ESP32 ir „AskSensors Cloud“: Šioje pamokoje sužinosite, kaip stebėti kambario ar stalo temperatūrą ir drėgmę naudojant DHT11 ir ESP32, prijungtus prie debesies. Mūsų mokymo vadovų atnaujinimus rasite čia. Specifikacijos: DHT11 jutiklis gali matuoti temperatūrą
DHT temperatūros ir drėgmės stebėjimas naudojant ESP8266 ir „AskSensors IoT“platformą: 8 žingsniai
DHT temperatūros ir drėgmės stebėjimas naudojant ESP8266 ir „AskSensors IoT“platformą: Ankstesnėje instrukcijoje aš pateikiau žingsnis po žingsnio vadovą, kaip pradėti dirbti su ESP8266 nodeMCU ir „AskSensors IoT“platforma. Šioje pamokoje aš jungiu DHT11 jutiklį į mazgą MCU. DHT11 yra dažniausiai naudojama temperatūra ir drėgmė
Temperatūros ir drėgmės stebėjimas naudojant ESP-01 & DHT ir „AskSensors Cloud“: 8 žingsniai
Temperatūros ir drėgmės stebėjimas naudojant ESP-01 & DHT ir „AskSensors Cloud“: Šioje instrukcijoje mes mokysimės stebėti temperatūrą ir drėgmės matavimus naudojant IOT-MCU/ESP-01-DHT11 plokštę ir „AskSensors IoT“platformą .Šiai programai renkuosi IOT-MCU ESP-01-DHT11 modulį, nes
Temperatūros ir drėgmės stebėjimas naudojant SHT25 ir Raspberry Pi: 5 žingsniai
Temperatūros ir drėgmės stebėjimas naudojant SHT25 ir Raspberry Pi: Neseniai dirbome su įvairiais projektais, kuriems reikėjo stebėti temperatūrą ir drėgmę, ir tada supratome, kad šie du parametrai iš tikrųjų vaidina lemiamą vaidmenį įvertinant sistemos darbo efektyvumą. Abu Indijoje