6.3 KiB
Talajnedvesség mérése - Virtuális IoT Hardver
Ebben a leckében hozzáad egy kapacitív talajnedvesség-érzékelőt a virtuális IoT eszközéhez, és értékeket olvas le róla.
Virtuális Hardver
A virtuális IoT eszköz egy szimulált Grove kapacitív talajnedvesség-érzékelőt fog használni. Ez a labor ugyanúgy működik, mintha egy Raspberry Pi-t használnánk egy fizikai Grove kapacitív talajnedvesség-érzékelővel.
Egy fizikai IoT eszközben a talajnedvesség-érzékelő egy kapacitív érzékelő lenne, amely a talaj nedvességtartalmát méri a talaj kapacitásának érzékelésével, amely tulajdonság változik a talaj nedvességtartalmának változásával. Ahogy a talaj nedvességtartalma nő, a feszültség csökken.
Ez egy analóg érzékelő, amely egy szimulált 10 bites ADC-t használ, hogy 1-1,023 közötti értéket adjon vissza.
Talajnedvesség-érzékelő hozzáadása a CounterFithez
Ahhoz, hogy virtuális talajnedvesség-érzékelőt használjon, hozzá kell adnia azt a CounterFit alkalmazáshoz.
Feladat - Talajnedvesség-érzékelő hozzáadása a CounterFithez
Adja hozzá a talajnedvesség-érzékelőt a CounterFit alkalmazáshoz.
-
Hozzon létre egy új Python alkalmazást a számítógépén egy
soil-moisture-sensor
nevű mappában, amely egyetlenapp.py
fájlt és egy Python virtuális környezetet tartalmaz, majd adja hozzá a CounterFit pip csomagokat.⚠️ Ha szükséges, hivatkozhat az első leckében található CounterFit Python projekt létrehozására és beállítására vonatkozó utasításokra.
-
Győződjön meg arról, hogy a CounterFit webalkalmazás fut.
-
Hozzon létre egy talajnedvesség-érzékelőt:
-
A Create sensor mezőben, a Sensors panelen, nyissa le a Sensor type mezőt, és válassza ki a Soil Moisture opciót.
-
Hagyja a Units beállítást NoUnits értéken.
-
Győződjön meg arról, hogy a Pin értéke 0.
-
Válassza ki az Add gombot, hogy létrehozza a Soil Moisture érzékelőt a 0-s csatlakozón.
A talajnedvesség-érzékelő létrejön, és megjelenik az érzékelők listájában.
-
Talajnedvesség-érzékelő alkalmazás programozása
Most már programozhatja a talajnedvesség-érzékelő alkalmazást a CounterFit érzékelők használatával.
Feladat - Talajnedvesség-érzékelő alkalmazás programozása
Programozza a talajnedvesség-érzékelő alkalmazást.
-
Győződjön meg arról, hogy a
soil-moisture-sensor
alkalmazás meg van nyitva a VS Code-ban. -
Nyissa meg az
app.py
fájlt. -
Adja hozzá a következő kódot az
app.py
fájl tetejére, hogy csatlakoztassa az alkalmazást a CounterFithez:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
Adja hozzá a következő kódot az
app.py
fájlhoz, hogy importálja a szükséges könyvtárakat:import time from counterfit_shims_grove.adc import ADC
Az
import time
utasítás importálja atime
modult, amelyet később használni fogunk ebben a feladatban.A
from counterfit_shims_grove.adc import ADC
utasítás importálja azADC
osztályt, amely lehetővé teszi a szimulált analóg-digitális átalakítóval való interakciót, amely csatlakozhat egy CounterFit érzékelőhöz. -
Adja hozzá a következő kódot az alá, hogy létrehozzon egy példányt az
ADC
osztályból:adc = ADC()
-
Hozzon létre egy végtelen ciklust, amely olvas az ADC-ről a 0-s csatlakozón, és kiírja az eredményt a konzolra. Ez a ciklus 10 másodpercet várhat az olvasások között.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
A CounterFit alkalmazásban változtassa meg a talajnedvesség-érzékelő értékét, amelyet az alkalmazás olvasni fog. Ezt kétféleképpen teheti meg:
-
Írjon be egy számot a talajnedvesség-érzékelő Value mezőjébe, majd válassza ki a Set gombot. Az Ön által megadott szám lesz az érzékelő által visszaadott érték.
-
Jelölje be a Random jelölőnégyzetet, és adjon meg egy Min és Max értéket, majd válassza ki a Set gombot. Minden alkalommal, amikor az érzékelő értéket olvas, egy Min és Max közötti véletlenszámot fog olvasni.
-
-
Futtassa a Python alkalmazást. Látni fogja a talajnedvesség-méréseket a konzolon. Változtassa meg a Value vagy a Random beállításokat, hogy lássa az értékek változását.
(.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
💁 Ezt a kódot megtalálja a code/virtual-device mappában.
😀 A talajnedvesség-érzékelő programja sikeresen működött!
Felelősség kizárása:
Ez a dokumentum az AI fordítási szolgáltatás, a Co-op Translator segítségével lett lefordítva. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Kritikus információk esetén javasolt professzionális emberi fordítást igénybe venni. Nem vállalunk felelősséget semmilyen félreértésért vagy téves értelmezésért, amely a fordítás használatából eredhet.