Tartalomjegyzék:
- Kellékek
- 1. lépés: Raspberry Pi
- 2. lépés: Érzékelők
- 3. lépés: A Raspberry Pi beállítása
- 4. lépés: Kezdeti állami számla
- 5. lépés: DHT22 megoldás
- 6. lépés: DSB18B20 megoldás
- 7. lépés: BME280 megoldás
- 8. lépés: érzékelje a kalapot
- 9. lépés: A kezdeti állapot irányítópult testreszabása
Videó: Hogyan építsünk egy Raspberry Pi hőmérséklet -figyelőt: 9 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
A hőmérséklet és a páratartalom létfontosságú adatpontok a mai ipari világban. A szerverhelyiségek, a kereskedelmi fagyasztók és a gyártósorok környezeti adatainak megfigyelése szükséges a zökkenőmentes működés érdekében. Rengeteg megoldás létezik az alapoktól a komplexekig, és lehengerlőnek tűnhet, hogy mire van szüksége a vállalkozásnak, és hol kezdje.
Megmutatjuk, hogyan lehet nyomon követni a hőmérsékletet a Raspberry Pi és a különböző hőmérséklet -érzékelők segítségével. Ez jó kiindulópont, mivel ezek a megoldások olcsók, könnyen kivitelezhetők, és alapot adnak más környezeti megfigyelésekhez.
Kellékek
- Raspberry Pi (3, 4 vagy Zero WH)
- Hőmérséklet érzékelő (DHT2, DSB18B20, BME280 vagy Sense HAT)
- 6 hüvelykes, 40 tűs IDE dugó-férfi hosszabbító kábel (Sense HAT megoldás)
- 10K ellenállás, kenyeretábla, 40 tűs kitörőtábla + szalagkábel, vezetékek (DSB18B20 megoldáshoz)
1. lépés: Raspberry Pi
A Raspberry Pi egy olcsó egylapos számítógép, amely lehetővé teszi, hogy csatlakozzon a hőmérséklet -érzékelőhöz, és továbbítsa az adatokat egy adatmegjelenítő szoftverbe. A Raspberry Pi tanulási eszközként indult, és ipari munkahelyi eszközzé fejlődött. Az egyszerű használat és a leggyorsabban növekvő programozási nyelv, a Python segítségével történő kódolás lehetővé tette számukra a megoldást.
Olyan Raspberry Pi -t szeretne, amely beépített WiFi -vel rendelkezik, amely bármilyen 3, 4 modell és nulla W/WH. Ezek közül választhat az árak és a szolgáltatások alapján. A Zero W/WH a legolcsóbb, de ha több funkcióra van szüksége, választhat a 3 és a 4 közül. A Raspberry Pi Foundation korlátai miatt egyszerre csak egy Zero W/WH -t vásárolhat. Bármelyik Pi -t is választja, vásároljon töltőt, mert így fogja működtetni a Pi -t és az SD -kártyát a Raspbian segítségével, hogy a lehető legegyszerűbb legyen az operációs rendszer telepítése.
Vannak más egylapos számítógépek is, amelyek szintén működhetnek, de ez egy másik alkalom és egy másik cikk.
2. lépés: Érzékelők
Három érzékelőt ajánlunk, mert olcsók, könnyen csatlakoztathatók és pontos leolvasást biztosítanak; DSB18B20, DHT22 és Raspberry Pi Sense HAT.
DHT22 - Ennek a hőmérséklet- és páratartalom -érzékelőnek a hőmérséklet -pontossága +/- 0,5 C, a páratartalom pedig 0 és 100 százalék között van. Egyszerűen csatlakoztatható a Raspberry Pi -hez, és nem igényel felhúzó ellenállásokat.
DSB18B20 - Ez a hőmérséklet -érzékelő digitális kimenettel rendelkezik, amely jól működik a Raspberry Pi -vel. Három vezetékkel rendelkezik, és a csatlakozáshoz kenyérlap és ellenállás szükséges.
BME280 - Ez az érzékelő méri a hőmérsékletet, a páratartalmat és a légköri nyomást. SPI -ben és I2C -ben egyaránt használható.
Sense HAT - Ez egy kiegészítő a Raspberry Pi fedélzetén, amely LED -eket, érzékelőket és egy apró joystickot tartalmaz. Közvetlenül a Raspberry Pi GPIO -jához csatlakozik, de szalagkábel segítségével pontosabb hőmérséklet -leolvasást biztosít.
3. lépés: A Raspberry Pi beállítása
Ha most először állítja be a Raspberry Pi -t, telepítenie kell a Raspbian operációs rendszert, és csatlakoztatnia kell a Pi -t a WiFi -hez. Ehhez monitorra és billentyűzetre van szükség a Pi -hez való csatlakozáshoz. Miután elindította és futtatta, és csatlakozott a WiFI -hez, a Pi készen áll a használatra.
4. lépés: Kezdeti állami számla
Szüksége lesz valahová, ahová el kell küldenie adatait, hogy naplót tartson, és megtekinthesse a valós idejű adatfolyamot, így a kezdeti állapotot fogjuk használni. Lépjen a https://iot.app.initialstate.com oldalra, és hozzon létre új fiókot, vagy jelentkezzen be meglévő fiókjába.
Ezután telepítenünk kell a kezdeti állapotú Python modult a Pi -re. Parancssorban (ne felejtse el először SSH -t bevinni a Pi -be), futtassa a következő parancsot:
$ cd/home/pi/
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
Miután beírta a curl parancsot a parancssorba, a következő kimenethez hasonlót lát a képernyőn:
pi@málna ~
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash Jelszó: Az ISStreamer Python egyszerű telepítése! Ennek telepítése eltarthat pár percig, igyon egy kávét:) De ne felejtse el visszajönni, később kérdéseim lesznek! Talált easy_install: setuptools 1.1.6 Talált pip: pip 1.5.6 a /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip fő verzióból: 1 pip minor verzió: 5 Az ISStreamer megtalálható, frissítés… A követelmény már naprakész: ISStreamer a /Library/Python/2.7/site-packages fájlban Tisztítás … Szeretné automatikusan megkapni a példa szkriptet? [y/N] Hova szeretné menteni a példát? [alap::.initialstate.com felhasználónév: Írja be az iot.app.initialstate.com jelszót:
Amikor a rendszer kéri, hogy automatikusan szerezzen be egy példafájlt, írja be az y parancsot. Ez létrehoz egy teszt szkriptet, amelyet futtathatunk annak érdekében, hogy biztosítsuk az adatok streamelését a kezdeti állapotba. A következő parancssor megkérdezi, hová kívánja menteni a mintafájlt. Beírhat egyéni helyi elérési utat, vagy az Enter billentyűt lenyomva elfogadhatja az alapértelmezett helyet. Végül megkérdezi, hogy melyik kezdeti állapotú alkalmazást használja. Ha nemrég hozott létre fiókot, válassza a 2. lehetőséget, írja be felhasználónevét és jelszavát. Ezt követően a telepítés befejeződik.
Vessünk egy pillantást a létrehozott példa szkriptre.
$ nano is_example.py
A 15. sorban egy sort láthat, amely a streamer = Streamer (bucket_…. Ez a sor új adatcsoportot hoz létre „Python Stream Example” néven, és a fiókjához van társítva. Ez a társítás az access_key =”… miatt történik paraméter ugyanazon a soron. Ez a hosszú betű- és számsorozat az Ön kezdeti állapotú fiókjának hozzáférési kulcsa. Ha böngészőjében megnyitja a Kezdeti állapot fiókját, kattintson a jobb felső sarokban található felhasználónevére, majd lépjen a „Saját beállítások” pontra, ugyanazt a hozzáférési kulcsot találja itt a „Streaming Access Keys” alatt.
Minden alkalommal, amikor adatfolyamot hoz létre, ez a hozzáférési kulcs az adatfolyamot a fiókjába irányítja (tehát ne ossza meg senkivel).
Futtassa a teszt szkriptet, hogy megbizonyosodjon arról, hogy adatfolyamot tudunk létrehozni a kezdeti állapotú fiókjához. Futtassa a következőt:
$ python is_example.py
Térjen vissza a kezdeti állapotú fiókjához a böngészőben. A „Python Stream Example” nevű új adatcsoportnak meg kellett jelennie a napló polcának bal oldalán (előfordulhat, hogy frissítenie kell az oldalt). Kattintson erre a vödörre, majd kattintson a Hullámok ikonra a tesztadatok megtekintéséhez
Ha Python 3 -at használ, telepítheti a Initial State Streamer modult, amelyet a következő paranccsal telepíthet:
pip3 telepítse az ISStreamert
Most készen állunk a hőmérséklet -érzékelő beállítására a Pi -vel, hogy a hőmérsékletet a műszerfalra irányítsa.
5. lépés: DHT22 megoldás
A DHT22 három tűvel rendelkezik - 5 V, Gnd és adat. A DHT22 tápellátását tűs címkével kell ellátni (pl. „+” Vagy „5V”). Csatlakoztassa ezt a Pi 2. tűjéhez (a jobb felső csap, 5 V). A Gnd-tűt „-” vagy „Gnd”, vagy valami ezzel egyenértékű címkével látják el. Csatlakoztassa ezt a 6 Gnd (két érintkező az 5V -os tű alatt) tűhöz a Pi -n. A DHT22 maradék csapja az adattű, és „out”, „s” vagy „data” felirattal lesz ellátva. Csatlakoztassa ezt a Pi egyik GPIO -csatlakozójához, például a GPIO4 -hez (7. tű). Ha ez be van kapcsolva, kapcsolja be a Pi -t.
Telepítse az Adafruit DHT Python modult egy parancssorba, hogy a DHT22 érzékelőadatok leolvasása rendkívül egyszerű legyen:
$ sudo pip telepítse az Adafruit_DHT fájlt
Miután telepítettük az operációs rendszerünket, valamint a két Python -modulunkat az érzékelőadatok olvasására és az adatok kezdeti állapotba küldésére, készen állunk a Python -szkript megírására. A következő parancsfájl létrehozza/hozzáfűzi a kezdeti állapot adatcsoportot, elolvassa a DHT22 érzékelő adatait, és elküldi ezeket az adatokat egy valós idejű irányítópultnak. Mindössze annyit kell tennie, hogy módosítja a 6–11.
import Adafruit_DHT
from ISStreamer. Streamer import Streamer import time# --------- User Settings --------- SENSOR_LOCATION_NAME = "Office" BUCKET_NAME = ": részben_napos: szobahőmérséklet" BUCKET_KEY = "rt0129" ACCESS_KEY = "HELYEZZE EL A KEZDETI ÁLLAPOTBAN HOZZÁFÉRŐ KULCST ITT" MINUTES_BETWEEN_READS = 10METRIC_UNITS = Hamis # --------------------------------- streamer = Streamer (vödör_neve = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY), míg True: páratartalom, temp_c = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4), ha METRIC_UNITS: streamer.log (SENSOR_HOMM.): temp_f = formátum (temp_c * 9.0 / 5.0 + 32.0, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Hőmérséklet (F)", temp_f) páratartalom = formátum (páratartalom, ".2f") streamer.log (SENSOR_LOCATION_NAME + "Páratartalom (%)", páratartalom) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)
- 6. sor - Ennek az értéknek egyedinek kell lennie minden csomópont/hőmérséklet -érzékelő esetén. Ez lehet az érzékelőcsomópont helyisége, fizikai helye, egyedi azonosítója vagy bármi. Csak győződjön meg arról, hogy minden csomópont egyedi, hogy a csomópontból származó adatok a saját adatfolyamba kerüljenek az irányítópulton.
- 7. sor - Ez az adatcsoport neve. Ez a kezdeti állapot felhasználói felületén bármikor módosítható.
- 8. sor - Ez a vödör kulcsa. Minden csomópontnak ugyanazt a vödörkulcsot kell megadnia, amelyet ugyanazon az irányítópulton szeretne megjeleníteni.
- 9. sor - Ez a kezdeti állapotú fiók hozzáférési kulcsa. Másolja ki és illessze be ezt a kulcsot a kezdeti állapotú fiókjából.
- 10. sor - Ez az idő az érzékelő leolvasása között. Ennek megfelelően változtasson.
- 11. sor - Metrikus vagy angolszász mértékegységeket adhat meg a 11. sorban.
Miután beállította a 6–11. Sort a Python -szkriptben a Pi -n, mentse el és lépjen ki a szövegszerkesztőből. Futtassa a szkriptet a következő paranccsal:
$ python tempsensor.py
Most adatokat küldhet a kezdeti állapot irányítópultjára. A műszerfal testreszabásának részleteiről a cikk utolsó szakaszában olvashat.
6. lépés: DSB18B20 megoldás
A szalagkábel csatlakozik a Pi GPIO csapjaihoz. A DS18B20 három vezetékkel rendelkezik. A piros vezeték 3.3V -ra csatlakozik. A kék/fekete vezeték a földhöz csatlakozik. A sárga huzal egy felhúzó ellenálláshoz/4. tűhöz csatlakozik. Ha ez be van kötve, kapcsolja be a Pi-t.
A Raspbian legújabb verziójához (3.18 kernel) hozzá kell adni a /boot/config.txt fájlt, hogy a Pi kommunikálni tudjon a DS18B20 -val. A fájl szerkesztéséhez futtassa a következőt:
$ sudo nano /boot/config.txt
Ha a következő sor még nem szerepel ebben a fájlban (ha igen, akkor valószínűleg a fájl alján található), adja hozzá, és mentse a fájlt.
dtoverlay = w1-gpio, gpiopin = 4
Indítsa újra a Pi -t, hogy a módosítások életbe lépjenek.
$ sudo újraindítás
A hőmérséklet -érzékelő olvasó felületének elindításához két parancsot kell futtatnunk. Lépjen a Pi vagy SSH parancssorába a Pi -be. Gépelje be a következő parancsokat:
$ sudo modprobe w1-gpio $ sudo modprobe w1-therm
A hőmérséklet -érzékelő kimenete most egy fájlba van írva a Pi -n. A fájl megkereséséhez:
$ cd/sys/bus/w1/devices
Ebben a könyvtárban lesz egy alkönyvtár, amely „28-” kezdetű. A „28-” után az érzékelő sorozatszáma következik. cd -t ebbe a könyvtárba. Ebben a könyvtárban a w1_slave nevű fájl tartalmazza az érzékelő kimenetét. A nano használatával megtekintheti a fájl tartalmát. Miután belépett a fájlba, valahogy így fog kinézni:
a2 01 4b 46 7f ff 0e 10 d8: crc = d8 YESa2 01 4b 46 7f ff 0e 10 d8 t = 26125
A „t =” utáni szám a kívánt szám. Ez a hőmérséklet 1/1000 Celsius fok (a fenti példában a hőmérséklet 26,125 C). Csak egy egyszerű programra van szükségünk, amely elolvassa ezt a fájlt és elemzi ezt a számot. Egy pillanat alatt ráérünk erre.
Minden készen áll arra, hogy elkezdhessük az adatfolyamot. A szövegszerkesztő megnyitásához írja be a következőt a parancssorba:
$ nano hőmérséklet.py
Másolja ki és illessze be az alábbi kódot a szövegszerkesztőbe.
importál
import globális importálási idő az ISStreamer-ből. -therm ') base_dir ='/sys/bus/w1/devices/'device_folder = glob.glob (base_dir + '28*') [0] device_file = device_folder + '/w1_slave' def read_temp_raw (): f = nyitott (device_file, 'r') lines = f.readlines () f.close () return lines def read_temp (): lines = read_temp_raw () while lines [0].strip () [-3:]! = 'YES': time.sleep (0.2) lines = read_temp_raw () equals_pos = lines [1].find ('t =') if equals_pos! = -1: temp_string = lines [1] [equals_pos+2:] temp_c = float (temp_string) / 1000.0 visszatér temp_c, míg True: temp_c = read_temp () temp_f = temp_c * 9.0 / 5.0 + 32.0 streamer.log ("hőmérséklet (C)", temp_c) streamer.log ("hőmérséklet (F)", temp_f) time.sleep (.5)
A kezdeti állapot hozzáférési kulcsát a 6. sorba kell helyeznie a PUT_YOUR_ACCESS_KEY_HERE helyére (másolja a streaming kulcsot a vágólapra a „Saját fiók” menüből, és illessze be a terminál nano kódjába).
A 6. sor létrehoz egy „Temperature Stream” nevű vödröt a kezdeti állapot fiókjában (feltéve, hogy helyesen adta meg az access_key -t ezen a soron). Ennek a szkriptnek a 8. és 30. sora egyszerűen kapcsolódik a DS18B20 érzékelőhöz, hogy leolvashassa annak hőmérsékletét a korábban tárgyalt w1_slave fájlból. A read_temp_raw () függvény a 15. sorban olvassa a nyers w1_slave fájlt. A read_temp () függvény a 21. sorban elemzi a fájl hőmérsékletét. A 34. sor ezeket a funkciókat hívja le, hogy lemérje az aktuális hőmérsékletet. A 35. sor a hőmérsékletet Celsius -fól Fahrenheit -fokra konvertálja. A 35. és 36. sor a hőmérsékletet a kezdeti állapot számlájára továbbítja. A 37. sor 0,5 másodpercre szünetelteti a szkriptet, beállítva, hogy milyen gyakran olvassák és streameljék a hőmérséklet -érzékelőt.
Készen állunk a streamelés megkezdésére. Futtassa a következő parancsot:
$ sudo python hőmérséklet.py
Térjen vissza a kezdeti állapot fiókjához a böngészőben, és keresse meg a Temperature Stream nevű új adatcsoportot. Látnia kell a hőmérséklet adatait élőben. Változtassa meg az érzékelő hőmérsékletét a kezében tartva vagy egy pohár jégbe téve.
Most adatokat küldhet a kezdeti állapot irányítópultjára. A műszerfal testreszabásának részleteiről a cikk utolsó szakaszában olvashat.
7. lépés: BME280 megoldás
A megoldás elkészítéséhez a következőkre lesz szüksége:
-BME280 Nyomás, hőmérséklet és páratartalom érzékelő
Ez az érzékelő csapokkal rendelkezik, amelyeket forrasztani kell az érzékelőre. Javaslom, hogy a forrasztás megkönnyítése érdekében használjon kenyérsütőt, amelynek csapjai hosszú oldalával lefelé vannak a kenyérlapba. Miután ezt befejezte, be kell kötni az érzékelőt a Pi -be.
Csatlakoztassa az érzékelő VIN -érintkezőjét a Pi 3,3 V -os tűjéhez. Csatlakoztassa az érzékelőn található GND csapot a Pi 6 földelőcsaphoz. Csatlakoztassa az érzékelőn lévő SCK csapot a Pi 5 -ös SCL csapjához. Csatlakoztassa az érzékelő SDI -tűjét a Pi -n lévő SDA 3 -as érintkezőhöz. Ehhez a megoldáshoz a Python 3 -at kell használnia, és telepítenie kell az Initial State Streamer modult a pip3 telepítési módszerével.
Ezenkívül telepítenie kell néhány Adafruit Python könyvtárat.
pip3 install adafruit-blinkapip3 install pureio pip3 install spidev pip3 install adafruit-GPIO pip3 install adafruit-circuitpython-bme280
Az érzékelő használatához engedélyeznünk kell az I2C -t a Pi -n.
sudo raspi-config
Ezzel megnyílik a Raspberry Pi szoftverkonfigurációs eszköz. Lépjen az 5. opcióhoz. Innen menjen az I2C -re. Megkérdezi, hogy engedélyezni kívánja -e az I2C -t, válassza az Igen és a Befejezés lehetőséget. Most engedélyezve van az I2C kommunikáció az érzékelővel.
Ezt az alábbiak futtatásával tesztelhetjük:
sudo i2cdetect -y 1
Ez ellenőrzi, hogy a Pi látja -e az érzékelőt. A csatlakoztatás módja szerint az érzékelőt a 77 -es címen kell megjelenítenie. Ha nem észleli az érzékelőt, indítsa újra a Pi -t, engedélyezze újra az I2C interfész opciót a Pi -n, és próbálja újra. Amint észleli az érzékelőt, itt az ideje futtatni a fő kódunkat, amely adatokat küld a kezdeti állapotba. Létrehozott egy bme280sensor.py nevű fájlt a nano paranccsal. Másolja ki és illessze be a kódot a lényegből a szövegszerkesztőbe. Módosítania kell a 12–19. Sorokat.
importálási idő
import tábla import busio import adafruit_bme280 az ISStreamerből. Streamer import Streamer # Könyvtári objektum létrehozása a Bus I2C használatával porti2c = busio. I2C (board. SCL, board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------- -Felhasználói beállítások --------- SENSOR_LOCATION_NAME = "Iroda" BUCKET_NAME = ": részben_sunny: Szobahőmérséklet" BUCKET_KEY = "temp1" ACCESS_KEY = "A HOZZÁFÉRŐ KULCS ITT" # módosítsa ezt a hely nyomásának megfelelően (hPa) tengerszinten bme280.sea_level_pressure = 1013,25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = Hamis # --------------------------------- # VAGY hozzon létre könyvtári objektumot a Bus SPI portunk használatával #spi = busio. SPI (board. SCK, board. MOSI, board. MISO) #bme_cs = digitalio. DigitalInOut (board. D10) #bme280 = adafruit_bme280. Adafruit_BME280_SPI (spi, bme_cs) streamer = Streamer (vödör_neve = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY), míg True: páratartalom = formátum (bme280.humidity, ".1f") pressure = format (bme280.pressure, ".1f") temp_c = bme280.temperatu re if METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "Hőmérséklet (C)", temp_c) else: temp_f = format (temp_c * 9.0 / 5.0 + 32.0, ".1f") streamer.log (SENSOR_LOCATION_NAME + "Hőmérséklet (F)", temp_f) streamer.log (SENSOR_LOCATION_NAME + "Páratartalom (%)", páratartalom) streamer.log (SENSOR_LOCATION_NAME + "Nyomás (hPA)", nyomás) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)
- 12. sor- Ennek az értéknek egyedinek kell lennie minden csomópont/hőmérséklet-érzékelő esetén. Ez lehet az érzékelőcsomópont helyisége, fizikai helye, egyedi azonosítója vagy bármi. Csak győződjön meg arról, hogy minden csomópont egyedi, hogy a csomópontból származó adatok a saját adatfolyamába kerüljenek az irányítópulton.
- 13. sor- Ez az adatcsoport neve. Ez a kezdeti állapot felhasználói felületén bármikor módosítható.
- 14. sor- Ez a vödör kulcsa. Minden csomópontnak ugyanazt a vödörkulcsot kell megadnia, amelyet ugyanazon az irányítópulton szeretne megjeleníteni.
- 15. sor- Ez a kezdeti állapotú fiók hozzáférési kulcsa. Másolja ki és illessze be ezt a kulcsot a kezdeti állapotú fiókjából.
- 17. sor- Ez a tartózkodási helyének nyomása (hPa) a tengerszinten. Ezt az információt megtalálhatja a legtöbb időjárási webhelyen.
- 18. sor - Ez az idő az érzékelő leolvasása között. Változtasson ennek megfelelően. 19. sor- Itt adhatja meg a metrikus vagy angolszász mértékegységeket.
Miután beállította a 12–19. Sort a Python -szkriptben a Pi Zero WH készüléken, mentse el és lépjen ki a szövegszerkesztőből. Futtassa a szkriptet a következő paranccsal:
$ python3 bme280sensor.py
Most adatokat küldhet a kezdeti állapot irányítópultjára. A műszerfal testreszabásának részleteiről a cikk utolsó szakaszában olvashat.
8. lépés: érzékelje a kalapot
A Sense HAT használatának első lépése az, hogy fizikailag telepíti azt a Pi -re. A Pi kikapcsolt állapotában csatlakoztassa a kalapot a képen látható módon.
Ha úgy dönt, hogy a fenti módon használja a megoldást, észreveheti, hogy a Sense HAT hőmérsékleti értékei kissé magasak lesznek - ez azért van. A bűnös a Pi CPU által termelt hő, amely felmelegíti a levegőt a Sense HAT körül, amikor a Pi tetején ül. Ahhoz, hogy a hőmérséklet -érzékelő hasznos legyen, el kell távolítanunk a HAT -ot a Pi -től, vagy meg kell próbálnunk kalibrálni a hőmérséklet -érzékelő leolvasását. Egy jó megoldás az érzékelő eltávolítására a Pi -ről egy kábel, amely lehetővé teszi, hogy a Sense HAT ellógjon a Pi -től. Egy 6 hüvelykes, 40 tűs IDE dugó-hüvely hosszabbító kábel teszi a dolgát.
Miután eldöntötte a két lehetőséget, kapcsolja be a Pi -t. Telepítenünk kell a Python könyvtárat, hogy könnyen le lehessen olvasni az érzékelő értékeit a Sense HAT -ból. Először is meg kell győződnie arról, hogy minden naprakész a Raspbian verzióján:
$ sudo apt-get frissítés
Ezután telepítse a Sense HAT Python könyvtárat:
$ sudo apt-get install sense-hat
Indítsa újra a Pi -t. Készen állunk a Sense HAT tesztelésére azáltal, hogy kiolvassuk az érzékelő adatait, és elküldjük az adatokat a kezdeti állapotba.
Hozzon létre egy sensehat nevű fájlt, és nyissa meg a szövegszerkesztőben, írja be a parancssorba a következő parancsot:
$ nano sensehat.py
Másolja ki és illessze be az alábbi kódot a szövegszerkesztőbe.
a sense_hat importból SenseHat
importálási idő importálási rendszer az ISStreamer-ből. Streamer import Streamer # --------- Felhasználói beállítások --------- BUCKET_NAME = "Office Weather" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = " Iroda "MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # --------------------------------- streamer = Streamer (vödör_neve = KOSÁR_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) sense = SenseHat (), míg True: # Olvassa el az érzékelőket temp_c = sense.get_temperature () páratartalom = sense.get_humidity () pressure_mb = sense.get_pressure () # Formázza az adatokat temp_f = temp_c * 9.0 / 5.0 + 32.0 temp_f = float ("{0:.2f}". Format (temp_f)) páratartalom = float ("{0:.2f}". Formátum (páratartalom)) pressure_in = 0,03937008*(pressure_mb) pressure_in = float ("{ 0:.2f} ". Format (pressure_in)) # Nyomtatás és adatfolyam nyomtatás SENSOR_LOCATION_NAME +" Hőmérséklet (F): " + str (temp_f) print SENSOR_LOCATION_NAME +" Páratartalom (%): " + str (páratartalom) nyomtatás SENSOR_LOCATION_NAME +" Nyomás (IN): " + str (pressure_in) streamer.log (": sunny: " + SEN SOR_LOCATION_NAME + "Hőmérséklet (F)", temp_f) streamer.log (": swe_drops:" + SENSOR_LOCATION_NAME + "Páratartalom (%)", páratartalom) streamer.log (": cloud:" + SENSOR_LOCATION_NAME + "Nyomás (IN)", nyomás_in) streamer.flush () time.sleep (60*MINUTES_BETWEEN_SENSEHAT_READS)
Az első sorban vegye figyelembe, hogy a SenseHat könyvtárat importáljuk a szkriptbe. A szkript futtatása előtt be kell állítanunk felhasználói paramétereinket.
# --------- Felhasználói beállítások ---------
BUCKET_NAME = "Office Weather" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = "Office" MINUTES_BETWEEN_SENSEHAT_READS = 0.1# ------------------------- --------
Pontosabban, az ACCESS_KEY értékét a kezdeti állapotú fiók hozzáférési kulcsára kell állítania. A BUCKET_NAME és a SENSOR_LOCATION_NAME értéket az érzékelő tényleges helyére módosíthatja. Mentse el és lépjen ki a szövegszerkesztőből.
A Pi parancssorában futtassa a szkriptet:
$ sudo python sensehat.py
Most adatokat küldhet a kezdeti állapot irányítópultjára. A műszerfal testreszabásának részleteiről a cikk utolsó szakaszában olvashat.
9. lépés: A kezdeti állapot irányítópult testreszabása
Lépjen a kezdeti állam fiókjába, és nézze meg adatait. A jobb egérgombbal kattinthat a csempére a diagram típusának megváltoztatásához, és kattintson a Csempe szerkesztése gombra a csempék átméretezéséhez és mozgatásához. Azt javaslom, hogy a hőmérséklet -mérő termosztátot, a páratartalom folyadék szintjét használja. Létrehozhat vonaldiagramokat mind a hőmérsékletre, mind a páratartalomra, hogy lássa az időbeli változásokat. Háttérképet is hozzáadhat az irányítópulthoz.
Beállíthatja a Trigger riasztásokat, hogy SMS -t vagy e -mailt kapjon, ha a hőmérséklet egy bizonyos küszöb alá esik vagy meghaladja. Lépjen az adatmezőbe, és kattintson a beállításokra. Innen lépjen a Triggers fülre. Írja be a figyelni kívánt adatfolyam kulcsot, a használni kívánt operátort és a küszöbértéket. Kattintson a pluszjelre a Trigger hozzáadásához. Ezután adja meg e -mail címét vagy telefonszámát, hogy megkapja a figyelmeztetést, majd kattintson a pluszjelre. Miután beállította az összes triggert, kattintson a Kész gombra az alján.
Most, hogy létrehozott egy hőmérséklet -figyelőt egy hőmérséklet -érzékelő és egy Raspberry Pi segítségével, elkezdhet gondolkodni azon, hogy milyen további környezeti adatokat figyelhet meg ezután.
Ajánlott:
Hogyan építsünk egy 8x8x8 LED -es kockát és vezéreljük egy Arduino segítségével: 7 lépés (képekkel)
Hogyan készítsünk 8x8x8 LED -es kockát és vezéreljük azt egy Arduino -val: 2020. január szerkesztés: Hagyom, ha valaki ötletek generálására szeretné használni, de már nincs értelme kocka építeni ezen utasítások alapján. A LED -illesztőprogram -IC -k már nem készülnek, és mindkét vázlatot a régi verzióban írták
Hogyan állítsuk be a Pi-Hole-t egy Raspberry Pi-n, egy hálózati széles hirdetésblokkolón !!: 25 lépés
A Pi-Hole beállítása Raspberry Pi-n, hálózati széles hirdetésblokkolón !!: Ehhez a projekthez szüksége lesz: egy Raspberry Pi-re, amely képes csatlakozni az internethez Egy Micro SD-kártya, amelyen Raspbian LiteA billentyűzet fut (SSH beállításához) Eszköz (A webportál eléréséhez) Alapvető ismeretek a UNIX -ról, valamint az interfész navigáció a
Hogyan építsünk egy erős fém Rc robottartályt: 6 lépés (képekkel)
Hogyan építsünk egy erős fém Rc robottartályt: Jó barátok! Szóval, elgondolkodtam egyfajta projekten, ami érdekes lenne, és úgy döntöttem, hogy egy tankot (űrkutatást) építek egy természetesen fémből készült jelre. 100% -ban a konstrukcióm kiváló minőségű és pontosságú, a legtöbb rész
Hogyan építsünk egy 4 gigabájtos 57 Chevy mikrogépes USB flash meghajtót: 6 lépés
Hogyan építsünk egy 4 gigabájtos 57 Chevy mikrogépes USB flash meghajtót: Van néhány nagyszerű gyufásdoboz/hotwheels flash meghajtó utasítás, de ahogy a dolgok egyre kisebbek, úgy értelmetlen tokmódjainknak is meg kell válniuk
Hogyan építsünk gitár hangsugárzót vagy építsünk kettőt a sztereóhoz: 17 lépés (képekkel)
Hogyan építsünk gitár hangszóró dobozt vagy építsünk kettőt a sztereóhoz: Azt akartam, hogy egy új gitár hangszóró legyen az épített csőerősítővel. A hangszóró kint marad a boltomban, így nem kell semmi különlegesnek lennie. A Tolex burkolat túl könnyen megsérülhet, ezért csak homok után feketére szórtam a külső felületet