7.5 KiB
Meranie teploty - Virtuálny IoT hardvér
V tejto časti lekcie pridáte teplotný senzor k vášmu virtuálnemu IoT zariadeniu.
Virtuálny hardvér
Virtuálne IoT zariadenie bude používať simulovaný Grove Digital Humidity and Temperature senzor. To umožňuje, aby tento lab zostal rovnaký ako pri použití Raspberry Pi s fyzickým Grove DHT11 senzorom.
Senzor kombinuje teplotný senzor s senzorom vlhkosti, ale v tomto labu sa zameriate iba na komponent teplotného senzora. Vo fyzickom IoT zariadení by teplotný senzor bol termistor, ktorý meria teplotu na základe zmeny odporu pri zmene teploty. Teplotné senzory sú zvyčajne digitálne senzory, ktoré interne konvertujú nameraný odpor na teplotu v stupňoch Celzia (alebo Kelvina, alebo Fahrenheita).
Pridanie senzorov do CounterFit
Na použitie virtuálneho senzora vlhkosti a teploty je potrebné pridať tieto dva senzory do aplikácie CounterFit.
Úloha - pridanie senzorov do CounterFit
Pridajte senzory vlhkosti a teploty do aplikácie CounterFit.
-
Vytvorte novú Python aplikáciu na vašom počítači v priečinku
temperature-sensor
s jediným súborom nazvanýmapp.py
a Python virtuálnym prostredím, a pridajte CounterFit pip balíčky.⚠️ Môžete sa odvolať na pokyny na vytvorenie a nastavenie CounterFit Python projektu v lekcii 1, ak je to potrebné.
-
Nainštalujte ďalší Pip balíček na inštaláciu CounterFit shim pre DHT11 senzor. Uistite sa, že inštalujete z terminálu s aktivovaným virtuálnym prostredím.
pip install counterfit-shims-seeed-python-dht
-
Uistite sa, že webová aplikácia CounterFit je spustená.
-
Vytvorte senzor vlhkosti:
-
V poli Create sensor v paneli Sensors rozbaľte pole Sensor type a vyberte Humidity.
-
Nechajte Units nastavené na Percentage.
-
Uistite sa, že Pin je nastavený na 5.
-
Kliknite na tlačidlo Add, aby ste vytvorili senzor vlhkosti na pine 5.
Senzor vlhkosti bude vytvorený a zobrazí sa v zozname senzorov.
-
-
Vytvorte teplotný senzor:
-
V poli Create sensor v paneli Sensors rozbaľte pole Sensor type a vyberte Temperature.
-
Nechajte Units nastavené na Celsius.
-
Uistite sa, že Pin je nastavený na 6.
-
Kliknite na tlačidlo Add, aby ste vytvorili teplotný senzor na pine 6.
Teplotný senzor bude vytvorený a zobrazí sa v zozname senzorov.
-
Naprogramovanie aplikácie teplotného senzora
Aplikácia teplotného senzora môže byť teraz naprogramovaná pomocou senzorov CounterFit.
Úloha - naprogramovanie aplikácie teplotného senzora
Naprogramujte aplikáciu teplotného senzora.
-
Uistite sa, že aplikácia
temperature-sensor
je otvorená vo VS Code. -
Otvorte súbor
app.py
. -
Pridajte nasledujúci kód na začiatok súboru
app.py
, aby ste pripojili aplikáciu k CounterFit:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
Pridajte nasledujúci kód do súboru
app.py
, aby ste importovali potrebné knižnice:import time from counterfit_shims_seeed_python_dht import DHT
Príkaz
from seeed_dht import DHT
importuje trieduDHT
na interakciu s virtuálnym Grove teplotným senzorom pomocou shim z modulucounterfit_shims_seeed_python_dht
. -
Pridajte nasledujúci kód po vyššie uvedenom kóde na vytvorenie inštancie triedy, ktorá spravuje virtuálny senzor vlhkosti a teploty:
sensor = DHT("11", 5)
Toto deklaruje inštanciu triedy
DHT
, ktorá spravuje virtuálny Digital Humidity a Temperature senzor. Prvý parameter informuje kód, že používaný senzor je virtuálny DHT11 senzor. Druhý parameter informuje kód, že senzor je pripojený k portu5
.💁 CounterFit simuluje tento kombinovaný senzor vlhkosti a teploty pripojením k 2 senzorom, senzor vlhkosti na pine uvedenom pri vytvorení triedy
DHT
a teplotný senzor, ktorý beží na nasledujúcom pine. Ak je senzor vlhkosti na pine 5, shim očakáva teplotný senzor na pine 6. -
Pridajte nekonečnú slučku po vyššie uvedenom kóde na získanie hodnoty teplotného senzora a jej výpis do konzoly:
while True: _, temp = sensor.read() print(f'Temperature {temp}°C')
Volanie
sensor.read()
vráti dvojicu hodnôt vlhkosti a teploty. Potrebujete iba hodnotu teploty, takže vlhkosť je ignorovaná. Hodnota teploty je potom vypísaná do konzoly. -
Pridajte krátku pauzu desať sekúnd na koniec
loop
, pretože úrovne teploty nie je potrebné kontrolovať nepretržite. Pauza znižuje spotrebu energie zariadenia.time.sleep(10)
-
Z terminálu VS Code s aktivovaným virtuálnym prostredím spustite nasledujúci príkaz na spustenie vašej Python aplikácie:
python app.py
-
V aplikácii CounterFit zmeňte hodnotu teplotného senzora, ktorú aplikácia prečíta. Môžete to urobiť jedným z dvoch spôsobov:
-
Zadajte číslo do poľa Value pre teplotný senzor a potom kliknite na tlačidlo Set. Číslo, ktoré zadáte, bude hodnota vrátená senzorom.
-
Zaškrtnite políčko Random a zadajte hodnoty Min a Max, potom kliknite na tlačidlo Set. Pri každom čítaní hodnoty senzorom sa vráti náhodné číslo medzi Min a Max.
Mali by ste vidieť hodnoty, ktoré ste nastavili, zobrazujúce sa v konzole. Zmeňte Value alebo nastavenia Random, aby ste videli zmenu hodnoty.
(.venv) ➜ temperature-sensor python app.py Temperature 28.25°C Temperature 30.71°C Temperature 25.17°C
-
💁 Tento kód nájdete v priečinku code-temperature/virtual-device.
😀 Vaša aplikácia teplotného senzora bola úspešná!
Upozornenie:
Tento dokument bol preložený pomocou služby na automatický preklad Co-op Translator. Aj keď sa snažíme o presnosť, upozorňujeme, že automatické preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre dôležité informácie sa odporúča profesionálny ľudský preklad. Nezodpovedáme za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.