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

7.5 KiB

Meranie teploty - Virtuálny IoT hardvér

V tejto časti lekcie pridáte teplotný senzor k vášmu virtuálnemu IoT zariadeniu.

Virtuálny hardvér

Virtuálne IoT zariadenie bude používať simulovaný Grove Digital Humidity and Temperature senzor. To umožňuje, aby tento lab zostal rovnaký ako pri použití Raspberry Pi s fyzickým Grove DHT11 senzorom.

Senzor kombinuje teplotný senzor s senzorom vlhkosti, ale v tomto labu sa zameriate iba na komponent teplotného senzora. Vo fyzickom IoT zariadení by teplotný senzor bol termistor, ktorý meria teplotu na základe zmeny odporu pri zmene teploty. Teplotné senzory sú zvyčajne digitálne senzory, ktoré interne konvertujú nameraný odpor na teplotu v stupňoch Celzia (alebo Kelvina, alebo Fahrenheita).

Pridanie senzorov do CounterFit

Na použitie virtuálneho senzora vlhkosti a teploty je potrebné pridať tieto dva senzory do aplikácie CounterFit.

Úloha - pridanie senzorov do CounterFit

Pridajte senzory vlhkosti a teploty do aplikácie CounterFit.

  1. Vytvorte novú Python aplikáciu na vašom počítači v priečinku temperature-sensor s jediným súborom nazvaným app.py a Python virtuálnym prostredím, a pridajte CounterFit pip balíčky.

    ⚠️ Môžete sa odvolať na pokyny na vytvorenie a nastavenie CounterFit Python projektu v lekcii 1, ak je to potrebné.

  2. Nainštalujte ďalší Pip balíček na inštaláciu CounterFit shim pre DHT11 senzor. Uistite sa, že inštalujete z terminálu s aktivovaným virtuálnym prostredím.

    pip install counterfit-shims-seeed-python-dht
    
  3. Uistite sa, že webová aplikácia CounterFit je spustená.

  4. Vytvorte senzor vlhkosti:

    1. V poli Create sensor v paneli Sensors rozbaľte pole Sensor type a vyberte Humidity.

    2. Nechajte Units nastavené na Percentage.

    3. Uistite sa, že Pin je nastavený na 5.

    4. Kliknite na tlačidlo Add, aby ste vytvorili senzor vlhkosti na pine 5.

    Nastavenia senzora vlhkosti

    Senzor vlhkosti bude vytvorený a zobrazí sa v zozname senzorov.

    Vytvorený senzor vlhkosti

  5. Vytvorte teplotný senzor:

    1. V poli Create sensor v paneli Sensors rozbaľte pole Sensor type a vyberte Temperature.

    2. Nechajte Units nastavené na Celsius.

    3. Uistite sa, že Pin je nastavený na 6.

    4. Kliknite na tlačidlo Add, aby ste vytvorili teplotný senzor na pine 6.

    Nastavenia teplotného senzora

    Teplotný senzor bude vytvorený a zobrazí sa v zozname senzorov.

    Vytvorený teplotný senzor

Naprogramovanie aplikácie teplotného senzora

Aplikácia teplotného senzora môže byť teraz naprogramovaná pomocou senzorov CounterFit.

Úloha - naprogramovanie aplikácie teplotného senzora

Naprogramujte aplikáciu teplotného senzora.

  1. Uistite sa, že aplikácia temperature-sensor je otvorená vo VS Code.

  2. Otvorte súbor app.py.

  3. Pridajte nasledujúci kód na začiatok súboru app.py, aby ste pripojili aplikáciu k CounterFit:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. Pridajte nasledujúci kód do súboru app.py, aby ste importovali potrebné knižnice:

    import time
    from counterfit_shims_seeed_python_dht import DHT
    

    Príkaz from seeed_dht import DHT importuje triedu DHT na interakciu s virtuálnym Grove teplotným senzorom pomocou shim z modulu counterfit_shims_seeed_python_dht.

  5. Pridajte nasledujúci kód po vyššie uvedenom kóde na vytvorenie inštancie triedy, ktorá spravuje virtuálny senzor vlhkosti a teploty:

    sensor = DHT("11", 5)
    

    Toto deklaruje inštanciu triedy DHT, ktorá spravuje virtuálny Digital Humidity a Temperature senzor. Prvý parameter informuje kód, že používaný senzor je virtuálny DHT11 senzor. Druhý parameter informuje kód, že senzor je pripojený k portu 5.

    💁 CounterFit simuluje tento kombinovaný senzor vlhkosti a teploty pripojením k 2 senzorom, senzor vlhkosti na pine uvedenom pri vytvorení triedy DHT a teplotný senzor, ktorý beží na nasledujúcom pine. Ak je senzor vlhkosti na pine 5, shim očakáva teplotný senzor na pine 6.

  6. Pridajte nekonečnú slučku po vyššie uvedenom kóde na získanie hodnoty teplotného senzora a jej výpis do konzoly:

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

    Volanie sensor.read() vráti dvojicu hodnôt vlhkosti a teploty. Potrebujete iba hodnotu teploty, takže vlhkosť je ignorovaná. Hodnota teploty je potom vypísaná do konzoly.

  7. Pridajte krátku pauzu desať sekúnd na koniec loop, pretože úrovne teploty nie je potrebné kontrolovať nepretržite. Pauza znižuje spotrebu energie zariadenia.

    time.sleep(10)
    
  8. Z terminálu VS Code s aktivovaným virtuálnym prostredím spustite nasledujúci príkaz na spustenie vašej Python aplikácie:

    python app.py
    
  9. V aplikácii CounterFit zmeňte hodnotu teplotného senzora, ktorú aplikácia prečíta. Môžete to urobiť jedným z dvoch spôsobov:

    • Zadajte číslo do poľa Value pre teplotný senzor a potom kliknite na tlačidlo Set. Číslo, ktoré zadáte, bude hodnota vrátená senzorom.

    • Zaškrtnite políčko Random a zadajte hodnoty Min a Max, potom kliknite na tlačidlo Set. Pri každom čítaní hodnoty senzorom sa vráti náhodné číslo medzi Min a Max.

    Mali by ste vidieť hodnoty, ktoré ste nastavili, zobrazujúce sa v konzole. Zmeňte Value alebo nastavenia Random, aby ste videli zmenu hodnoty.

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

💁 Tento kód nájdete v priečinku code-temperature/virtual-device.

😀 Vaša aplikácia teplotného senzora bola úspešná!


Upozornenie:
Tento dokument bol preložený pomocou služby na automatický preklad Co-op Translator. Aj keď sa snažíme o presnosť, upozorňujeme, že automatické preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre dôležité informácie sa odporúča profesionálny ľudský preklad. Nezodpovedáme za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.