7.4 KiB
Mjerenje temperature - Virtualni IoT uređaj
U ovom dijelu lekcije dodati ćete senzor temperature svom virtualnom IoT uređaju.
Virtualni hardver
Virtualni IoT uređaj koristit će simulirani Grove Digital Humidity and Temperature senzor. Ovo omogućuje da laboratorij ostane isti kao korištenje Raspberry Pi uređaja s fizičkim Grove DHT11 senzorom.
Senzor kombinira senzor temperature s senzorom vlage, ali u ovom laboratoriju zanima vas samo komponenta senzora temperature. Na fizičkom IoT uređaju, senzor temperature bio bi termistor koji mjeri temperaturu osjetivši promjenu otpora kako se temperatura mijenja. Senzori temperature obično su digitalni senzori koji interno pretvaraju izmjereni otpor u temperaturu u stupnjevima Celzija (ili Kelvina, ili Fahrenheita).
Dodavanje senzora u CounterFit
Za korištenje virtualnog senzora vlage i temperature, potrebno je dodati dva senzora u CounterFit aplikaciju.
Zadatak - dodavanje senzora u CounterFit
Dodajte senzore vlage i temperature u CounterFit aplikaciju.
-
Kreirajte novu Python aplikaciju na svom računalu u mapi nazvanoj
temperature-sensor
s jednim datotekama nazvanimapp.py
i Python virtualnim okruženjem, te dodajte CounterFit pip pakete.⚠️ Možete se referirati na upute za kreiranje i postavljanje CounterFit Python projekta u lekciji 1 ako je potrebno.
-
Instalirajte dodatni Pip paket za instalaciju CounterFit shima za DHT11 senzor. Pobrinite se da ovo instalirate iz terminala s aktiviranim virtualnim okruženjem.
pip install counterfit-shims-seeed-python-dht
-
Pobrinite se da je CounterFit web aplikacija pokrenuta.
-
Kreirajte senzor vlage:
-
U okviru Create sensor u Sensors panelu, otvorite padajući izbornik Sensor type i odaberite Humidity.
-
Ostavite Units postavljen na Percentage.
-
Pobrinite se da je Pin postavljen na 5.
-
Odaberite gumb Add za kreiranje senzora vlage na pinu 5.
Senzor vlage će biti kreiran i pojavit će se na popisu senzora.
-
-
Kreirajte senzor temperature:
-
U okviru Create sensor u Sensors panelu, otvorite padajući izbornik Sensor type i odaberite Temperature.
-
Ostavite Units postavljen na Celsius.
-
Pobrinite se da je Pin postavljen na 6.
-
Odaberite gumb Add za kreiranje senzora temperature na pinu 6.
Senzor temperature će biti kreiran i pojavit će se na popisu senzora.
-
Programiranje aplikacije za senzor temperature
Aplikacija za senzor temperature sada se može programirati koristeći CounterFit senzore.
Zadatak - programiranje aplikacije za senzor temperature
Programirajte aplikaciju za senzor temperature.
-
Pobrinite se da je aplikacija
temperature-sensor
otvorena u VS Code-u. -
Otvorite datoteku
app.py
. -
Dodajte sljedeći kod na vrh datoteke
app.py
za povezivanje aplikacije s CounterFit-om:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
Dodajte sljedeći kod u datoteku
app.py
za uvoz potrebnih biblioteka:import time from counterfit_shims_seeed_python_dht import DHT
Izjava
from seeed_dht import DHT
uvozi klasuDHT
senzora za interakciju s virtualnim Grove senzorom temperature koristeći shim iz modulacounterfit_shims_seeed_python_dht
. -
Dodajte sljedeći kod nakon prethodnog za kreiranje instance klase koja upravlja virtualnim senzorom vlage i temperature:
sensor = DHT("11", 5)
Ovo deklarira instancu klase
DHT
koja upravlja virtualnim Digitalnim Humidity i Temperature senzorom. Prvi parametar govori kodu da se koristi virtualni DHT11 senzor. Drugi parametar govori kodu da je senzor povezan na port5
.💁 CounterFit simulira ovaj kombinirani senzor vlage i temperature povezivanjem na 2 senzora, senzor vlage na pinu koji je naveden prilikom kreiranja klase
DHT
, i senzor temperature koji radi na sljedećem pinu. Ako je senzor vlage na pinu 5, shim očekuje da je senzor temperature na pinu 6. -
Dodajte beskonačnu petlju nakon prethodnog koda za očitavanje vrijednosti senzora temperature i ispis na konzolu:
while True: _, temp = sensor.read() print(f'Temperature {temp}°C')
Poziv
sensor.read()
vraća tuple s vrijednostima vlage i temperature. Potrebna vam je samo vrijednost temperature, pa se vlaga ignorira. Vrijednost temperature se zatim ispisuje na konzolu. -
Dodajte kratku pauzu od deset sekundi na kraju petlje jer razine temperature ne trebaju biti kontinuirano provjeravane. Pauza smanjuje potrošnju energije uređaja.
time.sleep(10)
-
Iz terminala u VS Code-u s aktiviranim virtualnim okruženjem, pokrenite sljedeće za pokretanje vaše Python aplikacije:
python app.py
-
U CounterFit aplikaciji promijenite vrijednost senzora temperature koju će aplikacija očitavati. To možete učiniti na dva načina:
-
Unesite broj u okvir Value za senzor temperature, zatim odaberite gumb Set. Broj koji unesete bit će vrijednost koju senzor vraća.
-
Označite Random checkbox i unesite Min i Max vrijednosti, zatim odaberite gumb Set. Svaki put kada senzor očita vrijednost, očitat će nasumičan broj između Min i Max.
Trebali biste vidjeti vrijednosti koje ste postavili kako se pojavljuju na konzoli. Promijenite Value ili postavke Random da biste vidjeli promjenu vrijednosti.
(.venv) ➜ temperature-sensor python app.py Temperature 28.25°C Temperature 30.71°C Temperature 25.17°C
-
💁 Ovaj kod možete pronaći u mapi code-temperature/virtual-device.
😀 Vaš program za senzor temperature bio je uspješan!
Odricanje od odgovornosti:
Ovaj dokument je preveden pomoću AI usluge za prevođenje Co-op Translator. Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane ljudskog prevoditelja. Ne preuzimamo odgovornost za nesporazume ili pogrešne interpretacije koje mogu proizaći iz korištenja ovog prijevoda.