Sadržaj:

Vlažnost u oblaku: 5 koraka
Vlažnost u oblaku: 5 koraka

Video: Vlažnost u oblaku: 5 koraka

Video: Vlažnost u oblaku: 5 koraka
Video: 10 лет в Японии: Что изменилось? Отвечаю на популярные вопросы! 2024, Srpanj
Anonim
Vlažnost u oblaku
Vlažnost u oblaku

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

Priprema hardvera
Priprema hardvera
Priprema hardvera
Priprema hardvera
Priprema hardvera
Priprema hardvera
Priprema hardvera
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

Instaliranje Cloud4RPi
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

Spajanje senzora
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

Slanje očitanja senzora u oblak
Slanje očitanja senzora u oblak
Slanje očitanja senzora u oblak
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

Karte i alarmi
Karte i alarmi
Karte i alarmi
Karte i alarmi
Karte i alarmi
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: