Obsah:
- Zásoby
- Krok 1: Príprava hardvéru
- Krok 2: Inštalácia Cloud4RPi
- Krok 3: Pripojenie snímača
- Krok 4: Odosielanie nameraných hodnôt zo senzora do cloudu
- Krok 5: Grafy a alarmy
Video: Vlhkosť v oblakoch: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Blíži sa leto a tí, ktorí nemajú klimatizáciu, by mali byť pripravení ovládať atmosféru v interiéri ručne. V tomto príspevku popisujem moderný spôsob merania najdôležitejších parametrov pohodlia človeka: teploty a vlhkosti. Tieto zozbierané údaje sú odoslané do cloudu a tam spracované.
Zásoby
Používam dosku Raspberry Pi a snímač DHT22. To isté môžete urobiť na akomkoľvek počítači s internetom, GPIO a Pythonom. Dobre funguje aj lacnejší snímač DHT11.
Krok 1: Príprava hardvéru
Začnime úplne od začiatku, pretože som svoj Raspberry Pi dlho nepoužíval.
Budeme potrebovať:
- Doska Raspberry Pi (alebo iná platforma orientovaná na IoT).
- Karta SD alebo microSD (v závislosti od platformy).
- 5V/1A cez micro-USB. LAN kábel, ktorý poskytuje internetové pripojenie.
- HDMI displej, RCA displej alebo UART port (na povolenie SSH).
Úplne prvým krokom je stiahnutie Raspbianu. Vybral som si zjednodušenú verziu, pretože namiesto zobrazenia použijem SSH.
Veci sa zmenili od doby, kedy som to urobil naposledy: teraz existuje skvelý napaľovací softvér s názvom Etcher, ktorý funguje perfektne a má úžasný dizajn.
Keď bolo napaľovanie obrazu dokončené, vložil som SD kartu do svojho Pi, zapojil LAN a napájacie káble a po chvíli môj router zaregistroval nové zariadenie.
Skvelé! Poďme ďalej a SSH do toho.
Zabezpečenie je v poriadku, páči sa mi to, ale vďaka tomu sú veci o niečo ťažšie. Na prístup k shellu a povolenie SSH použijem adaptér UART-USB …
Použitie displeja namiesto UART to veľmi uľahčuje.
Po reštarte som konečne tam.
Najprv to, čo aktualizujeme:
sudo apt update && sudo apt upgrade -y
Teraz pripojme toto nové zariadenie k cloudu.
Krok 2: Inštalácia Cloud4RPi
Rozhodol som sa vyskúšať cloudovú platformu s názvom Cloud4RPi, ktorá je navrhnutá pre IoT.
Podľa dokumentov na jeho spustenie potrebujeme nasledujúce balíky:
sudo apt install git python3 python3 -pip -y
Klientsku knižnicu je možné nainštalovať jediným príkazom:
sudo pip3 nainštalujte cloud4rpi
Teraz potrebujeme nejaký ukážkový kód.
git klon https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python
Spustiteľný skript je control.py.
Potrebujeme token, ktorý umožňuje Cloud4RPi prepojiť zariadenia s účtami. Ak ho chcete získať, vytvorte si účet na cloud4rpi.io a kliknite na tlačidlo Nové zariadenie na tejto stránke. Nahraďte reťazec _YOUR_DEVICE_TOKEN_ v súbore control.py tokenom vášho zariadenia a súbor uložte. Teraz sme pripravení na prvé spustenie.
sudo python3 control.py
Otvorte stránku zariadenia a skontrolujte, či sú tam uvedené údaje.
Teraz prejdeme k údajom z reálneho sveta.
Krok 3: Pripojenie snímača
Budeme potrebovať:
- Snímač vlhkosti DHT22 alebo DHT11
- Vyťahovací odpor (5-10 KΩ)
- Drôty
Snímač DHT22 meria teplotu a vlhkosť súčasne. Komunikačný protokol nie je štandardizovaný, takže ho nepotrebujeme povoliť v raspi -config - jednoduchý GPIO pin je viac ako dosť.
Na získanie údajov použijem skvelú knižnicu Adafruit pre senzory DHT, ktorá však nemusí fungovať tak, ako je. Raz som v kóde našiel podivné neustále oneskorenie, ktoré na môj hardvér nefungovalo a po dvoch rokoch moja žiadosť o vytiahnutie stále čaká. Tiež som zmenil konštanty detekcie dosky, pretože môj Raspberry Pi 1 s BCM2835 bol prekvapivo detekovaný ako Raspberry Pi 3. Prial by som si, aby to bola pravda … Preto odporúčam použiť svoju vidlicu. Ak s tým máte problémy, vyskúšajte pôvodné úložisko, možno to niekomu funguje, ale nie som jedným z nich.
klon git https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT
Pretože je knižnica napísaná v jazyku C, vyžaduje kompiláciu, takže potrebujete balíky nevyhnutné na zostavenie a python-dev.
sudo apt install build-essential python-dev -ysudo python setup.py install
Kým sa balíky inštalujú, pripojte DHT22 podľa obrázku.
A vyskúšajte:
cd ~ python -c "importovať Adafruit_DHT ako d; vytlačiť d.read_retry (d. DHT22, 4)"
Ak vidíte niečo ako (39.20000076293945, 22.600000381469727), mali by ste vedieť, že ide o vlhkosť v percentách a teplotu v stupňoch Celzia.
Teraz poďme zhromaždiť všetko dohromady!
Krok 4: Odosielanie nameraných hodnôt zo senzora do cloudu
Ako základ použijem control.py a pridám doň interakciu DHT22.
cp cloud4rpi-raspberrypi-python/control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python/rpi.py./rpi.pyvi cloud_dht22.py
Odstráňte ukážkový kód ako na obrázku vyššie.
Pretože DHT22 vracia teplotu aj vlhkosť v rámci jedného hovoru, uložím ich globálne a aktualizujem iba raz v žiadosti, za predpokladu, že oneskorenie medzi nimi je viac ako 10 sekúnd. Zvážte nasledujúci kód, ktorý získava údaje DHT22:
importovať Adafruit_DHT
temp, hum = None, None
last_update = time.time () - 20
def update_data ():
global 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 () návratové kolo (temp, 2) ak temp nie je None else None def get_h (): update_data () return round (hum, 2) if hum is not None else None
Vložte tento kód za existujúci import a upravte sekciu premenných tak, aby používal nové funkcie:
variables = {'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type': 'numeric', 'bind': cpu_temp}}
Ak sa vám zdajú manipulácie mätúce, stiahnite si konečnú verziu tohto súboru. Prenos údajov spustíte stlačením červeného tlačidla:
Potom môžete skontrolovať stránku zariadenia.
python3 cloud_dht22.py
Potom môžete skontrolovať stránku zariadenia.
Môžete to nechať tak, ale ja mám radšej službu pre všetko. To zaisťuje, že skript je vždy spustený. Vytvorenie služby s plne automatizovaným skriptom, ktorý už máte v adresári cloud4rpi-raspberrypi-python:
service_install.sh cloud_dht22.py
Spustenie služby:
spustenie služby sudo cloud4rpi
A kontrola:
pi@raspberrypi: ~ $ sudo service cloud4rpi status -l ● cloud4rpi.service -démon Cloud4RPi načítaný: načítaný (/lib/systemd/system/cloud4rpi.service; povolený) Aktívny: aktívny (v prevádzke) od stredy 2017-05-17 20: 22: 48 UTC; Pred 1 minútou Hlavný PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.py
17. mája 20:22:51 raspberrypi python [560]: Publikovanie iot-hub/správ: {'type': 'config', 'ts': '2017-05-17T20 … y'}]}}
17. máj 20:22:53 raspberrypi python [560]: Publikovanie iot-hub/správ: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17. máj 20: 22:53 raspberrypi python [560]: Publikovanie iot-hub/správ: {'type': 'system', 'ts': '2017-05-17T20 ….4'}}
Ak všetko funguje podľa očakávania, môžeme pokračovať a používať možnosti platformy Cloud4RPi na manipuláciu s údajmi.
Krok 5: Grafy a alarmy
Najprv si načrtneme premenné, aby sme zistili, ako sa menia. To je možné dosiahnuť pridaním nového ovládacieho panela a vložením požadovaných grafov.
Ďalšou vecou, ktorú tu môžeme urobiť, je nastaviť upozornenie. Táto funkcia vám umožňuje konfigurovať bezpečný rozsah pre premennú. Hneď ako je rozsah prekročený, odošle e -mailové upozornenie. Na stránke úprav ovládacieho panela môžete prepnúť na položku Upozornenia a nastaviť si ju.
Hneď potom sa vlhkosť v mojej miestnosti bez zjavného dôvodu začala rýchlo znižovať a čoskoro nasledoval alarm.
Cloud4RPi môžete používať zadarmo s akýmkoľvek hardvérom, ktorý je schopný spustiť Python. Pokiaľ ide o mňa, teraz vždy viem, kedy zapnúť zvlhčovač vzduchu, a dokonca ho môžem pripojiť k relé na diaľkové ovládanie cez Cloud4RPi. Som pripravený na teplo! Vitaj leto!
S Cloud4RPi môžete ovládať svoj Raspberry Pi a ďalšie zariadenia IoT na diaľku v reálnom čase. Navštívte náš web a zadarmo pripojte neobmedzené množstvo zariadení.
Odporúča:
M5STACK Ako zobraziť teplotu, vlhkosť a tlak na M5StickC ESP32 pomocou Visuino - jednoduché kroky: 6 krokov
M5STACK Ako zobraziť teplotu, vlhkosť a tlak na M5StickC ESP32 pomocou programu Visuino - Jednoduché kroky: V tomto návode sa naučíme, ako naprogramovať ESP32 M5Stack StickC s Arduino IDE a Visuino na zobrazenie teploty, vlhkosti a tlaku pomocou snímača ENV (DHT12, BMP280, BMM150)
Spätná väzba na pôdnu vlhkosť riadená systémom odkvapkávania napojeného na internet (ESP32 a Blynk): 5 krokov
Spätná väzba na pôdnu vlhkosť Riadený systém odkvapkávania napojený na internet (ESP32 a Blynk): Keď sa chystáte na dlhé prázdniny, robte si starosti so svojou záhradou alebo s rastlinami, alebo zabudnite rastlinu denne zalievať. No, tu je riešenie. Je to globálne prepojený kvapkový závlahový systém riadený vlhkosťou pôdy, ktorý je riadený systémom ESP32 na softvérovom fronte
VLHKOSŤ A TEPLOTA ZOBRAZTE NA LCD S ARDUINO NANO: 5 krokov
ZVLHČTE VLHKOSŤ A TEPLOTU NA LCD S ARDUINO NANO: Nasledujúci návod sa zaoberá vytvorením jednoduchého rozhrania LCD s arduino nano
Výstraha na teplotu a vlhkosť pomocou AWS a ESP32: 11 krokov
Upozornenie na teplotu a vlhkosť pomocou AWS a ESP32: V tomto tutoriáli budeme merať rôzne údaje o teplote a vlhkosti pomocou snímača teploty a vlhkosti. Dozviete sa tiež, ako tieto údaje odoslať do AWS
Automatizácia skleníka s LoRa! (Časť 1) -- Senzory (teplota, vlhkosť, pôdna vlhkosť): 5 krokov
Automatizácia skleníka s LoRa! (Časť 1) || Senzory (teplota, vlhkosť, pôdna vlhkosť): V tomto projekte vám ukážem, ako som automatizoval skleník. To znamená, že vám ukážem, ako som postavil skleník a ako som zapojil výkonovú a automatizačnú elektroniku. Tiež vám ukážem, ako naprogramovať dosku Arduino, ktorá používa L