Sadržaj:
- Pribor
- Korak 1: Priprema hardvera
- Korak 2: Instaliranje Cloud4RPi
- Korak 3: Spajanje senzora
- Korak 4: Slanje očitanja senzora u oblak
- Korak 5: Karte i alarmi
Video: Vlažnost u oblaku: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
Ljeto dolazi, a oni bez klima uređaja trebali bi biti spremni ručno kontrolirati atmosferu u zatvorenom prostoru. U ovom postu opisujem suvremeni način mjerenja najvažnijih parametara za ugodu čovjeka: temperature i vlažnosti. Ovi prikupljeni podaci šalju se u oblak i tamo obrađuju.
Pribor
Koristim ploču Raspberry Pi i senzor DHT22. Isto možete učiniti na bilo kojem računalu koje ima internet, GPIO i Python. Jeftiniji DHT11 senzor također dobro radi.
Korak 1: Priprema hardvera
Krenimo od samog početka, budući da svoj Raspberry Pi nisam koristio dosta dugo.
Mi ćemo trebati:
- Raspberry Pi ploča (ili druga platforma orijentirana na IoT).
- SD ili microSD kartica (ovisno o platformi).
- 5V/1A putem mikro-USB. LAN kabela koji omogućuje internetsku vezu.
- HDMI zaslon, RCA zaslon ili UART priključak (za omogućavanje SSH -a).
Prvi korak je preuzimanje Raspbiana. Odabrao sam Lite verziju jer ću umjesto prikaza koristiti SSH.
Stvari su se promijenile od posljednjeg puta kada sam to učinio: sada postoji sjajan softver za snimanje pod nazivom Etcher, koji savršeno radi i ima zadivljujući dizajn.
Nakon što je snimanje slike dovršeno, umetnuo sam SD karticu u svoj Pi, priključio LAN i kablove za napajanje, a nakon nekog vremena moj je usmjerivač registrirao novi uređaj.
Sjajno! Idemo dalje i SSH u to.
Sigurnost je u redu, sviđa mi se, ali ovo malo otežava stvari. Koristit ću UART-USB adapter za pristup ljusci i omogućiti SSH …
Korištenje zaslona umjesto UART -a znatno olakšava.
Nakon ponovnog pokretanja konačno sam ušao.
Najprije, ažurirajmo:
sudo apt update && sudo apt upgrade -y
Sada spojimo ovaj novi uređaj na Cloud.
Korak 2: Instaliranje Cloud4RPi
Odlučio sam isprobati cloud platformu pod nazivom Cloud4RPi, koja je dizajnirana za IoT.
Prema dokumentima, za pokretanje su nam potrebni sljedeći paketi:
sudo apt install git python3 python3 -pip -y
Knjižnica klijenta može se instalirati u jednu naredbu:
sudo pip3 instalirajte cloud4rpi
Sada nam treba neki uzorak koda.
git klon https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python
Izvršna skripta je control.py.
Potreban nam je token koji omogućuje Cloud4RPi povezivanje uređaja s računima. Da biste ga dobili, stvorite račun na cloud4rpi.io i pritisnite gumb Novi uređaj na ovoj stranici. Zamijenite niz _YOUR_DEVICE_TOKEN_ u datoteci control.py tokenom uređaja i spremite datoteku. Sada smo spremni za prvo lansiranje.
sudo python3 control.py
Otvorite stranicu uređaja i provjerite postoje li podaci.
Prijeđimo sada na podatke iz stvarnog svijeta.
Korak 3: Spajanje senzora
Mi ćemo trebati:
- Senzor vlažnosti DHT22 ili DHT11
- Povučni otpornik (5-10 KΩ)
- Žice
Senzor DHT22 istovremeno mjeri temperaturu i vlažnost. Komunikacijski protokol nije standardiziran pa ga ne moramo omogućiti u raspi -config - jednostavan GPIO pin je više nego dovoljan.
Za prikupljanje podataka koristit ću Adafruitovu izvrsnu biblioteku za DHT senzore, ali možda neće raditi kako jest. Jednom sam pronašao čudno konstantno kašnjenje u kodu, koje nije radilo za moj hardver, a nakon dvije godine moj zahtjev za povlačenjem još je u tijeku. Promijenio sam i konstante otkrivanja ploče jer je moja Raspberry Pi 1 s BCM2835 iznenađujuće otkrivena kao Raspberry Pi 3. Volio bih da je to istina … Stoga preporučujem korištenje vilice. Ako imate problema s tim, pokušajte s originalnim spremištem, možda nekome radi, ali ja nisam jedan od njih.
git klon https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT
Kako je knjižnica napisana na C-u, zahtijeva kompilaciju, pa su vam potrebni build-essential i python-dev paketi.
sudo apt install build-essential python-dev -ysudo python setup.py install
Dok se paketi instaliraju, povežite DHT22 kao što je prikazano na slici.
I isprobajte:
cd ~ python -c "uvoz Adafruit_DHT kao d; ispis d.read_retry (d. DHT22, 4)"
Ako vidite nešto poput (39.20000076293945, 22.600000381469727), trebali biste znati da je to vlažnost u postocima i temperatura u Celzijusima.
A sada, skupimo sve zajedno!
Korak 4: Slanje očitanja senzora u oblak
Koristit ću control.py kao bazu i u nju ću dodati interakciju DHT22.
cp cloud4rpi-raspberrypi-python/control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python/rpi.py./rpi.pyvi cloud_dht22.py
Uklonite uzorak koda kao na gornjoj slici.
Kako DHT22 vraća temperaturu i vlagu u jednom pozivu, pohranit ću ih globalno i ažurirati samo jednom u zahtjevu, pod pretpostavkom da je kašnjenje između njih više od 10 sekundi. Uzmite u obzir sljedeći kôd koji prikuplja podatke DHT22:
uvoz Adafruit_DHT
temp, hum = Ništa, Ništa
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 nije None None None def get_h (): update_data () return round (hum, 2) if hum nije None None None
Umetnite ovaj kôd nakon postojećeg uvoza i uredite odjeljak varijabli tako da koristi nove funkcije:
varijable = {'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type': 'numeric', 'bind': cpu_temp}}
Ako smatrate da su manipulacije zbunjujuće, uzmite konačnu verziju ove datoteke. Pritisnite crveni gumb za početak prijenosa podataka:
Zatim možete provjeriti stranicu uređaja.
python3 cloud_dht22.py
Zatim možete provjeriti stranicu uređaja.
Možete ostaviti kako jest, ali radije imam uslugu za sve. Time se osigurava da je skripta uvijek aktivna. Stvaranje usluge s potpuno automatiziranom skriptom koju već imate u direktoriju cloud4rpi-raspberrypi-python:
service_install.sh cloud_dht22.py
Pokretanje usluge:
sudo servis cloud4rpi start
I provjerite:
pi@raspberrypi: ~ $ sudo usluga cloud4rpi status -l ● cloud4rpi.service -demon Cloud4RPi Učitano: učitano (/lib/systemd/system/cloud4rpi.service; omogućeno) Aktivno: aktivno (radi) od srijede 2017-05-17 20: 22: 48 UTC; Prije 1 minute Glavni PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.py
17. svibnja 20:22:51 raspberrypi python [560]: Objavljivanje iot-hub/messages: {'type': 'config', 'ts': '2017-05-17T20… y'}]}
17. svibnja 20:22:53 raspberrypi python [560]: Objavljivanje iot-hub/messages: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17. svibnja 20: 22:53 raspberrypi python [560]: Objavljivanje iot-hub-a/poruka: {'type': 'system', 'ts': '2017-05-17T20….4'}}
Ako sve radi kako se očekuje, možemo nastaviti koristiti mogućnosti platforme Cloud4RPi za manipulaciju podacima.
Korak 5: Karte i alarmi
Prije svega, nacrtajmo varijable kako bismo vidjeli kako se mijenjaju. To se može učiniti dodavanjem nove upravljačke ploče i stavljanjem potrebnih grafikona u nju.
Još jedna stvar koju možemo učiniti ovdje je postavljanje upozorenja. Ova vam značajka omogućuje konfiguriranje sigurnog raspona za varijablu. Čim se raspon prekorači, šalje obavijest e -poštom. Na stranici za uređivanje upravljačke ploče možete se prebaciti na Upozorenja i postaviti jedno.
Odmah nakon toga vlaga u mojoj sobi počela se brzo smanjivati bez ikakvog vidljivog razloga, a uskoro je uslijedio i alarm.
Cloud4RPi možete besplatno koristiti sa bilo kojim hardverom koji može izvršavati Python. Što se mene tiče, sada uvijek znam kada uključiti ovlaživač zraka, a mogu ga čak i povezati s relejem za daljinsko upravljanje putem Cloud4RPi. Spreman sam za vrućine! Dobro došlo, ljeto!
Pomoću Cloud4RPi možete daljinski kontrolirati Raspberry Pi i druge IoT uređaje u stvarnom vremenu. Posjetite našu web stranicu i besplatno povežite neograničeno mnogo uređaja.
Preporučeni:
LED pametno svjetlo u oblaku: 11 koraka (sa slikama)
LED Smart Cloud Light: Ovo je LED pametni oblak koji se može sastaviti uz minimalne alate. S kontrolerom možete raditi sve vrste uzoraka i opcija boja. Budući da se LED diode mogu pojedinačno adresirati (svaka LED dioda može biti različite boje i/ili svjetline), zatvaranje
Kako objaviti ESP32 podatke s NTP vremenskom oznakom u IoT oblaku: 5 koraka
Kako objaviti podatke ESP32 s vremenskom oznakom NTP u IoT oblaku: U mnogim aplikacijama korisnici moraju slati svoje podatke zajedno s lokalnom vremenskom oznakom vrijednosti koje se šalju u korisnom opterećenju u oblak AskSensors IoT. Format vremenske oznake je UNIX Epoch time: broj milisekundi koje su protekle od siječnja
Izgradite vlastitu DYI svjetiljku u oblaku!: 13 koraka
Izgradite vlastitu DYI svjetiljku u oblaku!: Zašto graditi lampu u oblaku? Jer izgleda sjajno! Tako barem ljudi govore … Hej! Moje ime je Erick. Ovaj je projekt nastao dok sam razmišljao o poklonima za moju trogodišnju sestru. Svjetiljka u oblaku je i ukras i posebno svjetlo
Automatizirana pametna akvaponika (s nadzornom pločom zasnovanom na oblaku): 11 koraka
Automatizirana pametna akvaponika (s nadzornom pločom zasnovanom na oblaku): Aquaponika vam omogućuje da uzgajate vlastitu organsku hranu bilo gdje (unutarnju ili vanjsku), na vrlo manje prostora, s većim rastom, manjom potrošnjom vode i bez ikakvih vanjskih kemijskih gnojiva. Također, možete pratiti stanje na nadzornoj ploči u oblaku
Arduino sustav za praćenje otisaka prstiju sa pohranom podataka u oblaku: 8 koraka
Arduino sustav za praćenje otisaka prstiju sa pohranom podataka u oblaku: ovaj i druge nevjerojatne vodiče možete pročitati na službenoj web stranici ElectroPeak -aPregled Danas je učenje o radu i implementaciji IoT uređaja toliko bitno zbog sve veće upotrebe IoT sustava. U ovom vodiču ćemo napraviti