Obsah:

Vlhkosť v oblakoch: 5 krokov
Vlhkosť v oblakoch: 5 krokov

Video: Vlhkosť v oblakoch: 5 krokov

Video: Vlhkosť v oblakoch: 5 krokov
Video: Эти подарки в доме говорят о порче в доме. Срочно избавьтесь от них 2024, Júl
Anonim
Vlhkosť v cloude
Vlhkosť v cloude

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

Príprava hardvéru
Príprava hardvéru
Príprava hardvéru
Príprava hardvéru
Príprava hardvéru
Príprava hardvéru
Príprava hardvéru
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

Inštalácia Cloud4RPi
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

Pripojenie senzora
Pripojenie senzora

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

Odosielanie údajov zo senzorov do cloudu
Odosielanie údajov zo senzorov do cloudu
Odosielanie údajov zo senzorov do cloudu
Odosielanie údajov zo senzorov 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

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