5.6 KiB
Meranie vlhkosti pôdy - Virtuálny IoT hardvér
V tejto časti lekcie pridáte kapacitný senzor vlhkosti pôdy k vášmu virtuálnemu IoT zariadeniu a budete z neho čítať hodnoty.
Virtuálny hardvér
Virtuálne IoT zariadenie bude používať simulovaný kapacitný senzor vlhkosti pôdy Grove. Týmto spôsobom zostáva tento laboratórny projekt rovnaký ako pri použití Raspberry Pi s fyzickým kapacitným senzorom vlhkosti pôdy Grove.
V prípade fyzického IoT zariadenia by senzor vlhkosti pôdy bol kapacitný senzor, ktorý meria vlhkosť pôdy detekovaním kapacity pôdy, vlastnosti, ktorá sa mení v závislosti od vlhkosti pôdy. Keď sa vlhkosť pôdy zvyšuje, napätie klesá.
Toto je analógový senzor, ktorý používa simulovaný 10-bitový ADC na hlásenie hodnoty od 1 do 1 023.
Pridanie senzora vlhkosti pôdy do CounterFit
Na použitie virtuálneho senzora vlhkosti pôdy ho musíte pridať do aplikácie CounterFit.
Úloha - Pridanie senzora vlhkosti pôdy do CounterFit
Pridajte senzor vlhkosti pôdy do aplikácie CounterFit.
-
Vytvorte novú Python aplikáciu na vašom počítači v priečinku
soil-moisture-sensor
s jedný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é.
-
Uistite sa, že webová aplikácia CounterFit beží.
-
Vytvorte senzor vlhkosti pôdy:
-
V poli Create sensor v paneli Sensors rozbaľte pole Sensor type a vyberte Soil Moisture.
-
Nechajte Units nastavené na NoUnits.
-
Uistite sa, že Pin je nastavený na 0.
-
Kliknite na tlačidlo Add, aby ste vytvorili senzor Soil Moisture na pine 0.
Senzor vlhkosti pôdy bude vytvorený a zobrazí sa v zozname senzorov.
-
Naprogramovanie aplikácie senzora vlhkosti pôdy
Aplikácia senzora vlhkosti pôdy môže byť teraz naprogramovaná pomocou senzorov CounterFit.
Úloha - naprogramovanie aplikácie senzora vlhkosti pôdy
Naprogramujte aplikáciu senzora vlhkosti pôdy.
-
Uistite sa, že aplikácia
soil-moisture-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_grove.adc import ADC
Príkaz
import time
importuje modultime
, ktorý bude použitý neskôr v tejto úlohe.Príkaz
from counterfit_shims_grove.adc import ADC
importuje trieduADC
, ktorá umožňuje interakciu so simulovaným analógovo-digitálnym prevodníkom, ktorý sa môže pripojiť k senzoru CounterFit. -
Pridajte nasledujúci kód pod tento, aby ste vytvorili inštanciu triedy
ADC
:adc = ADC()
-
Pridajte nekonečnú slučku, ktorá číta hodnoty z ADC na pine 0 a zapisuje výsledok do konzoly. Táto slučka potom môže spať 10 sekúnd medzi čítaniami.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
V aplikácii CounterFit zmeňte hodnotu senzora vlhkosti pôdy, ktorú bude aplikácia čítať. Môžete to urobiť jedným z dvoch spôsobov:
-
Zadajte číslo do poľa Value pre senzor vlhkosti pôdy 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 senzor vráti náhodné číslo medzi Min a Max.
-
-
Spustite Python aplikáciu. Uvidíte merania vlhkosti pôdy zapísané do konzoly. Zmeňte nastavenia Value alebo Random, aby ste videli zmenu hodnoty.
(.venv) ➜ soil-moisture-sensor $ python app.py Soil moisture: 615 Soil moisture: 612 Soil moisture: 498 Soil moisture: 493 Soil moisture: 490 Soil Moisture: 388
💁 Tento kód nájdete v priečinku code/virtual-device.
😀 Vaša aplikácia senzora vlhkosti pôdy bola úspešná!
Upozornenie:
Tento dokument bol preložený pomocou služby AI prekladu Co-op Translator. Hoci sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho rodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.