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

12 KiB

Измерение температуры - Виртуальное IoT-устройство

В этой части урока вы добавите датчик температуры к вашему виртуальному IoT-устройству.

Виртуальное оборудование

Виртуальное IoT-устройство будет использовать симулированный датчик Grove Digital Humidity and Temperature. Это позволяет сохранить лабораторную работу аналогичной работе с Raspberry Pi и физическим датчиком Grove DHT11.

Датчик объединяет датчик температуры и датчик влажности, но в этом уроке вас интересует только компонент датчика температуры. В физическом IoT-устройстве датчик температуры обычно представляет собой термистор, который измеряет температуру, фиксируя изменение сопротивления при изменении температуры. Датчики температуры обычно являются цифровыми и внутренне преобразуют измеренное сопротивление в температуру в градусах Цельсия (или Кельвина, или Фаренгейта).

Добавление датчиков в CounterFit

Чтобы использовать виртуальный датчик влажности и температуры, необходимо добавить два датчика в приложение CounterFit.

Задача - добавление датчиков в CounterFit

Добавьте датчики влажности и температуры в приложение CounterFit.

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

    ⚠️ Вы можете обратиться к инструкциям по созданию и настройке проекта 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 and Temperature датчиком. Первый параметр указывает, что используется виртуальный датчик DHT11. Второй параметр указывает, что датчик подключен к порту 5.

    💁 CounterFit симулирует этот комбинированный датчик влажности и температуры, подключаясь к двум датчикам: датчику влажности на выводе, указанном при создании класса DHT, и датчику температуры, который работает на следующем выводе. Если датчик влажности находится на выводе 5, shim ожидает, что датчик температуры будет на выводе 6.

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

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

    Вызов sensor.read() возвращает кортеж с влажностью и температурой. Вам нужно только значение температуры, поэтому влажность игнорируется. Значение температуры затем выводится в консоль.

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

    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. Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникающие в результате использования данного перевода.