Sadržaj:
- Supplies
- 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 izmjena: 2024-01-30 08:06
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
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
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
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
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
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:
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. Pomoću kontrolera možete raditi sve vrste uzoraka i opcija boja. Budući da se LED diode mogu pojedinačno adresirati (svaka LED 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 ESP32 podatke s NTP vremenskom oznakom 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 januara
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 zasnovanoj na oblaku
Arduino sistem za praćenje otisaka prstiju sa pohranom podataka u oblaku: 8 koraka
Arduino sistem za praćenje otisaka prstiju sa pohranom u oblaku: Ovaj i druge nevjerovatne 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 važno zbog sve veće upotrebe IoT sistema. U ovom vodiču ćemo napraviti
YABC - Još jedan kontroler Blynk - IoT kontroler temperature i vlažnosti u oblaku, ESP8266: 4 koraka
YABC - Još jedan kontroler Blynk - IoT kontroler temperature i vlažnosti u oblaku, ESP8266: Zdravo proizvođači, nedavno sam počeo uzgajati gljive kod kuće, bukovače, ali već sam 3 puta imao ove kontrolere kod kuće za kontrolu temperature fermentatora za moju domaću marinu, supruga sada radi i ovu Kombucha stvar, a kao termostat za toplinu