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: 5 главных вопросов про насморк и лекарства от насморка 2024, Juli
Anonim
Vlažnost u oblaku
Vlažnost u oblaku

Ljeto dolazi, a oni bez klima uređaja trebali bi biti spremni kontrolirati atmosferu u zatvorenom prostoru ručno. U ovom postu opisujem moderan način mjerenja najvažnijih parametara za ugodu čovjeka: temperature i vlažnosti. Ovi prikupljeni podaci šalju se u oblak i tamo obrađuju.

Supplies

Koristim Raspberry Pi ploču i DHT22 senzor. Isto možete učiniti na bilo kojem računaru koji ima internet, GPIO i Python. Jeftiniji DHT11 senzor također radi dobro.

Korak 1: Priprema hardvera

Priprema hardvera
Priprema hardvera
Priprema hardvera
Priprema hardvera
Priprema hardvera
Priprema hardvera
Priprema hardvera
Priprema hardvera

Počnimo od samog početka, jer nisam koristio svoj Raspberry Pi već duže vrijeme.

Trebat će nam:

  • Raspberry Pi ploča (ili druga platforma orijentirana na IoT).
  • SD ili microSD kartica (ovisno o platformi).
  • 5V/1A putem mikro-USB. LAN kabla, koji omogućava internetsku vezu.
  • HDMI ekran, RCA ekran ili UART port (za omogućavanje SSH).

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 odličan softver za snimanje pod nazivom Etcher, koji savršeno radi i ima zadivljujući dizajn.

Nakon što je snimanje slike završeno, umetnuo sam SD karticu u svoj Pi, priključio LAN i kablove za napajanje, a nakon nekog vremena moj usmjerivač je registrirao novi uređaj.

Odlično! 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 čini mnogo lakšim.

Nakon ponovnog pokretanja, konačno sam ušao.

Prvo prvo, 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

Klijentska biblioteka može se instalirati u jednoj naredbi:

sudo pip3 instalirajte cloud4rpi

Sada nam je potreban primjerak koda.

git clone https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python

Izvršna skripta je control.py.

Potreban nam je token koji omogućava Cloud4RPi da poveže uređaje 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 sačuvajte datoteku. Sada smo spremni za prvo lansiranje.

sudo python3 control.py

Otvorite stranicu uređaja i provjerite postoje li podaci.

Pređimo sada na podatke iz stvarnog svijeta.

Korak 3: Spajanje senzora

Priključivanje senzora
Priključivanje senzora

Trebat će nam:

  • Senzor vlažnosti DHT22 ili DHT11
  • Otpornik na izvlačenje (5-10 KΩ)
  • WiresThe

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 odličnu Adafruit biblioteku za DHT senzore, ali možda neće funkcionirati kako jest. Jednom sam našao čudno konstantno kašnjenje u kodu, koje nije radilo na mom hardveru, a nakon dvije godine moj zahtjev za povlačenjem još uvijek je na čekanju. Takođe sam promenio konstante detekcije ploče jer je moj Raspberry Pi 1 sa BCM2835 iznenađujuće otkriven kao Raspberry Pi 3. Voleo bih da je to tačno … Stoga preporučujem da koristim viljušku. Ako imate bilo kakvih problema s tim, pokušajte s originalnim spremištem, možda nekome radi, ali ja nisam jedan od njih.

git clone https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT

Kako je biblioteka napisana na C-u, zahtijeva kompajliranje, pa su vam potrebni build-essential i python-dev paketi.

sudo apt install build-neophodan 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, sastavimo 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

Koristiću control.py kao bazu i u nju ću dodati DHT22 interakciju.

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 vlažnost 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 crveno dugme 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. Ovo osigurava da je skripta uvijek aktivna. Kreiranje 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 proverite:

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. maj 20:22:51 raspberrypi python [560]: Objavljivanje iot-hub/messages: {'type': 'config', 'ts': '2017-05-17T20… y'}]}

17. maj 20:22:53 raspberrypi python [560]: Objavljivanje iot-hub/messages: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17. maj 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 Cloud4RPi platforme 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, iscrtajmo varijable kako bismo vidjeli kako se mijenjaju. To se može učiniti dodavanjem nove kontrolne 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 putem e -pošte. Na stranici za uređivanje kontrolne ploče možete se prebaciti na Upozorenja i postaviti jedno.

Odmah nakon toga, vlažnost u mojoj sobi počela je brzo opadati bez ikakvog vidljivog razloga, a alarm je ubrzo uslijedio.

Cloud4RPi možete besplatno koristiti sa bilo kojim hardverom koji može izvršavati Python. Što se mene tiče, sada uvijek znam kada treba uključiti ovlaživač zraka, a mogu ga čak i spojiti na relej za daljinsko upravljanje putem Cloud4RPi. Spreman sam za vrućine! Dobrodoš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 povežite neograničeno mnogo uređaja besplatno.

Preporučuje se: