Vytvořte monitor teploty Raspberry Pi pomocí Sense HAT a zobrazujte pravidelné hodnoty na jeho LED matrici.
Existuje několik způsobů, jak můžete sledovat okolní teplotu pomocí jednodeskového počítače Raspberry Pi, možná jako součást nastavení meteostanice. I když můžete použít externí senzor připojený k GPIO pinům Raspberry Pi, zde vysvětlíme, jak monitorovat teplotu pomocí Raspberry Pi vybaveného Sense HAT.
Co je to Sense HAT?
Oficiální Čepice Raspberry Pi (Hardware Attached on Top) přídavná deska navržená a vyrobená společností Raspberry Pi, Sense HAT byla původně vytvořena pro použití astronauty na palubě Mezinárodní vesmírné stanice. Od roku 2015 se dva počítače Raspberry Pi vybavené Sense HAT používají ve vědeckých experimentech navržených školáky, kteří vstoupili do probíhající Astro Pi výzva Tyto dvě jednotky byly od té doby nahrazeny vylepšenými verzemi založenými na Raspberry Pi 4 a vybavenými vysoce kvalitní kamerou.
I když postrádá speciální stříbrné pouzdro určené pro použití ve vesmíru, standardní deska Sense HAT má úplně stejnou funkčnost. Kompatibilní s jakýmkoliv
Model Raspberry Pi se 40pinovým GPIO headerem je vybaven řadou vestavěných senzorů, které mu umožňují sledovat okolní prostředí a také detekovat jeho vlastní orientaci a pohyb. Navíc má 8x8 RGB LED matici pro zobrazení textu, dat a obrázků. K dispozici je také mini pětisměrný joystick.Celá řada senzorických funkcí Sense HAT je následující:
- Vlhkost vzduchu: Senzor STMicro HTS221 s rozsahem relativní vlhkosti 0 až 100 % plus snímání teploty od 32 °F do 149 °F (0 °C až 65 °C ± 2 °C).
- Barometrický tlak: Senzor STMicro LPS25HB s rozsahem 260 až 1260 hPa plus snímání teploty od 59 °F do 104 °F (15 °C až 40 °C ±0,5 °C).
- Teplota: To lze odečíst ze senzoru vlhkosti nebo tlaku nebo změřit průměrem obou hodnot.
- Gyroskop: STMicro LSM9DS1 IMU dokáže měřit rotaci Sense HAT vzhledem k povrchu Země (a jak rychle se otáčí).
- Akcelerometr: Další funkcí IMU je, že dokáže měřit zrychlovací sílu ve více směrech.
- magnetometr: Snímáním magnetického pole Země může IMU určit směr magnetického severu, a tak poskytnout údaj kompasu.
Nyní, když máte přehled o tom, co tento víceúčelový Raspberry Pi HAT dokáže, je čas začít s projektem.
Krok 1: Namontujte Sense HAT
Chcete-li připojit Sense HAT, nejprve se ujistěte, že je vaše Raspberry Pi vypnuté a odpojené od napájení. Poté opatrně zatlačte Sense HAT (s nasazeným dodaným černým nástavcem hlavičky) na 40kolíkovou GPIO hlavičku Raspberry Pi tak, aby byla deska Sense HAT umístěna nad deskou Raspberry Pi. Ujistěte se, že jsou všechny kolíky správně zarovnány a obě řady jsou propojeny. K zajištění můžete také použít šroubovací podpěry.
Můžete použít jakýkoli standardní model Raspberry Pi, který má 40pinový GPIO header. Jeden z klíčová omezení Raspberry Pi 400GPIO header je však umístěn na zadní straně integrované klávesnice. To znamená, že Sense HAT bude směřovat dozadu, takže k jeho připojení možná budete chtít použít prodlužovací kabel GPIO.
Krok 2: Nastavte Raspberry Pi
Stejně jako u jakéhokoli jiného projektu byste měli připojit USB klávesnici a myš a poté připojte Raspberry Pi k monitoru nebo televizi. Měli byste mít také vloženou kartu microSD se standardním operačním systémem Raspberry Pi – pokud jste to ještě neudělali, podívejte se jak nainstalovat operační systém na Raspberry Pi. Poté jste připraveni zapnout napájení.
Případně můžete Raspberry Pi používat se Sense HAT v bezhlavém režimu, bez připojeného monitoru a připojit se k Raspberry Pi vzdáleně pomocí SSH z jiného počítače nebo zařízení. Pokud to uděláte, nebudete moci používat Thonny Python IDE, buy může stále upravovat programy pomocí textového editoru nano a spouštět je z příkazového řádku.
Firmware Sense HAT by měl být nainstalován ve výchozím nastavení. Chcete-li znovu zkontrolovat, otevřete okno Terminál a zadejte:
sudo apt install sense-hat
Poté, pokud byl balíček právě nově nainstalován, restartujte Raspberry Pi:
sudo reboot
Krok 3: Začněte programovat v Pythonu
I když můžete Raspberry Pi Sense HAT používat s programovacím jazykem Scratch založeným na blocích, ke čtení a zobrazení hodnot senzorů použijeme Python.
Thonny IDE (integrované vývojové prostředí) je dobrý způsob, jak programovat Python na Raspberry Pi, protože má spoustu funkcí včetně užitečných funkcí pro ladění. V grafickém rozhraní počítače Raspberry Pi OS přejděte na Jídelní lístek (vlevo nahoře ikona maliny) > Programování > Thonny IDE spustit.
Krok 4: Odečtěte teplotu
V hlavním okně Thonny IDE zadejte následující řádky kódu:
from sense_hat import SenseHatsense = SenseHat()
sense.clear()
temp = sense.get_temperature()
print(temp)
První řádek importuje SenseHat třídy z smysl_klobouk Knihovna Python (která je předinstalovaná v OS Raspberry Pi). To je pak přiřazeno k smysl variabilní. Třetí řádek vymaže matici LED Sense HAT.
Potom odečteme teplotu a vytiskneme ji do oblasti Shell Thonny IDE. To je ve stupních Celsia, takže to možná budete chtít nejprve převést na Fahrenheita:
temp = (sense.get_temperature() * 1.8 + 32)
Hodnota snímače teploty bude mít několik číslic za desetinnou čárkou. Takže použijeme kolo funkce pro zaokrouhlení na jedno desetinné místo:
temp = round(temp, 1)
The sense.get_temperature() funkce čte teplotní čidlo zabudované do čidla vlhkosti. Případně můžete odečíst teplotu z tlakového senzoru sense.get_temperature_from_pressure() nebo dokonce vzít obě hodnoty a vypočítat střední průměr (jejich sečtením a vydělením dvěma).
Krok 5: Ukažte teplotu na Sense HAT
Tisk jednoho údaje o teplotě do prostředí Python Shell je trochu nudný, takže místo toho pravidelně provádějme nový údaj a ukažme jej na matrici RGB LED Sense HAT. K zobrazení rolující textové zprávy používáme zobrazit_zprávu funkce. Použijeme také a zatímco: Pravda smyčka, která bude každých 10 sekund provádět nové čtení – k čemuž používáme spát funkce z čas knihovna.
Zde je kompletní program:
from sense_hat import SenseHat
from time import sleepsense = SenseHat()
sense.clear()
whileTrue:
temp = (sense.get_temperature() * 1.8 + 32)
temp = round(temp, 1)
message = "Temp: " + str(temp)
sense.show_message(message)
sleep (10)
Spusťte tento kód a uvidíte, jak se každý nový údaj o teplotě posouvá po matici LED. Zkuste fouknout na Sense HAT, abyste viděli, zda se teplota nezmění.
Údaje o teplotě mohou být ovlivněny teplem přenášeným z CPU Raspberry Pi těsně pod, takže může být potřeba provést úpravu, abyste získali přesnější údaj. Dalším řešením je použití stohovací hlavičky ke zvednutí Sense HAT výše nad Raspberry Pi.
Ke sledování teploty použijte Raspberry Pi
Zatímco pro tento projekt můžete místo toho použít samostatný teplotní senzor, Sense HAT usnadňuje sledování teploty pomocí Raspberry Pi. Můžete jej také použít k měření řady dalších hodnot senzorů, jako je barometrický tlak a relativní vlhkost, a zobrazit je na jeho LED matice.