Obsah:

Vlhkost v oblacích: 5 kroků
Vlhkost v oblacích: 5 kroků

Video: Vlhkost v oblacích: 5 kroků

Video: Vlhkost v oblacích: 5 kroků
Video: Všetečkovi (3,5 hod.) 2024, Červenec
Anonim
Vlhkost v cloudu
Vlhkost v cloudu

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

Příprava hardwaru
Příprava hardwaru
Příprava hardwaru
Příprava hardwaru
Příprava hardwaru
Příprava hardwaru
Příprava hardwaru
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

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

Připojení senzoru
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

Odesílání naměřených hodnot do cloudu
Odesílání naměřených hodnot do cloudu
Odesílání naměřených hodnot do cloudu
Odesílání naměřených hodnot 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

Grafy a alarmy
Grafy a alarmy
Grafy a alarmy
Grafy a alarmy
Grafy a alarmy
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: