7.5 KiB
Měření teploty - Virtuální IoT hardware
V této části lekce přidáte teplotní senzor do svého virtuálního IoT zařízení.
Virtuální hardware
Virtuální IoT zařízení bude používat simulovaný senzor Grove Digital Humidity and Temperature. Tento přístup udržuje tento lab stejný jako při použití Raspberry Pi s fyzickým senzorem Grove DHT11.
Senzor kombinuje teplotní senzor a senzor vlhkosti, ale v tomto labu vás zajímá pouze komponenta teplotního senzoru. U fyzického IoT zařízení by teplotní senzor byl termistor, který měří teplotu na základě změny odporu při změně teploty. Teplotní senzory jsou obvykle digitální senzory, které interně převádějí naměřený odpor na teplotu ve stupních Celsia (nebo Kelvina, nebo Fahrenheita).
Přidání senzorů do CounterFit
Pro použití virtuálního senzoru vlhkosti a teploty je třeba přidat tyto dva senzory do aplikace CounterFit.
Úkol - přidání senzorů do CounterFit
Přidejte senzory vlhkosti a teploty do aplikace CounterFit.
-
Vytvořte novou Python aplikaci na svém počítači ve složce
temperature-sensor
s jediným souboremapp.py
a Python virtuálním prostředím, a přidejte CounterFit pip balíčky.⚠️ Můžete se odkázat na instrukce pro vytvoření a nastavení CounterFit Python projektu v lekci 1, pokud je to potřeba.
-
Nainstalujte další Pip balíček pro instalaci CounterFit shim pro senzor DHT11. Ujistěte se, že instalaci provádíte z terminálu s aktivovaným virtuálním prostředím.
pip install counterfit-shims-seeed-python-dht
-
Ujistěte se, že webová aplikace CounterFit běží.
-
Vytvořte senzor vlhkosti:
-
V poli Create sensor v panelu Sensors rozbalte pole Sensor type a vyberte Humidity.
-
Nechte Units nastavené na Percentage.
-
Ujistěte se, že Pin je nastaven na 5.
-
Klikněte na tlačítko Add pro vytvoření senzoru vlhkosti na pinu 5.
Senzor vlhkosti bude vytvořen a objeví se v seznamu senzorů.
-
-
Vytvořte teplotní senzor:
-
V poli Create sensor v panelu Sensors rozbalte pole Sensor type a vyberte Temperature.
-
Nechte Units nastavené na Celsius.
-
Ujistěte se, že Pin je nastaven na 6.
-
Klikněte na tlačítko Add pro vytvoření teplotního senzoru na pinu 6.
Teplotní senzor bude vytvořen a objeví se v seznamu senzorů.
-
Naprogramování aplikace pro teplotní senzor
Nyní můžete naprogramovat aplikaci pro teplotní senzor pomocí senzorů CounterFit.
Úkol - naprogramování aplikace pro teplotní senzor
Naprogramujte aplikaci pro teplotní senzor.
-
Ujistěte se, že aplikace
temperature-sensor
je otevřená ve VS Code. -
Otevřete soubor
app.py
. -
Přidejte následující kód na začátek souboru
app.py
pro připojení aplikace k CounterFit:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
Přidejte následující kód do souboru
app.py
pro import potřebných knihoven:import time from counterfit_shims_seeed_python_dht import DHT
Příkaz
from seeed_dht import DHT
importuje tříduDHT
pro interakci s virtuálním Grove teplotním senzorem pomocí shim z modulucounterfit_shims_seeed_python_dht
. -
Přidejte následující kód za výše uvedený kód pro vytvoření instance třídy, která spravuje virtuální senzor vlhkosti a teploty:
sensor = DHT("11", 5)
Tento kód deklaruje instanci třídy
DHT
, která spravuje virtuální Digitální Humidity a Temperature senzor. První parametr říká kódu, že použitý senzor je virtuální senzor DHT11. Druhý parametr říká kódu, že senzor je připojen k portu5
.💁 CounterFit simuluje tento kombinovaný senzor vlhkosti a teploty připojením ke dvěma senzorům: senzoru vlhkosti na pinu uvedeném při vytvoření třídy
DHT
a teplotnímu senzoru, který běží na dalším pinu. Pokud je senzor vlhkosti na pinu 5, shim očekává, že teplotní senzor bude na pinu 6. -
Přidejte nekonečnou smyčku za výše uvedený kód pro čtení hodnoty teplotního senzoru a její výpis do konzole:
while True: _, temp = sensor.read() print(f'Temperature {temp}°C')
Volání
sensor.read()
vrací dvojici hodnot vlhkosti a teploty. Potřebujete pouze hodnotu teploty, takže vlhkost je ignorována. Hodnota teploty je poté vypsána do konzole. -
Přidejte na konec smyčky krátkou pauzu deset sekund, protože není nutné kontrolovat úroveň teploty neustále. Pauza snižuje spotřebu energie zařízení.
time.sleep(10)
-
Z terminálu ve VS Code s aktivovaným virtuálním prostředím spusťte následující příkaz pro spuštění vaší Python aplikace:
python app.py
-
V aplikaci CounterFit změňte hodnotu teplotního senzoru, kterou bude aplikace číst. Můžete to udělat dvěma způsoby:
-
Zadejte číslo do pole Value pro teplotní senzor a poté klikněte na tlačítko Set. Číslo, které zadáte, bude hodnota vrácená senzorem.
-
Zaškrtněte políčko Random a zadejte hodnoty Min a Max, poté klikněte na tlačítko Set. Při každém čtení hodnoty senzoru se přečte náhodné číslo mezi Min a Max.
Měli byste vidět hodnoty, které jste nastavili, objevující se v konzoli. Změňte Value nebo nastavení Random, abyste viděli změnu hodnoty.
(.venv) ➜ temperature-sensor python app.py Temperature 28.25°C Temperature 30.71°C Temperature 25.17°C
-
💁 Tento kód najdete ve složce code-temperature/virtual-device.
😀 Vaše aplikace pro teplotní senzor byla úspěšně vytvořena!
Prohlášení:
Tento dokument byl přeložen pomocí služby pro automatický překlad Co-op Translator. Ačkoli se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.