Obsah:
- Krok 1: Příprava hardwaru
- Krok 2: Povolení SSH
- Krok 3: Instalace Cloud4RPi
- Krok 4: Připojení senzoru
- Krok 5: Odesílání naměřených hodnot ze snímače do cloudu
- Krok 6: Grafy a alarmy
Video: Monitorování teploty a vlhkosti pomocí Raspberry Pi: 6 kroků (s obrázky)
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.
Používám desku Raspberry Pi 1 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 budu používat SSH. Věci se od posledního provedení 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í.
Krok 2: Povolení SSH
SSH je ve výchozím nastavení zakázáno. Mohu použít buď převodník UART-USB, nebo jen připojit displej pro přístup k shellu a povolení SSH.
Po restartu jsem konečně v. Nejprve věci, které aktualizujeme:
sudo apt update && sudo apt upgrade -y
Nyní připojme toto nové zařízení ke cloudu.
Krok 3: 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 python python -pip -y
Klientskou knihovnu lze nainstalovat jediným příkazem:
sudo pip install cloud4rpi
Nyní potřebujeme nějaký ukázkový kód, abychom zajistili, že funguje.
git clone https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python git clone https://gist.github.com/f8327a1ef09ceb1ef142fa68701270de.git e && mv e/minimal.py minimal.py && rmdir -re
Rozhodl jsem se spustit minimal.py, ale nemám rád falešná data. Naštěstí jsem si v tomto příkladu všiml snadného způsobu, jak diagnostická data uskutečnit. Přidejte ještě jeden import do sekce importu:
z rpi import *
Poté odstraňte tyto funkce, které poskytují falešná data (rpi.py je nyní definuje):
def cpu_temp ():
return 70 def ip_address (): return '8.8.8.8' def host_name (): return 'hostname' def os_name (): return 'osx'
Nyní 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 minimal.py tokenem vašeho zařízení a soubor uložte. Nyní jsme připraveni na první spuštění.
python minimal.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 4: 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…. 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 5: Odesílání naměřených hodnot ze snímače do cloudu
Jako základ použiji soubor minimal.py a přidám do něj interakci DHT22.
cd cloud4rpi-raspberrypi-python
cp minimal.py ~/cloud_dht22.py cp rpi.py ~/rpi.py cd vi cloud_dht22.py
Protože DHT22 vrací teplotu i vlhkost v rámci jednoho hovoru, ukládá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 () return round (temp, 2) if temp is not None else None def get_h (): update_data () return round (hum, 2) if hum is not Žá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:
proměnné = {
'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type ':' numeric ',' bind ': cpu_temp}}
Stisknutím červeného tlačítka zahájíte přenos dat:
python 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:
wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s 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 démon Načteno: načteno (/lib/systemd/system/cloud4rpi.service; povoleno) Aktivní: aktivní (spuštěno) od 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]: publikační iot -hub/messages: {'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 6: 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!
Doporučuje:
Monitorování teploty a vlhkosti pomocí NODE MCU A BLYNK: 5 kroků
Monitorování teploty a vlhkosti pomocí NODE MCU A BLYNK: Ahoj kluci V tomto návodu se naučíme zjistit teplotu a vlhkost atmosféry pomocí snímače teploty a vlhkosti DHT11 pomocí aplikace Node MCU a BLYNK
Monitorování teploty a vlhkosti DHT pomocí platformy ESP8266 a platformy IoT AskSensors: 8 kroků
Monitorování teploty a vlhkosti DHT pomocí platformy ESP8266 a platformy AskSensors IoT: V předchozím pokynu jsem představil krok za krokem průvodce, jak začít s ESP8266 nodeMCU a platformou AskSensors IoT. V tomto tutoriálu připojuji snímač DHT11 do uzlu MCU. DHT11 je běžně používaný teplotní a zvlhčovací
Monitorování teploty a vlhkosti pomocí ESP-01 a DHT a AskSensors Cloud: 8 kroků
Monitorování teploty a vlhkosti pomocí ESP-01 & DHT a AskSensors Cloud: V tomto instruktážním kurzu se naučíme monitorovat měření teploty a vlhkosti pomocí desky IOT-MCU/ESP-01-DHT11 a platformy AskSensors IoT .Volím pro tuto aplikaci modul IOT-MCU ESP-01-DHT11, protože
Monitorování teploty a vlhkosti pomocí Blynk: 6 kroků
Monitorování teploty a vlhkosti pomocí Blynk: V tomto tutoriálu se chystáme sledovat teplotu a vlhkost pomocí DHT11 a odeslat data do cloudu pomocí komponent Blynk požadovaných pro tento výukový program: Snímač teploty a vlhkosti Arduino UnoDHT11 ESP8266-01 WiFi modul
Monitorování teploty a vlhkosti pomocí SHT25 a Raspberry Pi: 5 kroků
Monitorování teploty a vlhkosti pomocí SHT25 a Raspberry Pi: Nedávno jsme pracovali na různých projektech, které vyžadovaly monitorování teploty a vlhkosti, a pak jsme si uvědomili, že tyto dva parametry skutečně hrají klíčovou roli při odhadu pracovní účinnosti systému. Oba v průmyslu