7.8 KiB
Matuokite temperatūrą - Virtuali IoT Aparatūra
Šioje pamokos dalyje pridėsite temperatūros jutiklį prie savo virtualaus IoT įrenginio.
Virtuali Aparatūra
Virtualus IoT įrenginys naudos simuliuotą Grove skaitmeninį drėgmės ir temperatūros jutiklį. Tai leidžia šį laboratorinį darbą atlikti taip pat, kaip naudojant Raspberry Pi su fiziniu Grove DHT11 jutikliu.
Jutiklis sujungia temperatūros jutiklį su drėgmės jutikliu, tačiau šioje laboratorijoje jus domina tik temperatūros jutiklio komponentas. Fizinėje IoT įrangoje temperatūros jutiklis būtų termistorius, kuris matuoja temperatūrą, fiksuodamas varžos pokyčius keičiantis temperatūrai. Temperatūros jutikliai dažniausiai yra skaitmeniniai ir viduje konvertuoja išmatuotą varžą į temperatūrą Celsijaus (arba Kelvino, arba Farenheito) laipsniais.
Pridėkite jutiklius prie CounterFit
Norėdami naudoti virtualų drėgmės ir temperatūros jutiklį, turite pridėti abu jutiklius prie CounterFit programos.
Užduotis - pridėkite jutiklius prie CounterFit
Pridėkite drėgmės ir temperatūros jutiklius prie CounterFit programos.
-
Sukurkite naują Python programą savo kompiuteryje aplanke
temperature-sensor
su vienu failu, pavadintuapp.py
, ir Python virtualią aplinką, tada pridėkite CounterFit pip paketus.⚠️ Jei reikia, galite pasinaudoti instrukcijomis, kaip sukurti ir nustatyti CounterFit Python projektą 1-oje pamokoje.
-
Įdiekite papildomą Pip paketą, kad įdiegtumėte CounterFit shim DHT11 jutikliui. Įsitikinkite, kad tai darote terminale su aktyvuota virtualia aplinka.
pip install counterfit-shims-seeed-python-dht
-
Įsitikinkite, kad CounterFit žiniatinklio programa veikia.
-
Sukurkite drėgmės jutiklį:
-
Laukelyje Create sensor skiltyje Sensors išskleidžiamajame meniu Sensor type pasirinkite Humidity.
-
Palikite Units nustatytus kaip Percentage.
-
Įsitikinkite, kad Pin nustatytas į 5.
-
Paspauskite mygtuką Add, kad sukurtumėte drėgmės jutiklį ant 5 kaiščio.
Drėgmės jutiklis bus sukurtas ir pasirodys jutiklių sąraše.
-
-
Sukurkite temperatūros jutiklį:
-
Laukelyje Create sensor skiltyje Sensors išskleidžiamajame meniu Sensor type pasirinkite Temperature.
-
Palikite Units nustatytus kaip Celsius.
-
Įsitikinkite, kad Pin nustatytas į 6.
-
Paspauskite mygtuką Add, kad sukurtumėte temperatūros jutiklį ant 6 kaiščio.
Temperatūros jutiklis bus sukurtas ir pasirodys jutiklių sąraše.
-
Programuokite temperatūros jutiklio programą
Dabar galima programuoti temperatūros jutiklio programą naudojant CounterFit jutiklius.
Užduotis - programuokite temperatūros jutiklio programą
Programuokite temperatūros jutiklio programą.
-
Įsitikinkite, kad
temperature-sensor
programa atidaryta VS Code. -
Atidarykite
app.py
failą. -
Pridėkite šį kodą į
app.py
viršų, kad prijungtumėte programą prie CounterFit:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
Pridėkite šį kodą į
app.py
failą, kad importuotumėte reikalingas bibliotekas:import time from counterfit_shims_seeed_python_dht import DHT
from seeed_dht import DHT
eilutė importuojaDHT
jutiklio klasę, skirtą sąveikai su virtualiu Grove temperatūros jutikliu, naudojant shim išcounterfit_shims_seeed_python_dht
modulio. -
Pridėkite šį kodą po aukščiau esančio kodo, kad sukurtumėte klasės egzempliorių, kuris valdo virtualų drėgmės ir temperatūros jutiklį:
sensor = DHT("11", 5)
Tai deklaruoja
DHT
klasės egzempliorių, kuris valdo virtualų Digital Humidity ir Temperature jutiklį. Pirmasis parametras nurodo, kad naudojamas virtualus DHT11 jutiklis. Antrasis parametras nurodo, kad jutiklis prijungtas prie 5 prievado.💁 CounterFit simuliuoja šį kombinuotą drėgmės ir temperatūros jutiklį, prijungdamas prie 2 jutiklių: drėgmės jutiklio ant nurodyto kaiščio, kai
DHT
klasė sukuriama, ir temperatūros jutiklio, kuris veikia ant kito kaiščio. Jei drėgmės jutiklis yra ant 5 kaiščio, shim tikisi, kad temperatūros jutiklis bus ant 6 kaiščio. -
Pridėkite begalinę kilpą po aukščiau esančio kodo, kad nuskaitytumėte temperatūros jutiklio reikšmę ir atspausdintumėte ją konsolėje:
while True: _, temp = sensor.read() print(f'Temperature {temp}°C')
sensor.read()
iškvietimas grąžina drėgmės ir temperatūros duomenų rinkinį. Jums reikia tik temperatūros reikšmės, todėl drėgmė ignoruojama. Temperatūros reikšmė tada atspausdinama konsolėje. -
Pridėkite trumpą dešimties sekundžių pauzę kilpos pabaigoje, nes temperatūros lygiai neturi būti tikrinami nuolat. Pauzė sumažina įrenginio energijos suvartojimą.
time.sleep(10)
-
VS Code terminale su aktyvuota virtualia aplinka paleiskite šią komandą, kad paleistumėte savo Python programą:
python app.py
-
CounterFit programoje pakeiskite temperatūros jutiklio reikšmę, kurią programa nuskaitys. Tai galite padaryti dviem būdais:
-
Įveskite skaičių į Value laukelį temperatūros jutikliui, tada paspauskite mygtuką Set. Įvestas skaičius bus reikšmė, kurią grąžins jutiklis.
-
Pažymėkite Random žymimąjį laukelį ir įveskite Min bei Max reikšmes, tada paspauskite mygtuką Set. Kiekvieną kartą, kai jutiklis nuskaitys reikšmę, ji bus atsitiktinis skaičius tarp Min ir Max.
Konsolėje turėtumėte matyti jūsų nustatytas reikšmes. Pakeiskite Value arba Random nustatymus, kad pamatytumėte, kaip keičiasi reikšmės.
(.venv) ➜ temperature-sensor python app.py Temperature 28.25°C Temperature 30.71°C Temperature 25.17°C
-
💁 Šį kodą galite rasti code-temperature/virtual-device aplanke.
😀 Jūsų temperatūros jutiklio programa pavyko!
Atsakomybės apribojimas:
Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą Co-op Translator. Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Kritinei informacijai rekomenduojama naudoti profesionalų žmogaus vertimą. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus interpretavimus, atsiradusius dėl šio vertimo naudojimo.