Obsah:
- Krok 1: Príprava hardvéru
- Krok 2: Povolenie SSH
- Krok 3: Inštalácia Cloud4RPi
- Krok 4: Pripojenie senzora
- Krok 5: Odosielanie nameraných hodnôt zo senzora do cloudu
- Krok 6: Grafy a alarmy
Video: Monitorovanie teploty a vlhkosti pomocou Raspberry Pi: 6 krokov (s obrázkami)
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é.
Používam dosku Raspberry Pi 1 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 Lite verziu, pretože namiesto displeja budem používať SSH. Veci sa od posledného použitia zmenili: 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.
Krok 2: Povolenie SSH
SSH je predvolene vypnuté. Môžem použiť buď prevodník UART-USB, alebo len pripojiť displej na prístup k shellu a povoliť SSH.
Po reštarte som konečne v. Najprv si dáme aktualizáciu:
sudo apt update && sudo apt upgrade -y
Teraz pripojme toto nové zariadenie k cloudu.
Krok 3: 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 python python -pip -y
Klientsku knižnicu je možné nainštalovať jediným príkazom:
sudo pip install cloud4rpi
Teraz potrebujeme nejaký ukážkový kód, aby sme zaistili, že funguje.
git klon https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python git klon https://gist.github.com/f8327a1ef09ceb1ef142fa68701270de.git e && mv e/minimal.py minimal.py && rmdir -re
Rozhodol som sa spustiť minimal.py, ale nemám rád falošné údaje. Našťastie som si v tomto prípade všimol ľahký spôsob, ako diagnostické údaje urobiť skutočnými. Pridajte ďalší import do sekcie importu:
z importu rpi *
Potom odstráňte tieto funkcie, ktoré poskytujú falošné údaje (rpi.py ich teraz definuje):
def cpu_temp ():
return 70 def ip_address (): return '8.8.8.8' def host_name (): return 'hostname' def os_name (): return 'osx'
Teraz 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 minimal.py tokenom vášho zariadenia a súbor uložte. Teraz sme pripravení na prvé spustenie.
python minimal.py
Otvorte stránku zariadenia a skontrolujte, či sú tam uvedené údaje.
Teraz prejdeme k údajom z reálneho sveta.
Krok 4: Pripojenie senzora
Budeme potrebovať:
- Snímač vlhkosti DHT22 alebo DHT11
- Vyťahovací odpor (5-10 KΩ)
- Drôty
Senzor 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…. 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 5: Odosielanie nameraných hodnôt zo senzora do cloudu
Ako základ použijem minimal.py a pridám doň interakciu DHT22.
cd cloud4rpi-raspberrypi-python
cp minimal.py ~/cloud_dht22.py cp rpi.py ~/rpi.py cd vi cloud_dht22.py
Pretože DHT22 vracia teplotu aj vlhkosť v rámci jedného hovoru, ukladá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 () return round (temp, 2) if temp is not None else None def get_h (): update_data () return round (hum, 2) if hum is not Žiadne iné Žiadne
Vložte tento kód za existujúci import a upravte sekciu premenných tak, aby používal nové funkcie:
premenné = {
'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type ':' numeric ',' bind ': cpu_temp}}
Prenos údajov spustíte stlačením červeného tlačidla:
python 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 pomocou plne automatizovaného skriptu:
wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s cloud_dht22.py
Spustenie služby:
spustenie služby sudo cloud4rpi
A kontrola:
pi@raspberrypi: ~ $ sudo service cloud4rpi status -l
● cloud4rpi.service-Cloud4RPi démon 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.pyMáj 17 20:22:51 raspberrypi python [560]: Publikovanie iot -hub/messages: {'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ája 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 6: 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!
Odporúča:
Monitorovanie teploty a vlhkosti pomocou NODE MCU A BLYNK: 5 krokov
Monitorovanie teploty a vlhkosti pomocou NODE MCU A BLYNK: Ahoj, priatelia V tomto návode sa naučíme, ako získať teplotu a vlhkosť atmosféry pomocou snímača teploty a vlhkosti DHT11 pomocou aplikácie Node MCU a BLYNK
Monitorovanie teploty a vlhkosti DHT pomocou platformy ESP8266 a platformy IoT AskSensors: 8 krokov
Monitorovanie teploty a vlhkosti DHT pomocou platformy ESP8266 a platformy AskSensors IoT: V predchádzajúcom návode som predstavil krok za krokom sprievodcu, ako začať s platformou ESP8266 nodeMCU a platformou AskSensors IoT. V tomto návode pripájam snímač DHT11 do uzla MCU. DHT11 je bežne používaná teplota a vlhkosť
Monitorovanie teploty a vlhkosti pomocou ESP-01 a DHT a cloudu AskSensors: 8 krokov
Monitorovanie teploty a vlhkosti pomocou ESP-01 & DHT a AskSensors Cloud: V tomto návode sa naučíme monitorovať merania teploty a vlhkosti pomocou dosky IOT-MCU/ESP-01-DHT11 a platformy AskSensors IoT . Vyberám modul IOT-MCU ESP-01-DHT11 pre túto aplikáciu, pretože
Monitorovanie teploty a vlhkosti pomocou Blynka: 6 krokov
Monitorovanie teploty a vlhkosti pomocou Blynk: V tomto tutoriáli sa pozrieme na monitorovanie teploty a vlhkosti pomocou DHT11 a odošleme údaje do cloudu pomocou komponentov Blynk požadovaných pre tento návod: Senzor teploty a vlhkosti Arduino UnoDHT11 ESP8266-01 WiFi modul
Monitorovanie teploty a vlhkosti pomocou SHT25 a Raspberry Pi: 5 krokov
Monitorovanie teploty a vlhkosti pomocou SHT25 a Raspberry Pi: Nedávno sme pracovali na rôznych projektoch, ktoré vyžadovali monitorovanie teploty a vlhkosti, a potom sme si uvedomili, že tieto dva parametre skutočne zohrávajú kľúčovú úlohu pri odhade pracovnej účinnosti systému. Obaja v induse