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

12 KiB

Вимірювання температури - Віртуальне IoT обладнання

У цій частині уроку ви додасте датчик температури до вашого віртуального IoT пристрою.

Віртуальне обладнання

Віртуальний IoT пристрій буде використовувати симульований датчик вологості та температури Grove Digital. Це дозволяє зберегти лабораторну роботу аналогічною до використання Raspberry Pi з фізичним датчиком Grove DHT11.

Датчик поєднує датчик температури з датчиком вологості, але в цьому лабораторному завданні вас цікавить лише компонент датчика температури. У фізичному IoT пристрої датчиком температури був би термістор, який вимірює температуру, визначаючи зміну опору при зміні температури. Датчики температури зазвичай є цифровими і внутрішньо перетворюють виміряний опір у температуру в градусах Цельсія (або Кельвіна, або Фаренгейта).

Додайте датчики до CounterFit

Щоб використовувати віртуальний датчик вологості та температури, вам потрібно додати два датчики до програми CounterFit.

Завдання - додати датчики до CounterFit

Додайте датчики вологості та температури до програми CounterFit.

  1. Створіть новий Python-додаток на вашому комп'ютері в папці temperature-sensor з одним файлом app.py і віртуальним середовищем Python, а також додайте пакети pip для CounterFit.

    ⚠️ Ви можете звернутися до інструкцій зі створення та налаштування CounterFit Python проекту в уроці 1, якщо це необхідно.

  2. Встановіть додатковий пакет Pip для встановлення CounterFit shim для датчика DHT11. Переконайтеся, що ви встановлюєте це з терміналу з активованим віртуальним середовищем.

    pip install counterfit-shims-seeed-python-dht
    
  3. Переконайтеся, що веб-додаток CounterFit запущений.

  4. Створіть датчик вологості:

    1. У полі Create sensor на панелі Sensors розгорніть поле Sensor type і виберіть Humidity.

    2. Залиште Units встановленими на Percentage.

    3. Переконайтеся, що Pin встановлено на 5.

    4. Натисніть кнопку Add, щоб створити датчик вологості на контакті 5.

    Налаштування датчика вологості

    Датчик вологості буде створено і з'явиться у списку датчиків.

    Створений датчик вологості

  5. Створіть датчик температури:

    1. У полі Create sensor на панелі Sensors розгорніть поле Sensor type і виберіть Temperature.

    2. Залиште Units встановленими на Celsius.

    3. Переконайтеся, що Pin встановлено на 6.

    4. Натисніть кнопку Add, щоб створити датчик температури на контакті 6.

    Налаштування датчика температури

    Датчик температури буде створено і з'явиться у списку датчиків.

    Створений датчик температури

Програмування додатка для датчика температури

Тепер можна запрограмувати додаток для датчика температури, використовуючи датчики CounterFit.

Завдання - програмування додатка для датчика температури

Програмуйте додаток для датчика температури.

  1. Переконайтеся, що додаток temperature-sensor відкритий у VS Code.

  2. Відкрийте файл app.py.

  3. Додайте наступний код на початок app.py, щоб підключити додаток до CounterFit:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. Додайте наступний код до файлу app.py, щоб імпортувати необхідні бібліотеки:

    import time
    from counterfit_shims_seeed_python_dht import DHT
    

    Оператор from seeed_dht import DHT імпортує клас DHT для взаємодії з віртуальним датчиком Grove температури, використовуючи shim з модуля counterfit_shims_seeed_python_dht.

  5. Додайте наступний код після попереднього, щоб створити екземпляр класу, який керує віртуальним датчиком вологості та температури:

    sensor = DHT("11", 5)
    

    Це оголошує екземпляр класу DHT, який керує віртуальним Digital Humidity та Temperature датчиком. Перший параметр повідомляє коду, що використовується віртуальний датчик DHT11. Другий параметр повідомляє коду, що датчик підключений до порту 5.

    💁 CounterFit симулює цей комбінований датчик вологості та температури, підключаючись до двох датчиків: датчика вологості на контакті, вказаному при створенні класу DHT, і датчика температури, який працює на наступному контакті. Якщо датчик вологості знаходиться на контакті 5, shim очікує, що датчик температури буде на контакті 6.

  6. Додайте нескінченний цикл після попереднього коду, щоб опитувати значення датчика температури та виводити його в консоль:

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

    Виклик sensor.read() повертає кортеж із значеннями вологості та температури. Вам потрібне лише значення температури, тому значення вологості ігнорується. Значення температури потім виводиться в консоль.

  7. Додайте невелику паузу тривалістю десять секунд наприкінці loop, оскільки рівні температури не потрібно перевіряти безперервно. Паузи зменшують споживання енергії пристроєм.

    time.sleep(10)
    
  8. У терміналі VS Code з активованим віртуальним середовищем виконайте наступне, щоб запустити ваш Python-додаток:

    python app.py
    
  9. У додатку CounterFit змініть значення датчика температури, яке буде зчитуватися додатком. Ви можете зробити це двома способами:

    • Введіть число в поле Value для датчика температури, а потім натисніть кнопку Set. Число, яке ви введете, буде значенням, яке повертає датчик.

    • Поставте галочку Random і введіть значення Min та Max, а потім натисніть кнопку Set. Кожного разу, коли датчик зчитує значення, він буде зчитувати випадкове число між Min та Max.

    Ви повинні побачити значення, які ви встановили, у консолі. Змініть Value або налаштування Random, щоб побачити зміну значення.

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

💁 Ви можете знайти цей код у папці code-temperature/virtual-device.

😀 Ваш додаток для датчика температури успішно працює!


Відмова від відповідальності:
Цей документ було перекладено за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, зверніть увагу, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.