Jak postavit Raspberry Pi teplotní Monitor

teplota a vlhkost jsou životně důležité datové body v dnešním průmyslovém světě. Monitorování údajů o životním prostředí pro serverovny, komerční mrazničky a výrobní linky je nezbytné, aby věci fungovaly hladce. Existuje spousta řešení, od základních až po složité, a může se zdát ohromující, co vaše podnikání potřebuje a kde začít.

projdeme si, jak vytvořit a používat snímač teploty Raspberry Pi s různými teplotními senzory. To je dobré místo, kde začít, protože tato řešení jsou levná, snadné, a dává vám základ k vybudování pro další monitorování životního prostředí.

Raspberry Pi je levný stolní počítač, který vám umožní připojit čidlo teploty a proudu data do vizualizace dat software. Raspberry Pi začínal jako učební nástroj a vyvinuli se na průmyslové pracoviště. Snadnost použití a schopnost kódu s Pythonem, nejrychleji rostoucím programovacím jazykem, z nich učinila řešení.

budete chtít Raspberry Pi, který má WiFi vestavěný, které jsou všechny modely 3, 4 a nula W / WH. Mezi těmi si můžete vybrat na základě cen a funkcí. Zero W / WH je nejlevnější, ale pokud potřebujete více funkcí, můžete si vybrat mezi 3 a 4. Můžete si koupit pouze jednu nulu W / WH najednou kvůli omezením Nadace Raspberry Pi. Ať už si vyberete jakýkoli Pi, nezapomeňte si zakoupit nabíječku, protože to je způsob, jak napájet Pi a SD kartu s Raspbian, aby byla instalace operačního systému co nejjednodušší.

existují i jiné jednodeskové počítače, které mohou fungovat stejně, ale to je pro jiný čas a jiný článek.

Senzory

k Dispozici jsou čtyři senzory doporučujeme používat, protože jsou levné, snadno se připojit, a dát přesné údaje; DSB18B20, DHT22, BME280, a Raspberry Pi Smysl KLOBOUK.

DHT22-tento snímač teploty a vlhkosti má přesnost teploty + / – 0.5 C a rozsah vlhkosti od 0 do 100 procent. Je jednoduché zapojit do Raspberry Pi a nevyžaduje žádné pull up odpory.

DSB18B20 – tento teplotní senzor má digitální výstup, který funguje dobře s Raspberry Pi. Má tři vodiče a pro připojení vyžaduje prkénko a odpor.

BME280-tento snímač měří teplotu, vlhkost a barometrický tlak. Může být použit v SPI i I2C.

Sense HAT-Jedná se o doplněk na palubě pro Raspberry Pi, který má LED diody, senzory a malý joystick. Připojuje se přímo k GPIO na Raspberry Pi, ale pomocí páskového kabelu získáte přesnější měření teploty.

Raspberry Pi Setup

pokud se jedná o první nastavení Raspberry Pi, budete muset nainstalovat operační systém Raspbian a připojit Pi k WiFi. To bude vyžadovat monitor a klávesnici pro připojení k Pi. Jakmile ji budete mít v provozu a připojíte se k WiFI, váš Pi je připraven jít.

Počáteční Stav Účtu

Budete muset někam posílat své údaje tak, aby historický záznam a zobrazení dat v reálném čase proud, takže budeme používat Počáteční Stav. Přejděte na https://iot.app.initialstate.com a vytvořte nový účet nebo se přihlaste ke svému stávajícímu účtu.

dále musíme nainstalovat počáteční stav Python modul na Pi. Na příkazovém řádku (nezapomeňte SSH do vašeho Pi první), spusťte následující příkaz:

$ cd /home/pi/
$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

Po zadání curl příkazu v příkazovém řádku uvidíte něco podobného následujícímu výstup na obrazovku:

, Když budete vyzváni, aby se automaticky dostanete příklad skriptu, zadejte y. Tím se vytvoří testovací skript, který můžeme spustit, aby zajistila, že můžeme proud dat do Původního Stavu. Další výzva se zeptá, kam chcete soubor příkladu uložit. Můžete buď zadat vlastní místní cestu nebo stiskněte klávesu enter přijmout výchozí umístění. Nakonec budete dotázáni, kterou počáteční stavovou aplikaci používáte. Pokud jste si nedávno vytvořili účet, vyberte možnost 2, Zadejte své uživatelské jméno a heslo. Poté bude instalace dokončena.

pojďme se podívat na příklad skriptu, který byl vytvořen.

$ nano is_example.py

na řádku 15 uvidíte řádek, který začíná streamer = Streamer(bucket_ .... Tento řádek vytvoří nový datový kbelík s názvem „Python Stream Example“ a je přidružen k vašemu účtu. Toto přidružení se děje kvůli parametru access_key="..." na stejném řádku. Tato dlouhá řada písmen a čísel je váš počáteční přístupový klíč ke státnímu účtu. Pokud ve webovém prohlížeči přejdete na svůj původní státní účet, klikněte na své uživatelské jméno v pravém horním rohu a poté přejděte na „moje nastavení“, stejný přístupový klíč najdete zde v části „streamovací přístupové klíče“.

Počáteční Stav Stream Přístupové Klávesy

Pokaždé, když jste vytvořit proud dat, který přístupový klíč bude řídit, která data stream na váš účet (takže se nemusíte sdílet klíč s nikým).

spusťte testovací skript, abyste se ujistili, že můžeme vytvořit datový tok na váš počáteční stavový účet. Spusťte následující:

$ python is_example.py

vraťte se do původního stavu účtu ve webovém prohlížeči. Nový datový kbelík s názvem „Python Stream Example“ by se měl objevit vlevo v Polici protokolu (možná budete muset stránku obnovit). Kliknutím na tento kbelík a poté kliknutím na ikonu vlny zobrazíte testovací data.

Počáteční Stav Python Stream Příklad dashboard

Pokud používáte Python 3, můžete nainstalovat Počáteční Stav Streamer Modul můžete nainstalovat pomocí následujícího příkazu:

pip3 install ISStreamer

Nyní jsme připraveni k nastavení snímače teploty s Pi, aby se teplota proudu do palubní desky.

DHT22 Řešení

Budete potřebovat následující položky postavit toto řešení:
-DHT22 Čidlo Teploty a Vlhkosti

Na DHT22 bude mít tři kolíky — 5V, Gnd a data. Na DHT22 by měl být štítek pro napájení (např. “ + „nebo “ 5V“). Připojte jej ke kolíku 2 (pravý horní kolík, 5V) Pi. Pin Gnd bude označen jako ‚ – ‚nebo ‚ Gnd‘ nebo něco ekvivalentního. Připojte jej ke kolíku 6 Gnd (dva kolíky pod 5V pin) na Pi. Zbývající pin na DHT22 je datový pin a bude označen jako “ out „nebo“ s „nebo “ data“. Připojte jej k jednomu z pinů GPIO na Pi, jako je GPIO4 (pin 7). Jakmile je to zapojeno, zapněte Pi.

pro toto řešení budeme muset použít Python 3 a knihovnu CircuitPython, protože Adafruit zastaral knihovnu DHT Python.

nainstalujte modul CircuitPython-DHT Python na příkazovém řádku, aby bylo čtení dat snímače DHT22 super snadné:

$ pip3 install adafruit-circuitpython-dht
$ sudo apt-get install libgpiod2

s nainstalovaným operačním systémem spolu s našimi dvěma moduly Python pro čtení dat senzorů a odesílání dat do počátečního stavu jsme připraveni napsat náš skript Python. Následující skript vytvoří / připojí k datovému kbelíku počátečního stavu, přečte data senzoru DHT22 a odešle tato data do řídicího panelu v reálném čase. Vše, co musíte udělat, je upravit řádky 6-11.

  • řádek 7-tato hodnota by měla být jedinečná pro každý uzel / snímač teploty. Může to být název místnosti vašeho senzorového uzlu, fyzické umístění, jedinečný identifikátor nebo cokoli jiného. Jen se ujistěte, že je pro každý uzel jedinečný, abyste zajistili, že data z tohoto uzlu přejdou do vlastního datového toku na hlavním panelu.
  • řádek 8-Toto je název datového kbelíku. To lze kdykoli změnit v uživatelském rozhraní počátečního stavu.
  • řádek 9-Toto je klíč vašeho kbelíku. Musí to být stejný klíč kbelíku pro každý uzel, který chcete zobrazit na stejném řídicím panelu.
  • řádek 10-Toto je váš počáteční přístupový klíč k účtu. Zkopírujte a vložte tento klíč z původního stavu účtu.
  • řádek 11-Toto je doba mezi snímáním senzoru. Změnit.
  • řádek 12-můžete zadat metrické nebo imperiální jednotky na řádku 11.

po nastavení řádků 7-12 ve skriptu Python na vašem Pi uložte a ukončete textový editor. Spustit skript s následujícím příkazem:

$ python3 tempsensor.py
Zde je příklad použití DHT22 senzor s Raspberry Pi

Teď budete mít data odeslání na Počáteční Stav palubní desky. Podrobnosti o přizpůsobení řídicího panelu naleznete v závěrečné části tohoto článku.

DSB18B20 Řešení

Budete potřebovat následující položky postavit toto řešení:
-DSB18B20 Snímače Teploty
-10K Rezistor
-Prkénko
-40-Pin Breakout Board + plochý Kabel
-Dráty

plochý kabel se připojuje na GPIO pinů na Pi. DS18B20 má tři vodiče. Červený vodič se připojuje k 3.3 V. modrý / černý vodič se připojuje k zemi. Žlutý vodič se připojuje k pull-up rezistoru / pin 4. Jakmile je to zapojeno, zapněte Pi.

nejnovější verze Raspbian (jádro 3.18) vyžaduje přidání do /boot / config.txt soubor pro Pi komunikovat s DS18B20. Chcete-li upravit tento soubor, spusťte následující:

$ sudo nano /boot/config.txt

pokud následující řádek již není v tomto souboru (pokud ano, je pravděpodobně ve spodní části souboru), přidejte jej a uložte soubor.

dtoverlay=w1-gpio,gpiopin=4

restartujte Pi, aby se změny projevily.

$ sudo reboot

Chcete-li spustit rozhraní čidla teploty, musíme spustit dva příkazy. Přejděte na příkazový řádek na vašem Pi nebo SSH do vašeho Pi. Zadejte následující příkazy:

$ sudo modprobe w1-gpio$ sudo modprobe w1-therm

výstup snímače teploty se nyní zapisuje do souboru na vašem Pi. Chcete-li najít tento soubor:

$ cd /sys/bus/w1/devices

v tomto adresáři bude podadresář, který začíná „28 -„. Co přijde po „28 -“ je sériové číslo vašeho senzoru. cd do tohoto adresáře. Uvnitř tohoto adresáře obsahuje soubor s názvem w1_slave výstup vašeho senzoru. Pomocí nano zobrazte obsah souboru. Jakmile vstoupíte do souboru, bude to vypadat takto:

a2 01 4b 46 7f ff 0e 10 d8 : crc=d8 YESa2 01 4b 46 7f ff 0e 10 d8 t=26125

číslo za „t=“ je číslo, které chceme. Jedná se o teplotu v 1/1000 stupňů Celsia (ve výše uvedeném příkladu je teplota 26,125 ° C). Potřebujeme jen jednoduchý program, který čte tento soubor a analyzuje toto číslo. K tomu se dostaneme za chvilku.

vše je nyní připraveno pro zahájení streamování dat. Chcete-li otevřít textový editor, zadejte do příkazového řádku následující:

$ nano temperature.py

zkopírujte a vložte níže uvedený kód do textového editoru.

potřebujete, aby vaše Počáteční Stav přístupový klíč na lince 6 v místě PUT_YOUR_ACCESS_KEY_HERE (kopírování, streaming klíč do schránky z „Můj Účet“ a vložte jej do kódu v nano v terminálu).

řádek 6 vytvoří kbelík s názvem“ teplotní proud “ ve vašem účtu počátečního stavu (za předpokladu, že jste správně zadali svůj access_key na stejném řádku). Řádky 8 až 30 tohoto skriptu jednoduše rozhraní s DS18B20 čidlo číst teploty z w1_slave souboru jsme diskutovali dříve. Funkce read_temp_raw () na řádku 15 přečte soubor raw w1_slave. Funkce read_temp () na řádku 21 analyzuje teplotu z tohoto souboru. Linka 34 volá tyto funkce, aby získala aktuální teplotu. Řádek 35 převádí teplotu z Celsia na Fahrenheita. Řádky 35 a 36 přenáší teplotu na váš počáteční stavový účet. Řádek 37 pozastaví skript na 0,5 sekundy a nastaví, jak často bude snímač teploty čten a streamován.

jsme připraveni začít streamovat. Spusťte následující příkaz:

$ sudo python temperature.py

vraťte se do původního stavu účtu ve webovém prohlížeči a vyhledejte nový datový kbelík s názvem teplotní proud. Měli byste vidět streamování dat o teplotě v přímém přenosu. Změňte teplotu snímače tak, že jej držíte v ruce nebo jej vložíte do sklenice ledu.

Nyní budete mít odesílání dat na počáteční stavový panel. Podrobnosti o přizpůsobení řídicího panelu naleznete v závěrečné části tohoto článku.

BME280 řešení

budete potřebovat následující sestavení tohoto řešení:
-BME280 Tlak, Teplota, & Čidlo Vlhkosti

Pokud používáte BME280, že není od Adafruit, nastavení a kód bude jiný. Příklad použití senzoru BME280 najdete v tomto článku o monitorování vlhkosti prolézaného prostoru.

tento senzor je dodáván s kolíky, které budete muset pájet na senzoru. Doporučuji použít prkénko s kolíky dlouhou stranou dolů do prkénka, aby se pájení usnadnilo. Jakmile to dokončíte, musíme zapojit senzor do Pi.

Připojte pin VIN na senzoru k 3,3 V pin 1 na Pi. Připojte kolík GND na senzoru zemnící kolík 6 Na Pi. Připojte pin SCK na senzoru ke kolíku SCL 5 Na Pi. Připojte kolík SDI na senzoru ke kolíku SDA 3 Na Pi.

budete muset používat Python 3 pro toto řešení a nainstalovat počáteční stav Streamer modul pomocí pip3 způsobu instalace. Budete také muset nainstalovat několik knihoven Adafruit Python.

pip3 install adafruit-blinka
pip3 install pureio
pip3 install spidev
pip3 install adafruit-GPIO
pip3 install adafruit-circuitpython-bme280

pro použití senzoru potřebujeme povolit I2C na Pi.

sudo raspi-config

tím se otevře nástroj pro konfiguraci softwaru Raspberry Pi. Přejděte na možnost 5 možnosti propojení. Odtud přejděte na I2C. vyzve vás, abyste se zeptali, zda chcete povolit I2C, vyberte Ano a dokončete. Nyní máte I2C povoleno komunikovat se senzorem.

můžeme to vyzkoušet spuštěním následujícího:

sudo i2cdetect -y 1

tím se ověří, že váš Pi vidí senzor. Ve způsobu, jakým je připojen, by měl zobrazit senzor na adrese 77. Pokud senzor nezjistíte, restartujte Pi, znovu zapněte možnost rozhraní I2C na vašem Pi a zkuste to znovu.

jakmile je detekován váš senzor, je čas spustit náš hlavní kód, který odešle data do počátečního stavu. Vytvořil soubor s názvem bme280sensor.py s velením nano. Zkopírujte a vložte kód z podstaty do textového editoru. Budete muset provést změny v řádcích 12-19.

  • řádek 12-tato hodnota by měla být jedinečná pro každý uzel / snímač teploty. Může to být název místnosti vašeho senzorového uzlu, fyzické umístění, jedinečný identifikátor nebo cokoli jiného. Jen se ujistěte, že je pro každý uzel jedinečný, abyste zajistili, že data z tohoto uzlu přejdou do vlastního datového toku na hlavním panelu.
  • řádek 13-Toto je název datového kbelíku. To lze kdykoli změnit v uživatelském rozhraní počátečního stavu.
  • řádek 14-toto je klíč vašeho kbelíku. Musí to být stejný klíč kbelíku pro každý uzel, který chcete zobrazit na stejném řídicím panelu.
  • Řádek 15-toto je váš počáteční přístupový klíč k účtu. Zkopírujte a vložte tento klíč z původního stavu účtu.
  • linka 17-toto je tlak vaší polohy (hPa) na hladině moře. Tyto informace najdete na většině webových stránek o počasí.
  • řádek 18-toto je doba mezi snímáním snímače. Změnit.
  • Řádek 19-zde můžete zadat metrické nebo imperiální jednotky.

po nastavení řádků 12-19 ve skriptu Python na vašem Pi uložte a ukončete textový editor. Spusťte skript následujícím příkazem:

$ python3 bme280sensor.py

Nyní budete mít odesílání dat na počáteční stavový panel. Podrobnosti o přizpůsobení řídicího panelu naleznete v závěrečné části tohoto článku.

Smysl KLOBOUK Řešení

Budete potřebovat následující položky postavit toto řešení:
-Raspberry Pi Smysl KLOBOUK
-6″ 40-Pin IDE Samec na Ženské Prodlužovací Kabel (volitelné příslušenství pro teplotní přesnost)

prvním krokem při použití Smysl KLOBOUK je fyzicky nainstalovat do vašeho Pi. S vypnutým Pi, připevněný klobouk, jak je znázorněno níže.

Smysl KLOBOUK připojení k Raspberry Pi

Pokud se rozhodnete použít řešení, jak je uvedeno výše, můžete si všimnout, že váš Smysl KLOBOUK je měření teploty bude trochu vysoká — to je proto, že jsou. Viníkem je teplo generované z CPU Pi, které zahřívá vzduch kolem smyslového klobouku, když sedí na vrcholu Pi. Aby byl teplotní senzor užitečný, musíme buď dostat klobouk pryč od Pi, nebo se pokusit kalibrovat čtení teplotního senzoru. Dobrým řešením pro odstranění senzoru z Pi je kabel, který umožňuje smyslovému klobouku viset pryč od Pi. 6″, 40-pinový IDE kabel prodlužovacího kabelu pro muže a ženy bude stačit.

Raspberry Pi v případě rozšíření kabelové připojení k Pocitu KLOBOUK

Jakmile se rozhodnete na dvě možnosti, napájení na vašem Pi. Musíme nainstalovat knihovnu Python, abychom usnadnili čtení hodnot senzorů z klobouku Sense. Za prvé, budete muset zajistit, aby bylo ve vaší verzi Raspbian vše aktuální:

$ sudo apt-get update

dále nainstalujte knihovnu sense HAT Python:

$ sudo apt-get install sense-hat

restartujte Pi. Jsme připraveni otestovat Sense HAT čtením dat senzoru z něj a odesláním těchto dat do počátečního stavu.

Vytvořit soubor s názvem sensehat a otevřete jej v textovém editoru podle zadání možností v příkazovém řádku:

$ nano sensehat.py

Zkopírujte a vložte následující kód v textovém editoru.

Všimněte si na prvním řádku, že jsme import SenseHat knihovna do skriptu. Než spustíte tento skript, musíme nastavit naše uživatelské parametry.

konkrétně je třeba nastavit ACCESS_KEY na počáteční přístupový klíč ke státnímu účtu. Můžete změnit BUCKET_NAME a SENSOR_LOCATION_NAME na skutečné umístění senzoru. Uložte a ukončete textový editor.

na příkazovém řádku na vašem Pi spusťte skript:

$ sudo python sensehat.py

Nyní budete mít odesílání dat na počáteční stavový panel. Podrobnosti o přizpůsobení řídicího panelu naleznete v závěrečné části tohoto článku.

Přizpůsobte si počáteční stav Dashboard

s Raspberry Pi teplotní senzor postavený nyní můžete jít do svého původního stavu účtu a podívat se na vaše data. Kliknutím pravým tlačítkem myši na dlaždici změníte typ grafu a kliknutím na Upravit dlaždice změníte velikost a přesunete dlaždice. Doporučil bych použít termostat měřidla pro teplotu a hladinu kapaliny měřidla pro vlhkost. Můžete vytvořit čárové grafy pro teplotu i vlhkost, abyste viděli změny v průběhu času. Můžete také přidat obrázek na pozadí do řídicího panelu.

můžete nastavit Spouštěcí upozornění, takže můžete získat SMS nebo e-mail, pokud teplota klesne pod nebo překročí určitou prahovou hodnotu. Přejděte do datového kbelíku a klikněte na Nastavení. Odtud přejděte na kartu spouštěče. Zadejte klávesu stream, kterou chcete sledovat, operátora, který chcete použít, a prahovou hodnotu. Kliknutím na znaménko plus přidáte spoušť. Poté zadáte svůj e-mail nebo telefonní číslo, na které chcete upozornění obdržet, a kliknete na znaménko plus. Jakmile nastavíte všechny spouštěče, klikněte na tlačítko Hotovo v dolní části.

Počáteční Stav, teploty dashboard

Teď, že jste vytvořili Raspberry Pi čidlo teploty pomocí čidla a Raspberry Pi, můžete začít přemýšlet o tom, co další ekologické údaje můžete sledovat další.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

Previous post Mistr Zahradník: Cassia stromy jsou snadno pěstovat
Next post Adaptivní učení