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/single-board-computer-temp-...

71 lines
5.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "4efc74299e19f5d08f2f3f34451a11ba",
"translation_date": "2025-08-28T18:10:04+00:00",
"source_file": "2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md",
"language_code": "uk"
}
-->
# Публікація температури - Віртуальне 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). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.