7.4 KiB
Mittaa lämpötila - Virtuaalinen IoT-laitteisto
Tässä oppitunnin osassa lisäät lämpötila-anturin virtuaaliseen IoT-laitteeseesi.
Virtuaalinen laitteisto
Virtuaalinen IoT-laite käyttää simuloitua Grove Digital Humidity and Temperature -anturia. Tämä pitää tämän harjoituksen samanlaisena kuin fyysisen Grove DHT11 -anturin käyttäminen Raspberry Pi:ssä.
Anturi yhdistää lämpötila-anturin ja kosteusanturin, mutta tässä harjoituksessa keskitytään vain lämpötila-anturiin. Fyysisessä IoT-laitteessa lämpötila-anturi olisi termistori, joka mittaa lämpötilaa havaitsemalla vastuksen muutoksen lämpötilan muuttuessa. Lämpötila-anturit ovat yleensä digitaalisia antureita, jotka muuntavat sisäisesti mitatun vastuksen lämpötilaksi Celsius-asteina (tai Kelvineinä tai Fahrenheit-asteina).
Lisää anturit CounterFitiin
Virtuaalisen kosteus- ja lämpötila-anturin käyttämiseksi sinun täytyy lisätä nämä kaksi anturia CounterFit-sovellukseen.
Tehtävä - lisää anturit CounterFitiin
Lisää kosteus- ja lämpötila-anturit CounterFit-sovellukseen.
-
Luo tietokoneellesi uusi Python-sovellus kansioon nimeltä
temperature-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 oppitunnissa 1.
-
Asenna lisäpaketti pipin kautta, jotta voit asentaa CounterFit-shimin DHT11-anturille. Varmista, että asennat tämän terminaalista, jossa virtuaaliympäristö on aktivoitu.
pip install counterfit-shims-seeed-python-dht
-
Varmista, että CounterFit-verkkosovellus on käynnissä.
-
Luo kosteusanturi:
-
Create sensor -ruudussa Sensors-paneelissa avaa Sensor type -valikko ja valitse Humidity.
-
Jätä Units asetukseksi Percentage.
-
Varmista, että Pin on asetettu arvoon 5.
-
Valitse Add-painike luodaksesi kosteusanturin pinniin 5.
Kosteusanturi luodaan ja se näkyy anturilistassa.
-
-
Luo lämpötila-anturi:
-
Create sensor -ruudussa Sensors-paneelissa avaa Sensor type -valikko ja valitse Temperature.
-
Jätä Units asetukseksi Celsius.
-
Varmista, että Pin on asetettu arvoon 6.
-
Valitse Add-painike luodaksesi lämpötila-anturin pinniin 6.
Lämpötila-anturi luodaan ja se näkyy anturilistassa.
-
Ohjelmoi lämpötila-anturisovellus
Nyt voit ohjelmoida lämpötila-anturisovelluksen käyttämällä CounterFit-antureita.
Tehtävä - ohjelmoi lämpötila-anturisovellus
Ohjelmoi lämpötila-anturisovellus.
-
Varmista, että
temperature-sensor
-sovellus on auki VS Codessa. -
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_seeed_python_dht import DHT
from seeed_dht import DHT
-lause tuoDHT
-anturiklassin, jonka avulla voidaan käyttää virtuaalista Grove-lämpötila-anturiacounterfit_shims_seeed_python_dht
-moduulin shimin kautta. -
Lisää seuraava koodi edellisen koodin jälkeen luodaksesi instanssin, joka hallitsee virtuaalista kosteus- ja lämpötila-anturia:
sensor = DHT("11", 5)
Tämä määrittää
DHT
-luokan instanssin, joka hallitsee virtuaalista DigitaaliHumidity ja Temperature -anturia. Ensimmäinen parametri kertoo koodille, että käytettävä anturi on virtuaalinen DHT11-anturi. Toinen parametri kertoo koodille, että anturi on kytketty porttiin5
.💁 CounterFit simuloi tätä yhdistettyä kosteus- ja lämpötila-anturia yhdistämällä kahteen anturiin: kosteusanturiin annetussa pinnissä ja lämpötila-anturiin, joka toimii seuraavassa pinnissä. Jos kosteusanturi on pinnissä 5, shim odottaa lämpötila-anturin olevan pinnissä 6.
-
Lisää loputon silmukka edellisen koodin jälkeen, jotta lämpötila-anturin arvo voidaan kysyä ja tulostaa konsoliin:
while True: _, temp = sensor.read() print(f'Temperature {temp}°C')
Kutsu
sensor.read()
palauttaa tuplen, joka sisältää kosteuden ja lämpötilan. Tarvitset vain lämpötilan arvon, joten kosteusarvo jätetään huomiotta. Lämpötilan arvo tulostetaan sitten konsoliin. -
Lisää pieni kymmenen sekunnin viive silmukan loppuun, koska lämpötilatasoja ei tarvitse tarkistaa jatkuvasti. Viive vähentää laitteen virrankulutusta.
time.sleep(10)
-
Suorita seuraava komento aktivoidussa virtuaaliympäristössä VS Coden terminaalista ajaaksesi Python-sovelluksesi:
python app.py
-
Muuta CounterFit-sovelluksessa lämpötila-anturin arvoa, jonka sovellus lukee. Voit tehdä tämän kahdella tavalla:
-
Syötä numero Value-kenttään lämpötila-anturia varten 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ä.
Näet konsolissa arvot, jotka olet asettanut. Muuta Value- tai Random-asetuksia nähdäksesi arvon muuttuvan.
(.venv) ➜ temperature-sensor python app.py Temperature 28.25°C Temperature 30.71°C Temperature 25.17°C
-
💁 Löydät tämän koodin code-temperature/virtual-device -kansiosta.
😀 Lämpötila-anturiohjelmasi 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äistä asiakirjaa 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ä.