5.6 KiB
Публикация температуры - Виртуальное IoT-устройство и Raspberry Pi
В этой части урока вы будете публиковать значения температуры, обнаруженные Raspberry Pi или виртуальным IoT-устройством через MQTT, чтобы их можно было использовать позже для расчета GDD.
Публикация температуры
После того как температура была считана, ее можно опубликовать через MQTT в некоторый "серверный" код, который будет считывать значения и сохранять их для последующего использования в расчете GDD.
Задача - публикация температуры
Программируйте устройство для публикации данных о температуре.
-
Откройте проект приложения
temperature-sensor
, если он еще не открыт. -
Повторите шаги, которые вы выполняли в уроке 4, чтобы подключиться к MQTT и отправить телеметрию. Вы будете использовать тот же публичный брокер Mosquitto.
Шаги для этого:
- Добавьте пакет pip для MQTT
- Добавьте код для подключения к брокеру MQTT
- Добавьте код для публикации телеметрии
⚠️ Обратитесь к инструкциям по подключению к MQTT и инструкциям по отправке телеметрии из урока 4, если потребуется.
-
Убедитесь, что
client_name
отражает название этого проекта:client_name = id + 'temperature_sensor_client'
-
Для телеметрии вместо отправки значения освещенности отправьте значение температуры, считанное с датчика DHT, в свойстве JSON-документа под названием
temperature
:_, temp = sensor.read() telemetry = json.dumps({'temperature' : temp})
-
Значение температуры не нужно считывать слишком часто — оно не будет сильно меняться за короткий промежуток времени, поэтому установите
time.sleep
на 10 минут:time.sleep(10 * 60);
💁 Функция
sleep
принимает время в секундах, поэтому для удобства чтения значение передается как результат вычисления. 60 секунд в минуте, поэтому 10 x (60 секунд в минуте) дает задержку в 10 минут. -
Запустите код так же, как вы запускали код из предыдущей части задания. Если вы используете виртуальное IoT-устройство, убедитесь, что приложение CounterFit запущено, а датчики влажности и температуры созданы на правильных пинах.
pi@raspberrypi:~/temperature-sensor $ python3 app.py MQTT connected! Sending telemetry {"temperature": 25} Sending telemetry {"temperature": 25}
💁 Вы можете найти этот код в папке code-publish-temperature/virtual-device или в папке code-publish-temperature/pi.
😀 Вы успешно опубликовали температуру как телеметрию с вашего устройства.
Отказ от ответственности:
Этот документ был переведен с использованием сервиса автоматического перевода Co-op Translator. Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникающие в результате использования данного перевода.