Kazalo:
- Zaloge
- 1. korak: Priprava strojne opreme
- 2. korak: Namestitev Cloud4RPi
- 3. korak: Priključitev senzorja
- 4. korak: pošiljanje odčitkov senzorjev v oblak
- 5. korak: Karte in alarmi
Video: Vlažnost v oblaku: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Prihaja poletje in tisti brez klimatske naprave bi morali biti pripravljeni ročno nadzorovati ozračje v zaprtih prostorih. V tem prispevku opisujem sodoben način merjenja najpomembnejših parametrov za človeško udobje: temperature in vlažnosti. Ti zbrani podatki se pošljejo v oblak in tam obdelajo.
Zaloge
Uporabljam ploščo Raspberry Pi in senzor DHT22. Enako lahko storite na katerem koli računalniku, ki ima internet, GPIO in Python. Tudi cenejši senzor DHT11 dobro deluje.
1. korak: Priprava strojne opreme
Začnimo od samega začetka, saj svoje maline Pi nisem uporabljal že dolgo časa.
Potrebovali bomo:
- Plošča Raspberry Pi (ali druga platforma, usmerjena v IoT).
- SD ali microSD kartica (odvisno od platforme).
- 5V/1A prek kabla micro-USB. LAN, ki omogoča internetno povezavo.
- Zaslon HDMI, zaslon RCA ali vrata UART (za omogočanje SSH).
Prvi korak je prenos Raspbiana. Izbral sem različico Lite, saj bom namesto zaslona uporabil SSH.
Stvari so se spremenile od zadnjega, ko sem to storil: zdaj obstaja odlična pekoča programska oprema z imenom Etcher, ki odlično deluje in ima osupljiv dizajn.
Ko je zapisovanje slike končano, sem vstavil kartico SD v svoj Pi, priključil LAN in napajalne kable in čez nekaj časa je moj usmerjevalnik registriral novo napravo.
Super! Gremo naprej in SSH vanjo.
Varnost je v redu, všeč mi je, vendar to nekoliko otežuje stvari. Za dostop do lupine in omogočanje SSH bom uporabil adapter UART-USB …
Z uporabo zaslona namesto UART je veliko lažje.
Po ponovnem zagonu sem končno notri.
Najprej posodobimo:
sudo apt update && sudo apt upgrade -y
Zdaj povežimo to novo napravo z oblakom.
2. korak: Namestitev Cloud4RPi
Odločil sem se preizkusiti platformo v oblaku, imenovano Cloud4RPi, ki je zasnovana za IoT.
V skladu z dokumenti za zagon potrebujemo naslednje pakete:
sudo apt install git python3 python3 -pip -y
Knjižnico odjemalca lahko namestite v enem samem ukazu:
sudo pip3 namestite cloud4rpi
Zdaj potrebujemo nekaj vzorčne kode.
git clone https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python
Izvedljivi skript je control.py.
Potrebujemo žeton, ki Cloud4RPi omogoča povezavo naprav z računi. Če ga želite, ustvarite račun na cloud4rpi.io in pritisnite gumb Nova naprava na tej strani. Zamenjajte niz _YOUR_DEVICE_TOKEN_ v datoteki control.py z žetonom v napravi in datoteko shranite. Zdaj smo pripravljeni na prvi izstrelitev.
sudo python3 control.py
Odprite stran naprave in preverite, ali so tam podatki.
Zdaj pa pojdimo na podatke iz resničnega sveta.
3. korak: Priključitev senzorja
Potrebovali bomo:
- Senzor vlažnosti DHT22 ali DHT11
- Vlečni upor (5-10 KΩ)
- Žice
Senzor DHT22 hkrati meri temperaturo in vlažnost. Komunikacijski protokol ni standardiziran, zato ga ni treba omogočiti v raspi -config - preprost pin GPIO je več kot dovolj.
Za pridobivanje podatkov bom uporabil odlično knjižnico Adafruit za senzorje DHT, vendar morda ne bo delovalo tako, kot je. Nekoč sem v kodi našel nenavadno nenehno zamudo, ki ni delovala za mojo strojno opremo, po dveh letih pa moja zahteva za vlečenje še vedno čaka. Prav tako sem spremenil konstante zaznavanja plošče, ker je bil moj Raspberry Pi 1 z BCM2835 presenetljivo zaznan kot Raspberry Pi 3. Želim si, da bi bilo res … Zato priporočam uporabo vilic. Če imate pri tem težave, poskusite izvirno skladišče, morda komu pomaga, vendar nisem eden izmed njih.
git clone https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT
Ker je knjižnica napisana v jeziku C, zahteva kompilacijo, zato potrebujete pakete build-bistveno in python-dev.
sudo apt install build-bistvena python-dev -ysudo python setup.py namestitev
Med nameščanjem paketov priključite DHT22, kot je prikazano na sliki.
In preizkusite:
cd ~ python -c "uvoz Adafruit_DHT kot d; tiskanje d.read_retry (d. DHT22, 4)"
Če vidite nekaj takega (39.20000076293945, 22.600000381469727), morate vedeti, da je to vlažnost v odstotkih in temperatura v Celzijih.
Zdaj pa sestavimo vse skupaj!
4. korak: pošiljanje odčitkov senzorjev v oblak
Za osnovo bom uporabil control.py in vanj dodal interakcijo DHT22.
cp cloud4rpi-raspberrypi-python/control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python/rpi.py./rpi.pyvi cloud_dht22.py
Odstranite vzorčno kodo, kot je prikazano na zgornji sliki.
Ker DHT22 v enem klicu vrne temperaturo in vlago, jih bom shranil globalno in jih v zahtevi posodobil le enkrat, ob predpostavki, da je zakasnitev med njimi več kot 10 sekund. Upoštevajte naslednjo kodo, ki pridobi podatke DHT22:
uvoz Adafruit_DHT
temp, hum = Brez, Brez
last_update = time.time () - 20
def update_data ():
globalno 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 () return round (temp, 2) if temp ni Noben drug Noben def get_h (): update_data () return round (hum, 2) če hum ni Noben drug Noben
To kodo vstavite po obstoječem uvozu in uredite razdelek spremenljivk, tako da bo uporabljal nove funkcije:
spremenljivke = {'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type': 'numeric', 'bind': cpu_temp}}
Če se vam zdijo manipulacije zmedene, zgrabite končno različico te datoteke. Za začetek prenosa podatkov pritisnite rdeči gumb:
Nato lahko preverite stran naprave.
python3 cloud_dht22.py
Nato lahko preverite stran naprave.
Lahko pustite tako, kot je, vendar imam raje storitev za vse. To zagotavlja, da se skript vedno izvaja. Ustvarjanje storitve s popolnoma avtomatiziranim skriptom, ki ga že imate v imeniku cloud4rpi-raspberrypi-python:
service_install.sh cloud_dht22.py
Zagon storitve:
sudo storitev cloud4rpi start
In preveri:
pi@raspberrypi: ~ $ sudo storitev cloud4rpi status -l ● cloud4rpi.service -demon Cloud4RPi Naloženo: naloženo (/lib/systemd/system/cloud4rpi.service; omogočeno) Aktivno: aktivno (v teku) od srede 2017-05-17 20: 22: 48 UTC; 1 min nazaj Glavni PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.py
17. maj 20:22:51 raspberrypi python [560]: objavljanje iot-hub/messages: {'type': 'config', 'ts': '2017-05-17T20… y'}]}
17. maj 20:22:53 raspberrypi python [560]: objavljanje iot-hub/messages: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17. maj 20: 22:53 raspberrypi python [560]: Objavljanje iot-hub/messages: {'type': 'system', 'ts': '2017-05-17T20….4'}}
Če vse deluje po pričakovanjih, lahko nadaljujemo z uporabo zmogljivosti platforme Cloud4RPi za manipulacijo s podatki.
5. korak: Karte in alarmi
Najprej narišimo spremenljivke, da vidimo, kako se spreminjajo. To lahko storite tako, da dodate novo nadzorno ploščo in vanj vnesete zahtevane grafikone.
Druga stvar, ki jo lahko naredimo tukaj, je nastavitev opozorila. Ta funkcija vam omogoča, da konfigurirate varno območje za spremenljivko. Takoj, ko je obseg prekoračen, pošlje obvestilo po e -pošti. Na strani za urejanje nadzorne plošče lahko preklopite na opozorila in jih nastavite.
Takoj zatem se je vlaga v moji sobi začela hitro zmanjševati brez opaznega razloga in kmalu je sledil alarm.
Cloud4RPi lahko brezplačno uporabljate s katero koli strojno opremo, ki je sposobna izvesti Python. Zdaj pa vedno vem, kdaj vklopiti vlažilec zraka, in ga lahko celo povežem z relejem za daljinsko upravljanje prek Cloud4RPi. Pripravljen sem na vročino! Pozdravljeno poletje!
S Cloud4RPi lahko v realnem času na daljavo upravljate Raspberry Pi in druge naprave IoT. Obiščite našo spletno stran in brezplačno povežite neomejeno število naprav.
Priporočena:
Domača avtomatizacija z internetom/v oblaku z uporabo Esp8266 (aREST, MQTT, IoT): 7 korakov (s slikami)
Domača avtomatizacija, ki jo nadzira internet/oblak z uporabo Esp8266 (aREST, MQTT, IoT): VSE zasluge http://arest.io/ za storitev v oblaku !! IoT trenutno najbolj obravnavana tema na svetu !! Strežniki in storitve v oblaku, ki to omogočajo, so privlačna točka današnjega sveta
LED pametna svetloba v oblaku: 11 korakov (s slikami)
LED pametna luč v oblaku: To je LED pametni oblak, ki ga je mogoče sestaviti skupaj z minimalnimi orodji. S krmilnikom lahko naredite vse vrste vzorcev in barvnih možnosti. Ker so LED diode individualno naslovljive (vsaka LED je lahko drugačne barve in/ali svetlosti), je klop
Kako objaviti podatke ESP32 s časovno oznako NTP v oblaku IoT: 5 korakov
Kako objaviti podatke ESP32 s časovnim žigom NTP v oblaku IoT: v mnogih aplikacijah morajo uporabniki poslati svoje podatke skupaj z lokalnim časovnim žigom vrednosti, ki jih je treba poslati v koristnem tovoru v oblak AskSensors IoT. Oblika časovnega žiga je UNIX Epoch time: število milisekund, ki so pretekle od januarja
Samodejna pametna akvaponika (z nadzorno ploščo v oblaku): 11 korakov
Samodejna pametna akvaponika (z nadzorno ploščo v oblaku): Aquaponika vam omogoča, da pridelujete svojo ekološko pridelano hrano kjer koli (v zaprtih prostorih ali na prostem), v zelo manj prostora, z večjo rastjo, manjšo porabo vode in brez zunanjih kemičnih gnojil. Prav tako lahko spremljate razmere na nadzorni plošči v oblaku.
Zapisovanje temperature in vlažnosti Raspberry PI, vremenska postaja v oblaku, statistika Wi -Fi in mobilnih naprav: 6 korakov
Zapisovanje temperature in vlažnosti Raspberry PI, vremenska postaja v oblaku, Wi -Fi in mobilna statistika: Z napravo Raspberry PI lahko popolnoma brezplačno beležite podatke o temperaturi in vlažnosti zunaj, v sobi, rastlinjaku, laboratoriju, hladilnem prostoru ali na katerem koli drugem mestu. Ta primer bomo uporabili za beleženje temperature in vlažnosti. Naprava bo povezana z internetom v