Tartalomjegyzék:

Páratartalom a felhőben: 5 lépés
Páratartalom a felhőben: 5 lépés

Videó: Páratartalom a felhőben: 5 lépés

Videó: Páratartalom a felhőben: 5 lépés
Videó: Penészesedés, páratartalom, hővisszanyerő szellőztetés #épületgépészet #KarsaiJózsef 2024, November
Anonim
Páratartalom a felhőben
Páratartalom a felhőben

Közeleg a nyár, és azoknak, akiknek nincs légkondicionálójuk, fel kell készülniük a beltéri légkör manuális szabályozására. Ebben a bejegyzésben leírom a modern módszert az emberi kényelem szempontjából legfontosabb paraméterek mérésére: hőmérséklet és páratartalom. Ezeket az összegyűjtött adatokat a felhőbe küldik és ott feldolgozzák.

Kellékek

Raspberry Pi táblát és DHT22 érzékelőt használok. Ugyanezt megteheti minden olyan számítógépen, amely rendelkezik Internet, GPIO és Python rendszerekkel. Az olcsóbb DHT11 érzékelő is jól működik.

1. lépés: A hardver előkészítése

Hardver előkészítése
Hardver előkészítése
Hardver előkészítése
Hardver előkészítése
Hardver előkészítése
Hardver előkészítése
Hardver előkészítése
Hardver előkészítése

Kezdjük a legelején, mivel nem sokáig használtam a Raspberry Pi -t.

Szükségünk lesz:

  • Raspberry Pi tábla (vagy más IoT-orientált platform).
  • SD vagy microSD kártya (platformtól függően).
  • 5V/1A mikro-USB-n keresztül. LAN-kábel, amely biztosítja az internetkapcsolatot.
  • HDMI -kijelző, RCA -kijelző vagy UART -port (az SSH engedélyezéséhez).

Az első lépés a Raspbian letöltése. A Lite verziót választottam, mivel SSH -t fogok használni kijelző helyett.

A dolgok megváltoztak, mióta utoljára tettem: most van egy nagyszerű égető szoftver, az Etcher, amely tökéletesen működik, és lenyűgöző dizájnnal rendelkezik.

Miután a képégetés befejeződött, behelyeztem az SD -kártyát a Pi -be, bedugtam a LAN- és a tápkábeleket, majd egy idő után az útválasztóm regisztrálta az új eszközt.

Nagy! Folytassuk, és SSH bele.

A biztonság rendben van, tetszik, de ez egy kicsit megnehezíti a dolgokat. UART-USB adaptert fogok használni a héj eléréséhez és az SSH engedélyezéséhez…

A kijelző használata az UART helyett sokkal egyszerűbb.

Újraindítás után végre bent vagyok.

Először is frissítsük:

sudo apt update && sudo apt upgrade -y

Most csatlakoztassuk ezt a friss eszközt a felhőhöz.

2. lépés: A Cloud4RPi telepítése

A Cloud4RPi telepítése
A Cloud4RPi telepítése

Úgy döntöttem, hogy kipróbálom a Cloud4RPi nevű felhőplatformot, amelyet az IoT -hez terveztek.

A dokumentumok szerint a következő csomagokra van szükségünk a futtatáshoz:

sudo apt install git python3 python3 -pip -y

Az ügyfélkönyvtár egyetlen parancsban telepíthető:

sudo pip3 telepítse a cloud4rpi -t

Most szükségünk van egy mintakódra.

git klón https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python

A futtatható parancsfájl a control.py.

Szükségünk van egy tokenre, amely lehetővé teszi, hogy a Cloud4RPi összekapcsolja az eszközöket a fiókokkal. Ennek megszerzéséhez hozzon létre egy fiókot a cloud4rpi.io webhelyen, és nyomja meg az Új eszköz gombot ezen az oldalon. Cserélje ki a control.py fájlban található _YOUR_DEVICE_TOKEN_ karakterláncot az eszköz jogkivonatával, és mentse a fájlt. Most készen állunk az első indításra.

sudo python3 control.py

Nyissa meg az eszköz oldalt, és ellenőrizze, hogy ott vannak -e az adatok.

Most térjünk át a valós adatokhoz.

3. lépés: Az érzékelő csatlakoztatása

Az érzékelő csatlakoztatása
Az érzékelő csatlakoztatása

Szükségünk lesz:

  • DHT22 vagy DHT11 páratartalom -érzékelő
  • Felhúzó ellenállás (5-10 KΩ)
  • Vezetékek

A DHT22 érzékelő egyszerre méri a hőmérsékletet és a páratartalmat. A kommunikációs protokoll nem szabványosított, ezért nem kell engedélyeznünk a raspi -configban - egy egyszerű GPIO pin több mint elég.

Az adatok megszerzéséhez az Adafruit nagyszerű könyvtárát fogom használni a DHT érzékelők számára, de előfordulhat, hogy nem működik úgy, ahogy van. Egyszer furcsa állandó késleltetést találtam a kódban, ami nem működött a hardveremnél, és két év után a lekérési kérésem még mindig függőben van. Megváltoztattam a tábla észlelési állandóit is, mert a BCM2835 -ös Raspberry Pi 1 készülékemet meglepő módon Raspberry Pi 3 -nak találták. Bárcsak igaz lenne … Ezért javaslom a villám használatát. Ha bármilyen problémája van vele, próbálja ki az eredeti tárolót, talán valakinek működik, de én nem tartozom közéjük.

git klón https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT

Mivel a könyvtár C nyelven íródott, fordítást igényel, ezért szüksége van a build-essential és a python-dev csomagokra.

sudo apt install build-essential python-dev -ysudo python setup.py install

A csomagok telepítése közben csatlakoztassa a DHT22 -t a képen látható módon.

És teszteld:

cd ~ python -c "importálja az Adafruit_DHT -t d -ként; print d.read_retry (d. DHT22, 4)"

Ha valami hasonlót lát (39.20000076293945, 22.600000381469727), akkor tudnia kell, hogy ez a páratartalom százalékban és a Celsius -fokban mért hőmérséklet.

Most pedig állítsunk össze mindent!

4. lépés: Az érzékelő leolvasása a felhőbe

Érzékelő leolvasása a felhőbe
Érzékelő leolvasása a felhőbe
Érzékelő leolvasása a felhőbe
Érzékelő leolvasása a felhőbe

A control.py -t használom alapul, és hozzáadom a DHT22 interakciót.

cp cloud4rpi-raspberrypi-python/control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python/rpi.py./rpi.pyvi cloud_dht22.py

Távolítsa el a mintakódot, mint a fenti képen.

Mivel a DHT22 egy hívásban visszaadja a hőmérsékletet és a páratartalmat, globálisan tárolom őket, és csak egyszer frissítem egy kérésben, feltéve, hogy a késés több mint 10 másodperc. Tekintsük a következő kódot, amely a DHT22 adatokat szerezi:

import Adafruit_DHT

temp, hum = Nincs, nincs

last_update = time.time () - 20

def update_data ():

globális 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 () visszatérési kör (temp, 2), ha a temp nem más Nincs def

Illessze be ezt a kódot a meglévő importálás után, és szerkessze a változók részt úgy, hogy az az új funkciókat használja:

variables = {'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Nedvesség': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type': 'numeric', 'bind': cpu_temp}}

Ha úgy találja, hogy a manipulációk zavaróak, vegye le a fájl végleges verzióját. Nyomja meg a piros gombot az adatátvitel elindításához:

Ezután ellenőrizheti az eszköz oldalát.

python3 cloud_dht22.py

Ezután ellenőrizheti az eszköz oldalát.

Hagyhatja úgy, ahogy van, de én inkább szolgáltatást tartok mindennek. Ez biztosítja, hogy a szkript mindig fut. Szolgáltatás létrehozása a cloud4rpi-raspberrypi-python könyvtárban már található teljesen automatizált szkripttel:

service_install.sh cloud_dht22.py

A szolgáltatás elindítása:

sudo service cloud4rpi indítása

És ellenőrizze:

pi@raspberrypi: ~ $ sudo service cloud4rpi állapot -l ● cloud4rpi.service -Cloud4RPi démon Betöltve: betöltve (/lib/systemd/system/cloud4rpi.service; engedélyezve) Aktív: aktív (fut) 2017-05-17 20 óta: 22: 48 UTC; 1 perccel ezelőtt Fő PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.py

Május 17. 20:22:51 raspberrypi python [560]: iot-hub/messages közzététele: {'type': 'config', 'ts': '2017-05-17T20… y'}]}

Május 17. 20:22:53 raspberrypi python [560]: iot-hub/messages közzététele: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} május 17 20: 22:53 raspberrypi python [560]: iot-hub/messages közzététele: {'type': 'system', 'ts': '2017-05-17T20….4'}}

Ha minden a várt módon működik, folytathatjuk a Cloud4RPi platform képességeit az adatokkal való manipulációhoz.

5. lépés: Táblázatok és riasztások

Táblázatok és riasztások
Táblázatok és riasztások
Táblázatok és riasztások
Táblázatok és riasztások
Táblázatok és riasztások
Táblázatok és riasztások

Először is ábrázoljuk a változókat, hogy lássuk, hogyan változnak. Ezt úgy teheti meg, hogy hozzáad egy új Vezérlőpultot, és beteszi a szükséges diagramokat.

Egy másik dolog, amit itt tehetünk, az a riasztás beállítása. Ez a funkció lehetővé teszi a változó biztonságos tartományának beállítását. Amint a tartomány túllépi, e -mail értesítést küld. A Vezérlőpult szerkesztési oldalán válthat a Riasztások menüpontra, és beállíthat egyet.

Rögtön ezután a szobámban minden észrevehető ok nélkül gyorsan csökkent a páratartalom, és hamarosan riasztás következett.

A Cloud4RPi -t ingyenesen használhatja minden olyan hardverrel, amely képes a Python futtatására. Ami engem illet, most már mindig tudom, hogy mikor kell bekapcsolni a légnedvesítőt, és akár a Cloud4RPi -n keresztül távirányító reléhez is csatlakoztathatom. Fel vagyok készülve a melegre! Isten hozott, nyár!

A Cloud4RPi segítségével valós időben vezérelheti Raspberry Pi és más IoT eszközeit. Látogassa meg webhelyünket, és csatlakoztasson korlátlan számú eszközt ingyen.

Ajánlott: