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

7.5 KiB

Měření teploty - Virtuální IoT hardware

V této části lekce přidáte teplotní senzor do svého virtuálního IoT zařízení.

Virtuální hardware

Virtuální IoT zařízení bude používat simulovaný senzor Grove Digital Humidity and Temperature. Tento přístup udržuje tento lab stejný jako při použití Raspberry Pi s fyzickým senzorem Grove DHT11.

Senzor kombinuje teplotní senzor a senzor vlhkosti, ale v tomto labu vás zajímá pouze komponenta teplotního senzoru. U fyzického IoT zařízení by teplotní senzor byl termistor, který měří teplotu na základě změny odporu při změně teploty. Teplotní senzory jsou obvykle digitální senzory, které interně převádějí naměřený odpor na teplotu ve stupních Celsia (nebo Kelvina, nebo Fahrenheita).

Přidání senzorů do CounterFit

Pro použití virtuálního senzoru vlhkosti a teploty je třeba přidat tyto dva senzory do aplikace CounterFit.

Úkol - přidání senzorů do CounterFit

Přidejte senzory vlhkosti a teploty do aplikace CounterFit.

  1. Vytvořte novou Python aplikaci na svém počítači ve složce temperature-sensor s jediným souborem app.py a Python virtuálním prostředím, a přidejte CounterFit pip balíčky.

    ⚠️ Můžete se odkázat na instrukce pro vytvoření a nastavení CounterFit Python projektu v lekci 1, pokud je to potřeba.

  2. Nainstalujte další Pip balíček pro instalaci CounterFit shim pro senzor DHT11. Ujistěte se, že instalaci provádíte z terminálu s aktivovaným virtuálním prostředím.

    pip install counterfit-shims-seeed-python-dht
    
  3. Ujistěte se, že webová aplikace CounterFit běží.

  4. Vytvořte senzor vlhkosti:

    1. V poli Create sensor v panelu Sensors rozbalte pole Sensor type a vyberte Humidity.

    2. Nechte Units nastavené na Percentage.

    3. Ujistěte se, že Pin je nastaven na 5.

    4. Klikněte na tlačítko Add pro vytvoření senzoru vlhkosti na pinu 5.

    Nastavení senzoru vlhkosti

    Senzor vlhkosti bude vytvořen a objeví se v seznamu senzorů.

    Vytvořený senzor vlhkosti

  5. Vytvořte teplotní senzor:

    1. V poli Create sensor v panelu Sensors rozbalte pole Sensor type a vyberte Temperature.

    2. Nechte Units nastavené na Celsius.

    3. Ujistěte se, že Pin je nastaven na 6.

    4. Klikněte na tlačítko Add pro vytvoření teplotního senzoru na pinu 6.

    Nastavení teplotního senzoru

    Teplotní senzor bude vytvořen a objeví se v seznamu senzorů.

    Vytvořený teplotní senzor

Naprogramování aplikace pro teplotní senzor

Nyní můžete naprogramovat aplikaci pro teplotní senzor pomocí senzorů CounterFit.

Úkol - naprogramování aplikace pro teplotní senzor

Naprogramujte aplikaci pro teplotní senzor.

  1. Ujistěte se, že aplikace temperature-sensor je otevřená ve VS Code.

  2. Otevřete soubor app.py.

  3. Přidejte následující kód na začátek souboru app.py pro připojení aplikace k CounterFit:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. Přidejte následující kód do souboru app.py pro import potřebných knihoven:

    import time
    from counterfit_shims_seeed_python_dht import DHT
    

    Příkaz from seeed_dht import DHT importuje třídu DHT pro interakci s virtuálním Grove teplotním senzorem pomocí shim z modulu counterfit_shims_seeed_python_dht.

  5. Přidejte následující kód za výše uvedený kód pro vytvoření instance třídy, která spravuje virtuální senzor vlhkosti a teploty:

    sensor = DHT("11", 5)
    

    Tento kód deklaruje instanci třídy DHT, která spravuje virtuální Digitální Humidity a Temperature senzor. První parametr říká kódu, že použitý senzor je virtuální senzor DHT11. Druhý parametr říká kódu, že senzor je připojen k portu 5.

    💁 CounterFit simuluje tento kombinovaný senzor vlhkosti a teploty připojením ke dvěma senzorům: senzoru vlhkosti na pinu uvedeném při vytvoření třídy DHT a teplotnímu senzoru, který běží na dalším pinu. Pokud je senzor vlhkosti na pinu 5, shim očekává, že teplotní senzor bude na pinu 6.

  6. Přidejte nekonečnou smyčku za výše uvedený kód pro čtení hodnoty teplotního senzoru a její výpis do konzole:

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

    Volání sensor.read() vrací dvojici hodnot vlhkosti a teploty. Potřebujete pouze hodnotu teploty, takže vlhkost je ignorována. Hodnota teploty je poté vypsána do konzole.

  7. Přidejte na konec smyčky krátkou pauzu deset sekund, protože není nutné kontrolovat úroveň teploty neustále. Pauza snižuje spotřebu energie zařízení.

    time.sleep(10)
    
  8. Z terminálu ve VS Code s aktivovaným virtuálním prostředím spusťte následující příkaz pro spuštění vaší Python aplikace:

    python app.py
    
  9. V aplikaci CounterFit změňte hodnotu teplotního senzoru, kterou bude aplikace číst. Můžete to udělat dvěma způsoby:

    • Zadejte číslo do pole Value pro teplotní senzor a poté klikněte na tlačítko Set. Číslo, které zadáte, bude hodnota vrácená senzorem.

    • Zaškrtněte políčko Random a zadejte hodnoty Min a Max, poté klikněte na tlačítko Set. Při každém čtení hodnoty senzoru se přečte náhodné číslo mezi Min a Max.

    Měli byste vidět hodnoty, které jste nastavili, objevující se v konzoli. Změňte Value nebo nastavení Random, abyste viděli změnu hodnoty.

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

💁 Tento kód najdete ve složce code-temperature/virtual-device.

😀 Vaše aplikace pro teplotní senzor byla úspěšně vytvořena!


Prohlášení:
Tento dokument byl přeložen pomocí služby pro automatický překlad Co-op Translator. Ačkoli se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.