Obsah:
- Zásoby
- Krok 1: Příprava hardwaru
- Krok 2: Instalace Cloud4RPi
- Krok 3: Připojení senzoru
- Krok 4: Odesílání údajů ze senzorů do cloudu
- Krok 5: Grafy a alarmy
Video: Vlhkost v oblacích: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Léto se blíží a ti, kteří nemají klimatizaci, by měli být připraveni ovládat atmosféru uvnitř ručně. V tomto příspěvku popisuji moderní způsob měření nejdůležitějších parametrů pro pohodlí člověka: teploty a vlhkosti. Tato shromážděná data jsou odeslána do cloudu a tam zpracována.
Zásoby
Používám desku Raspberry Pi a snímač DHT22. To samé můžete udělat na jakémkoli počítači s internetem, GPIO a Pythonem. Dobře funguje i levnější senzor DHT11.
Krok 1: Příprava hardwaru
Začněme úplně od začátku, protože jsem svůj Raspberry Pi delší dobu nepoužíval.
Budeme potřebovat:
- Deska Raspberry Pi (nebo jiná platforma orientovaná na IoT).
- Karta SD nebo microSD (v závislosti na platformě).
- 5V/1A přes micro-USB. LAN kabel, který zajišťuje připojení k internetu.
- HDMI displej, RCA displej nebo UART port (pro povolení SSH).
Úplně prvním krokem je stažení Raspbianu. Vybral jsem si Lite verzi, protože místo displeje použiji SSH.
Věci se od doby, kdy jsem to udělal naposledy, změnily: nyní existuje skvělý vypalovací software s názvem Etcher, který funguje perfektně a má úžasný design.
Když bylo vypalování obrazu dokončeno, vložil jsem SD kartu do svého Pi, zapojil LAN a napájecí kabely a po chvíli můj router zaregistroval nové zařízení.
Skvělý! Pojďme dál a SSH do toho.
Zabezpečení je v pořádku, líbí se mi, ale díky tomu jsou věci trochu těžší. Pro přístup k shellu a povolení SSH použiji adaptér UART-USB …
Použití displeje místo UART to velmi usnadňuje.
Po restartu jsem konečně v.
Nejprve nejprve aktualizujeme:
sudo apt update && sudo apt upgrade -y
Nyní připojme toto nové zařízení ke cloudu.
Krok 2: Instalace Cloud4RPi
Rozhodl jsem se vyzkoušet cloudovou platformu s názvem Cloud4RPi, která je určena pro IoT.
Podle dokumentů potřebujeme k jeho spuštění následující balíčky:
sudo apt install git python3 python3 -pip -y
Klientskou knihovnu lze nainstalovat jediným příkazem:
sudo pip3 nainstalujte cloud4rpi
Nyní potřebujeme nějaký ukázkový kód.
git clone https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python
Spustitelný skript je control.py.
Potřebujeme token, který umožňuje Cloud4RPi propojit zařízení s účty. Chcete -li jej získat, vytvořte si účet na cloud4rpi.io a klikněte na tlačítko Nové zařízení na této stránce. Nahraďte řetězec _YOUR_DEVICE_TOKEN_ v souboru control.py tokenem vašeho zařízení a soubor uložte. Nyní jsme připraveni na první spuštění.
sudo python3 control.py
Otevřete stránku zařízení a zkontrolujte, zda jsou tam data.
Nyní přejdeme k datům z reálného světa.
Krok 3: Připojení senzoru
Budeme potřebovat:
- Čidlo vlhkosti DHT22 nebo DHT11
- Pull-up odpor (5-10 KΩ)
- Dráty
Senzor DHT22 měří teplotu a vlhkost současně. Komunikační protokol není standardizovaný, takže jej nemusíme aktivovat v raspi -config - jednoduchý GPIO pin je více než dostačující.
K získání dat použiji skvělou knihovnu Adafruit pro senzory DHT, ale nemusí fungovat tak, jak je. Jednou jsem v kódu našel podivné konstantní zpoždění, které na můj hardware nefungovalo a po dvou letech moje žádost o vytažení stále čeká. Také jsem změnil konstanty detekce desky, protože můj Raspberry Pi 1 s BCM2835 byl překvapivě detekován jako Raspberry Pi 3. Přál bych si, aby to byla pravda … Doporučuji tedy použít moji vidlici. Pokud s tím máte nějaké problémy, zkuste prosím původní úložiště, možná to někomu funguje, ale já mezi ně nepatřím.
klon git https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT
Jelikož je knihovna napsána v jazyce C, vyžaduje kompilaci, takže potřebujete balíčky nezbytné pro sestavení a python-dev.
sudo apt install build-essential python-dev -ysudo python setup.py install
Během instalace balíků připojte DHT22 podle obrázku.
A vyzkoušejte:
cd ~ python -c "import Adafruit_DHT jako d; tisk d.read_retry (d. DHT22, 4)"
Pokud vidíte něco jako (39.20000076293945, 22.600000381469727), měli byste vědět, že se jedná o vlhkost v procentech a teplotu ve stupních Celsia.
Pojďme nyní shromáždit vše dohromady!
Krok 4: Odesílání údajů ze senzorů do cloudu
Jako základ použiji control.py a přidám do něj interakci DHT22.
cp cloud4rpi-raspberrypi-python/control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python/rpi.py./rpi.pyvi cloud_dht22.py
Odeberte ukázkový kód jako na obrázku výše.
Protože DHT22 vrací teplotu i vlhkost v rámci jednoho hovoru, uložím je globálně a aktualizuji pouze jednou v požadavku za předpokladu, že zpoždění mezi nimi je více než 10 sekund. Zvažte následující kód, který získává data DHT22:
import 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 () vrátit kolo (temp, 2) pokud temp není Žádný jiný Žádný def get_h (): update_data () vrátit kolo (hukot, 2) pokud není hum Žádný jiný Žádný
Vložte tento kód za stávající importy a upravte sekci proměnných tak, aby používala nové funkce:
variables = {'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type': 'numeric', 'bind': cpu_temp}}
Pokud se vám zdá manipulace matoucí, stáhněte si konečnou verzi tohoto souboru. Přenos dat zahájíte stisknutím červeného tlačítka:
Poté můžete zkontrolovat stránku zařízení.
python3 cloud_dht22.py
Poté můžete zkontrolovat stránku zařízení.
Můžete to nechat tak, ale já mám raději službu pro všechno. Tím je zajištěno, že skript je vždy spuštěn. Vytvoření služby pomocí plně automatizovaného skriptu, který již máte v adresáři cloud4rpi-raspberrypi-python:
service_install.sh cloud_dht22.py
Spuštění služby:
spuštění služby sudo cloud4rpi
A kontrola:
pi@raspberrypi: ~ $ sudo service cloud4rpi status -l ● cloud4rpi.service -Cloud4RPi daemon Loaded: loaded (/lib/systemd/system/cloud4rpi.service; enabled) Active: active (running) since St 2017-05-17 20: 22: 48 UTC; Před 1 minutou Hlavní PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.py
17. května 20:22:51 raspberrypi python [560]: Publikování iot-hub/zpráv: {'type': 'config', 'ts': '2017-05-17T20… y'}]}}
17. května 20:22:53 raspberrypi python [560]: Publikování iot-hub/zpráv: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17. května 20: 22:53 raspberrypi python [560]: Publikování iot-hub/zpráv: {'type': 'system', 'ts': '2017-05-17T20 ….4'}}
Pokud vše funguje podle očekávání, můžeme pokračovat a využívat možnosti platformy Cloud4RPi k manipulaci s daty.
Krok 5: Grafy a alarmy
Nejprve si vykreslíme proměnné, abychom zjistili, jak se mění. To lze provést přidáním nového ovládacího panelu a vložením požadovaných grafů do něj.
Další věc, kterou zde můžeme udělat, je nastavení výstrahy. Tato funkce vám umožňuje konfigurovat bezpečný rozsah pro proměnnou. Jakmile je rozsah překročen, odešle e -mailové oznámení. Na stránce úprav ovládacího panelu můžete přepnout na výstrahy a nastavit je.
Hned poté se vlhkost v mém pokoji začala bez zjevného důvodu rychle snižovat a brzy následoval alarm.
Cloud4RPi můžete používat zdarma s jakýmkoli hardwarem, který je schopen spustit Python. Pokud jde o mě, teď vždy vím, kdy zapnout zvlhčovač vzduchu, a dokonce ho mohu připojit k relé pro dálkové ovládání přes Cloud4RPi. Jsem připraven na teplo! Vítej léto!
S Cloud4RPi můžete dálkově ovládat Raspberry Pi a další zařízení IoT v reálném čase. Navštivte náš web a připojte zdarma neomezené množství zařízení.
Doporučuje:
M5STACK Jak zobrazit teplotu, vlhkost a tlak na M5StickC ESP32 pomocí Visuino - snadné provedení: 6 kroků
M5STACK Jak zobrazit teplotu, vlhkost a tlak na M5StickC ESP32 pomocí Visuino - snadné provedení: V tomto tutoriálu se naučíme, jak naprogramovat ESP32 M5Stack StickC s Arduino IDE a Visuino tak, aby zobrazoval teplotu, vlhkost a tlak pomocí snímače ENV (DHT12, BMP280, BMM150)
Zpětná vazba na půdní vlhkost Řízený internetový kapkový zavlažovací systém (ESP32 a Blynk): 5 kroků
Zpětná vazba na půdní vlhkost řízená internetem propojený kapkový zavlažovací systém (ESP32 a Blynk): Máte -li dlouhé prázdniny, starejte se o svou zahradu nebo rostliny, nebo zapomeňte denně zalévat rostlinu. No, tady je řešení Jeho půdní vlhkost řízený a globálně propojený kapkový zavlažovací systém řízený ESP32 na softwarové přední straně
ZOBRAZTE VLHKOST A TEPLOTU NA LCD S ARDUINO NANO: 5 kroků
ZOBRAZTE VLHKOST A TEPLOTU NA LCD S ARDUINO NANO: Následující instruktáž se zabývá vytvořením jednoduchého rozhraní LCD s arduino nano
Upozornění na teplotu a vlhkost pomocí AWS a ESP32: 11 kroků
Upozornění na teplotu a vlhkost pomocí AWS a ESP32: V tomto tutoriálu budeme měřit různé údaje o teplotě a vlhkosti pomocí teplotního a vlhkostního senzoru. Dozvíte se také, jak tato data odeslat do AWS
Automatizace skleníku pomocí LoRa! (Část 1) -- Senzory (teplota, vlhkost, vlhkost půdy): 5 kroků
Automatizace skleníku pomocí LoRa! (Část 1) || Senzory (teplota, vlhkost, vlhkost půdy): V tomto projektu vám ukážu, jak jsem automatizoval skleník. To znamená, že vám ukážu, jak jsem postavil skleník a jak jsem zapojil napájecí a automatizační elektroniku. Také vám ukážu, jak naprogramovat desku Arduino, která používá L