You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/lt/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md

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.

  1. Sukurkite naują Python programą savo kompiuteryje aplanke temperature-sensor su vienu failu, pavadintu app.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.

  2. Į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
    
  3. Įsitikinkite, kad CounterFit žiniatinklio programa veikia.

  4. Sukurkite drėgmės jutiklį:

    1. Laukelyje Create sensor skiltyje Sensors išskleidžiamajame meniu Sensor type pasirinkite Humidity.

    2. Palikite Units nustatytus kaip Percentage.

    3. Įsitikinkite, kad Pin nustatytas į 5.

    4. Paspauskite mygtuką Add, kad sukurtumėte drėgmės jutiklį ant 5 kaiščio.

    Drėgmės jutiklio nustatymai

    Drėgmės jutiklis bus sukurtas ir pasirodys jutiklių sąraše.

    Sukurtas drėgmės jutiklis

  5. Sukurkite temperatūros jutiklį:

    1. Laukelyje Create sensor skiltyje Sensors išskleidžiamajame meniu Sensor type pasirinkite Temperature.

    2. Palikite Units nustatytus kaip Celsius.

    3. Įsitikinkite, kad Pin nustatytas į 6.

    4. Paspauskite mygtuką Add, kad sukurtumėte temperatūros jutiklį ant 6 kaiščio.

    Temperatūros jutiklio nustatymai

    Temperatūros jutiklis bus sukurtas ir pasirodys jutiklių sąraše.

    Sukurtas temperatūros jutiklis

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ą.

  1. Įsitikinkite, kad temperature-sensor programa atidaryta VS Code.

  2. Atidarykite app.py failą.

  3. Pridėkite šį kodą į app.py viršų, kad prijungtumėte programą prie CounterFit:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. 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ė importuoja DHT jutiklio klasę, skirtą sąveikai su virtualiu Grove temperatūros jutikliu, naudojant shim iš counterfit_shims_seeed_python_dht modulio.

  5. 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.

  6. 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.

  7. 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)
    
  8. VS Code terminale su aktyvuota virtualia aplinka paleiskite šią komandą, kad paleistumėte savo Python programą:

    python app.py
    
  9. 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.