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