5.6 KiB
Mittaa maaperän kosteutta - Virtuaalinen IoT-laitteisto
Tässä osassa oppituntia lisäät kapasitiivisen maaperän kosteusanturin virtuaaliseen IoT-laitteeseesi ja luet siitä arvoja.
Virtuaalinen laitteisto
Virtuaalinen IoT-laite käyttää simuloitua Grove-kapasitiivista maaperän kosteusanturia. Tämä pitää tämän harjoituksen samanlaisena kuin fyysisen Grove-kapasitiivisen maaperän kosteusanturin käyttäminen Raspberry Pi:llä.
Fyysisessä IoT-laitteessa maaperän kosteusanturi olisi kapasitiivinen anturi, joka mittaa maaperän kosteutta havaitsemalla maaperän kapasitanssin, joka muuttuu maaperän kosteuden muuttuessa. Kun maaperän kosteus kasvaa, jännite pienenee.
Tämä on analoginen anturi, joten se käyttää simuloitua 10-bittistä ADC:tä raportoidakseen arvon välillä 1–1 023.
Lisää maaperän kosteusanturi CounterFitiin
Virtuaalisen maaperän kosteusanturin käyttämiseksi sinun täytyy lisätä se CounterFit-sovellukseen.
Tehtävä - Lisää maaperän kosteusanturi CounterFitiin
Lisää maaperän kosteusanturi CounterFit-sovellukseen.
-
Luo uusi Python-sovellus tietokoneellesi kansioon nimeltä
soil-moisture-sensor
, jossa on yksi tiedosto nimeltäapp.py
, sekä Python-virtuaaliympäristö, ja lisää CounterFit-pip-paketit.⚠️ Voit tarvittaessa viitata ohjeisiin CounterFit Python -projektin luomisesta ja asettamisesta oppitunnilla 1.
-
Varmista, että CounterFit-verkkosovellus on käynnissä.
-
Luo maaperän kosteusanturi:
-
Create sensor -ruudussa Sensors-paneelissa avaa Sensor type -valikko ja valitse Soil Moisture.
-
Jätä Units asetukseksi NoUnits.
-
Varmista, että Pin on asetettu arvoon 0.
-
Valitse Add-painike luodaksesi Soil Moisture -anturin Pin 0:aan.
Maaperän kosteusanturi luodaan ja se näkyy anturilistassa.
-
Ohjelmoi maaperän kosteusanturisovellus
Nyt voit ohjelmoida maaperän kosteusanturisovelluksen käyttämällä CounterFit-antureita.
Tehtävä - Ohjelmoi maaperän kosteusanturisovellus
Ohjelmoi maaperän kosteusanturisovellus.
-
Varmista, että
soil-moisture-sensor
-sovellus on auki VS Code -editorissa. -
Avaa
app.py
-tiedosto. -
Lisää seuraava koodi
app.py
-tiedoston alkuun yhdistääksesi sovelluksen CounterFitiin:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
Lisää seuraava koodi
app.py
-tiedostoon tarvittavien kirjastojen tuomiseksi:import time from counterfit_shims_grove.adc import ADC
import time
-lause tuotime
-moduulin, jota käytetään myöhemmin tässä tehtävässä.from counterfit_shims_grove.adc import ADC
-lause tuoADC
-luokan, jonka avulla voidaan olla vuorovaikutuksessa virtuaalisen analogi-digitaalimuuntimen kanssa, joka voi yhdistää CounterFit-anturiin. -
Lisää tämän alle seuraava koodi luodaksesi
ADC
-luokan instanssin:adc = ADC()
-
Lisää loputon silmukka, joka lukee tämän ADC:n arvoja pinistä 0 ja kirjoittaa tuloksen konsoliin. Tämä silmukka voi sitten odottaa 10 sekuntia lukemien välillä.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
Muuta CounterFit-sovelluksessa maaperän kosteusanturin arvoa, jonka sovellus lukee. Voit tehdä tämän kahdella tavalla:
-
Syötä numero Value-kenttään maaperän kosteusanturille ja valitse Set-painike. Syöttämäsi numero on arvo, jonka anturi palauttaa.
-
Valitse Random-valintaruutu ja syötä Min- ja Max-arvot, sitten valitse Set-painike. Joka kerta, kun anturi lukee arvon, se lukee satunnaisen numeron Min- ja Max-arvojen väliltä.
-
-
Suorita Python-sovellus. Näet maaperän kosteusmittaukset kirjoitettuna konsoliin. Muuta Value- tai Random-asetuksia nähdäksesi arvon muuttuvan.
(.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
💁 Löydät tämän koodin code/virtual-device -kansiosta.
😀 Maaperän kosteusanturisovelluksesi onnistui!
Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.