Tartalomjegyzék:
- 1. lépés: A hardver előkészítése
- 2. lépés: Az SSH engedélyezése
- 3. lépés: A Cloud4RPi telepítése
- 4. lépés: Az érzékelő csatlakoztatása
- 5. lépés: Az érzékelő leolvasása a felhőbe
- 6. lépés: Táblázatok és riasztások
Videó: Hőmérséklet és páratartalom ellenőrzése a Raspberry Pi használatával: 6 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
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.
Raspberry Pi 1 kártyá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
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 micro-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 az SSH -t fogom használni a kijelző helyett. A dolgok megváltoztak az utolsó alkalom óta: 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.
2. lépés: Az SSH engedélyezése
Az SSH alapértelmezés szerint le van tiltva. Használhatom akár az UART-USB átalakítót, akár csak egy kijelzőt csatlakoztatva a héj eléréséhez és az SSH engedélyezéséhez.
Az újraindítás után végre benne 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.
3. lépés: 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 python python -pip -y
Az ügyfélkönyvtár egyetlen parancsban telepíthető:
sudo pip telepítse a cloud4rpi -t
Most szükségünk van egy mintakódra, hogy biztosítsuk a működését.
git klón https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python git klón https://gist.github.com/f8327a1ef09ceb1ef142fa68701270de.git e && mv e/minimal && rmdir -re
Úgy döntöttem, hogy a minimal.py -t futtatom, de nem szeretem a hamis adatokat. Szerencsére ebben a példában észrevettem a diagnosztikai adatok valódi megvalósításának egyszerű módját. Adjon hozzá még egy importálást az importálási szakaszhoz:
rpi importból *
Ezután törölje ezeket a hamis adatokat szolgáltató funkciókat (az rpi.py most definiálja őket):
def cpu_temp ():
return 70 def ip_address (): return '8.8.8.8' def host_name (): return 'hostname' def os_name (): return 'osx'
Most 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 le a _YOUR_DEVICE_TOKEN_ karakterláncot a minimal.py fájlban az eszköz tokenjével, és mentse a fájlt. Most készen állunk az első indításra.
python minimum.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.
4. lépés: 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…. 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!
5. lépés: Az érzékelő leolvasása a felhőbe
A minimal.py -t használom alapul, és hozzáadom a DHT22 interakciót.
cd cloud4rpi-raspberrypi-python
cp minimal.py ~/cloud_dht22.py cp rpi.py ~/rpi.py cd vi cloud_dht22.py
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 def_ (): update_data () visszatérési forduló (hum, 2) ha hum nem Senki más Nincs
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:
változók = {
'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Nedvesség': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type ':' numeric ',' bind ': cpu_temp}}
Nyomja meg a piros gombot az adatátvitel elindításához:
python 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 teljesen automatizált szkripttel:
wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s 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:22:48 UTC óta; 1 perce Fő PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.pyMájus 17 20:22:51 raspberrypi python [560]: Publishing iot -hub/messages: {'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.
6. lépés: 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!
Ajánlott:
Hőmérséklet és páratartalom ellenőrzése a Blynk használatával: 6 lépés
Hőmérséklet- és páratartalomfigyelés a Blynk használatával: Ebben az oktatóanyagban a hőmérséklet és páratartalom megfigyelését fogjuk végezni a DHT11 használatával, és az adatokat a Blynk használatával küldjük a felhőbe. Az oktatóanyaghoz szükséges összetevők: Arduino UnoDHT11 hőmérséklet- és páratartalom-érzékelő
Hőmérséklet és páratartalom ellenőrzése SHT25 és Arduino Nano használatával: 5 lépés
Hőmérséklet- és páratartalom -figyelés az SHT25 és az Arduino Nano használatával: Nemrég különböző projekteken dolgoztunk, amelyek hőmérséklet- és páratartalom -ellenőrzést igényeltek, majd rájöttünk, hogy ez a két paraméter valóban kulcsszerepet játszik a rendszer működési hatékonyságának becslésében. Mindkettő az iparban
Hőmérséklet és páratartalom ellenőrzése SHT25 és Raspberry Pi használatával: 5 lépés
Hőmérséklet- és páratartalom -ellenőrzés az SHT25 és a Raspberry Pi használatával: Nemrégiben különböző projekteken dolgoztunk, amelyek hőmérséklet- és páratartalom -ellenőrzést igényeltek, majd rájöttünk, hogy ez a két paraméter valóban kulcsszerepet játszik a rendszer működési hatékonyságának becslésében. Mindkettő az iparban
Hőmérséklet és páratartalom ellenőrzése SHT25 és részecskefoton használatával: 5 lépés
Hőmérséklet- és páratartalom -ellenőrzés SHT25 és részecske -foton használatával: Nemrégiben különböző projekteken dolgoztunk, amelyek hőmérséklet- és páratartalom -ellenőrzést igényeltek, majd rájöttünk, hogy ez a két paraméter valóban kulcsszerepet játszik a rendszer működési hatékonyságának becslésében. Mindkettő az iparban
Hőmérséklet, relatív páratartalom, légköri nyomás regisztráló a Raspberry Pi és a TE Connectivity használatával MS8607-02BA01: 22 lépés (képekkel)
Hőmérséklet, relatív páratartalom, légköri nyomás naplózó a Raspberry Pi és a TE Connectivity használatával MS8607-02BA01: Bevezetés: Ebben a projektben megmutatom, hogyan kell lépésről lépésre létrehozni a beállításokat a hőmérséklet páratartalmára és a légköri nyomásra. Ez a projekt a Raspberry Pi 3 Model B és a TE Connectivity MS8607-02BA környezeti érzékelő chipen alapul