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/sl/2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md

7.3 KiB

Merjenje temperature - Virtualna IoT strojna oprema

V tem delu lekcije boste svoji virtualni IoT napravi dodali temperaturni senzor.

Virtualna strojna oprema

Virtualna IoT naprava bo uporabljala simuliran senzor Grove Digital Humidity and Temperature. To omogoča, da je ta laboratorijska vaja enaka kot uporaba Raspberry Pi z fizičnim senzorjem Grove DHT11.

Senzor združuje temperaturni senzor in senzor vlage, vendar se v tej lekciji osredotočate le na komponento temperaturnega senzorja. Pri fizični IoT napravi bi bil temperaturni senzor termistor, ki meri temperaturo z zaznavanjem spremembe upornosti ob spremembi temperature. Temperaturni senzorji so običajno digitalni senzorji, ki interno pretvorijo izmerjeno upornost v temperaturo v stopinjah Celzija (ali Kelvina, ali Fahrenheita).

Dodajanje senzorjev v CounterFit

Za uporabo virtualnega senzorja vlage in temperature morate dodati oba senzorja v aplikacijo CounterFit.

Naloga - dodajanje senzorjev v CounterFit

Dodajte senzorje vlage in temperature v aplikacijo CounterFit.

  1. Na svojem računalniku ustvarite novo Python aplikacijo v mapi temperature-sensor z eno datoteko app.py, virtualnim Python okoljem in dodajte CounterFit pip pakete.

    ⚠️ Če potrebujete, si lahko ogledate navodila za ustvarjanje in nastavitev CounterFit Python projekta v lekciji 1.

  2. Namestite dodatni Pip paket za namestitev CounterFit shima za senzor DHT11. Poskrbite, da to namestite iz terminala z aktiviranim virtualnim okoljem.

    pip install counterfit-shims-seeed-python-dht
    
  3. Poskrbite, da aplikacija CounterFit web deluje.

  4. Ustvarite senzor vlage:

    1. V polju Create sensor v razdelku Sensors izberite Sensor type in nastavite na Humidity.

    2. Pustite Units nastavljene na Percentage.

    3. Poskrbite, da je Pin nastavljen na 5.

    4. Kliknite gumb Add, da ustvarite senzor vlage na pinu 5.

    Nastavitve senzorja vlage

    Senzor vlage bo ustvarjen in se bo pojavil na seznamu senzorjev.

    Ustvarjen senzor vlage

  5. Ustvarite senzor temperature:

    1. V polju Create sensor v razdelku Sensors izberite Sensor type in nastavite na Temperature.

    2. Pustite Units nastavljene na Celsius.

    3. Poskrbite, da je Pin nastavljen na 6.

    4. Kliknite gumb Add, da ustvarite senzor temperature na pinu 6.

    Nastavitve senzorja temperature

    Senzor temperature bo ustvarjen in se bo pojavil na seznamu senzorjev.

    Ustvarjen senzor temperature

Programiranje aplikacije za senzor temperature

Aplikacijo za senzor temperature lahko zdaj programirate z uporabo senzorjev CounterFit.

Naloga - programiranje aplikacije za senzor temperature

Programirajte aplikacijo za senzor temperature.

  1. Poskrbite, da je aplikacija temperature-sensor odprta v VS Code.

  2. Odprite datoteko app.py.

  3. Dodajte naslednjo kodo na vrh datoteke app.py, da povežete aplikacijo s CounterFit:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. Dodajte naslednjo kodo v datoteko app.py, da uvozite potrebne knjižnice:

    import time
    from counterfit_shims_seeed_python_dht import DHT
    

    Izjava from seeed_dht import DHT uvozi razred DHT za interakcijo z virtualnim senzorjem Grove temperature z uporabo shima iz modula counterfit_shims_seeed_python_dht.

  5. Dodajte naslednjo kodo za zgornjo kodo, da ustvarite instanco razreda, ki upravlja virtualni senzor vlage in temperature:

    sensor = DHT("11", 5)
    

    To deklarira instanco razreda DHT, ki upravlja virtualni Digitalni Humidity in Temperature senzor. Prvi parameter pove kodi, da se uporablja virtualni senzor DHT11. Drugi parameter pove kodi, da je senzor povezan na port 5.

    💁 CounterFit simulira ta kombinirani senzor vlage in temperature z povezovanjem na 2 senzorja, senzor vlage na pinu, ki je podan ob ustvarjanju razreda DHT, in senzor temperature, ki deluje na naslednjem pinu. Če je senzor vlage na pinu 5, shim pričakuje, da je senzor temperature na pinu 6.

  6. Dodajte neskončno zanko za zgornjo kodo, da preverjate vrednost senzorja temperature in jo izpišete v konzolo:

    while True:
        _, temp = sensor.read()
        print(f'Temperature {temp}°C')
    

    Klic sensor.read() vrne tuple z vrednostmi vlage in temperature. Potrebujete le vrednost temperature, zato vrednost vlage ignorirate. Vrednost temperature se nato izpiše v konzolo.

  7. Na koncu zanke dodajte kratek premor desetih sekund, saj ni potrebno neprekinjeno preverjati ravni temperature. Premor zmanjša porabo energije naprave.

    time.sleep(10)
    
  8. Iz terminala v VS Code z aktiviranim virtualnim okoljem zaženite naslednje, da zaženete svojo Python aplikacijo:

    python app.py
    
  9. V aplikaciji CounterFit spremenite vrednost senzorja temperature, ki jo bo aplikacija prebrala. To lahko storite na dva načina:

    • Vnesite številko v polje Value za senzor temperature in kliknite gumb Set. Številka, ki jo vnesete, bo vrednost, ki jo senzor vrne.

    • Označite polje Random, vnesite Min in Max vrednost, nato kliknite gumb Set. Vsakič, ko senzor prebere vrednost, bo prebral naključno številko med Min in Max.

    V konzoli bi morali videti vrednosti, ki ste jih nastavili. Spremenite Value ali nastavitve Random, da vidite spremembo vrednosti.

    (.venv) ➜  temperature-sensor python app.py
    Temperature 28.25°C
    Temperature 30.71°C
    Temperature 25.17°C
    

💁 To kodo lahko najdete v mapi code-temperature/virtual-device.

😀 Vaš program za senzor temperature je bil uspešen!


Omejitev odgovornosti:
Ta dokument je bil preveden z uporabo storitve za prevajanje z umetno inteligenco Co-op Translator. Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo profesionalni prevod s strani človeka. Ne prevzemamo odgovornosti za morebitne nesporazume ali napačne razlage, ki bi nastale zaradi uporabe tega prevoda.