# Публікація температури - Віртуальне IoT обладнання та Raspberry Pi У цій частині уроку ви опублікуєте значення температури, зафіксовані Raspberry Pi або Віртуальним IoT пристроєм через MQTT, щоб їх можна було використати пізніше для розрахунку GDD. ## Публікація температури Після того, як температура була зчитана, її можна опублікувати через MQTT у код "сервера", який зчитуватиме значення та зберігатиме їх для подальшого використання у розрахунку GDD. ### Завдання - опублікувати температуру Програмуйте пристрій для публікації даних про температуру. 1. Відкрийте проєкт додатка `temperature-sensor`, якщо він ще не відкритий. 1. Повторіть кроки, які ви виконували в уроці 4, щоб підключитися до MQTT і надіслати телеметрію. Ви будете використовувати той самий публічний брокер Mosquitto. Кроки для цього: - Додайте пакет pip для MQTT - Додайте код для підключення до брокера MQTT - Додайте код для публікації телеметрії > ⚠️ Зверніться до [інструкцій щодо підключення до MQTT](../../../1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md) та [інструкцій щодо надсилання телеметрії](../../../1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md) з уроку 4, якщо це необхідно. 1. Переконайтеся, що `client_name` відображає назву цього проєкту: ```python client_name = id + 'temperature_sensor_client' ``` 1. Для телеметрії, замість надсилання значення освітлення, надішліть значення температури, зчитане з датчика DHT, у властивості JSON-документа під назвою `temperature`: ```python _, temp = sensor.read() telemetry = json.dumps({'temperature' : temp}) ``` 1. Значення температури не потрібно зчитувати дуже часто — воно не змінюється значно за короткий проміжок часу, тому встановіть `time.sleep` на 10 хвилин: ```cpp time.sleep(10 * 60); ``` > 💁 Функція `sleep` приймає час у секундах, тому для зручності читання значення передається як результат обчислення. 60 секунд у хвилині, тому 10 x (60 секунд у хвилині) дає затримку в 10 хвилин. 1. Запустіть код так само, як ви запускали код із попередньої частини завдання. Якщо ви використовуєте віртуальний IoT пристрій, переконайтеся, що додаток CounterFit запущений, а датчики вологості та температури створені на правильних пінах. ```output pi@raspberrypi:~/temperature-sensor $ python3 app.py MQTT connected! Sending telemetry {"temperature": 25} Sending telemetry {"temperature": 25} ``` > 💁 Ви можете знайти цей код у папці [code-publish-temperature/virtual-device](../../../../../2-farm/lessons/1-predict-plant-growth/code-publish-temperature/virtual-device) або [code-publish-temperature/pi](../../../../../2-farm/lessons/1-predict-plant-growth/code-publish-temperature/pi). 😀 Ви успішно опублікували температуру як телеметрію з вашого пристрою. --- **Відмова від відповідальності**: Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.