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/virtual-device-temp.md

154 lines
12 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": "70e5a428b607cd5a9a4f422c2a4df03d",
"translation_date": "2025-08-28T18:10:36+00:00",
"source_file": "2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md",
"language_code": "uk"
}
-->
# Вимірювання температури - Віртуальне IoT обладнання
У цій частині уроку ви додасте датчик температури до вашого віртуального IoT пристрою.
## Віртуальне обладнання
Віртуальний IoT пристрій буде використовувати симульований датчик вологості та температури Grove Digital. Це дозволяє зберегти лабораторну роботу аналогічною до використання Raspberry Pi з фізичним датчиком Grove DHT11.
Датчик поєднує **датчик температури** з **датчиком вологості**, але в цьому лабораторному завданні вас цікавить лише компонент датчика температури. У фізичному IoT пристрої датчиком температури був би [термістор](https://wikipedia.org/wiki/Thermistor), який вимірює температуру, визначаючи зміну опору при зміні температури. Датчики температури зазвичай є цифровими і внутрішньо перетворюють виміряний опір у температуру в градусах Цельсія (або Кельвіна, або Фаренгейта).
### Додайте датчики до CounterFit
Щоб використовувати віртуальний датчик вологості та температури, вам потрібно додати два датчики до програми CounterFit.
#### Завдання - додати датчики до CounterFit
Додайте датчики вологості та температури до програми CounterFit.
1. Створіть новий Python-додаток на вашому комп'ютері в папці `temperature-sensor` з одним файлом `app.py` і віртуальним середовищем Python, а також додайте пакети pip для CounterFit.
> ⚠️ Ви можете звернутися до [інструкцій зі створення та налаштування CounterFit Python проекту в уроці 1, якщо це необхідно](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md).
1. Встановіть додатковий пакет Pip для встановлення CounterFit shim для датчика DHT11. Переконайтеся, що ви встановлюєте це з терміналу з активованим віртуальним середовищем.
```sh
pip install counterfit-shims-seeed-python-dht
```
1. Переконайтеся, що веб-додаток CounterFit запущений.
1. Створіть датчик вологості:
1. У полі *Create sensor* на панелі *Sensors* розгорніть поле *Sensor type* і виберіть *Humidity*.
1. Залиште *Units* встановленими на *Percentage*.
1. Переконайтеся, що *Pin* встановлено на *5*.
1. Натисніть кнопку **Add**, щоб створити датчик вологості на контакті 5.
![Налаштування датчика вологості](../../../../../translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.uk.png)
Датчик вологості буде створено і з'явиться у списку датчиків.
![Створений датчик вологості](../../../../../translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.uk.png)
1. Створіть датчик температури:
1. У полі *Create sensor* на панелі *Sensors* розгорніть поле *Sensor type* і виберіть *Temperature*.
1. Залиште *Units* встановленими на *Celsius*.
1. Переконайтеся, що *Pin* встановлено на *6*.
1. Натисніть кнопку **Add**, щоб створити датчик температури на контакті 6.
![Налаштування датчика температури](../../../../../translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.uk.png)
Датчик температури буде створено і з'явиться у списку датчиків.
![Створений датчик температури](../../../../../translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.uk.png)
## Програмування додатка для датчика температури
Тепер можна запрограмувати додаток для датчика температури, використовуючи датчики CounterFit.
### Завдання - програмування додатка для датчика температури
Програмуйте додаток для датчика температури.
1. Переконайтеся, що додаток `temperature-sensor` відкритий у VS Code.
1. Відкрийте файл `app.py`.
1. Додайте наступний код на початок `app.py`, щоб підключити додаток до CounterFit:
```python
from counterfit_connection import CounterFitConnection
CounterFitConnection.init('127.0.0.1', 5000)
```
1. Додайте наступний код до файлу `app.py`, щоб імпортувати необхідні бібліотеки:
```python
import time
from counterfit_shims_seeed_python_dht import DHT
```
Оператор `from seeed_dht import DHT` імпортує клас `DHT` для взаємодії з віртуальним датчиком Grove температури, використовуючи shim з модуля `counterfit_shims_seeed_python_dht`.
1. Додайте наступний код після попереднього, щоб створити екземпляр класу, який керує віртуальним датчиком вологості та температури:
```python
sensor = DHT("11", 5)
```
Це оголошує екземпляр класу `DHT`, який керує віртуальним **D**igital **H**umidity та **T**emperature датчиком. Перший параметр повідомляє коду, що використовується віртуальний датчик *DHT11*. Другий параметр повідомляє коду, що датчик підключений до порту `5`.
> 💁 CounterFit симулює цей комбінований датчик вологості та температури, підключаючись до двох датчиків: датчика вологості на контакті, вказаному при створенні класу `DHT`, і датчика температури, який працює на наступному контакті. Якщо датчик вологості знаходиться на контакті 5, shim очікує, що датчик температури буде на контакті 6.
1. Додайте нескінченний цикл після попереднього коду, щоб опитувати значення датчика температури та виводити його в консоль:
```python
while True:
_, temp = sensor.read()
print(f'Temperature {temp}°C')
```
Виклик `sensor.read()` повертає кортеж із значеннями вологості та температури. Вам потрібне лише значення температури, тому значення вологості ігнорується. Значення температури потім виводиться в консоль.
1. Додайте невелику паузу тривалістю десять секунд наприкінці `loop`, оскільки рівні температури не потрібно перевіряти безперервно. Паузи зменшують споживання енергії пристроєм.
```python
time.sleep(10)
```
1. У терміналі VS Code з активованим віртуальним середовищем виконайте наступне, щоб запустити ваш Python-додаток:
```sh
python app.py
```
1. У додатку CounterFit змініть значення датчика температури, яке буде зчитуватися додатком. Ви можете зробити це двома способами:
* Введіть число в поле *Value* для датчика температури, а потім натисніть кнопку **Set**. Число, яке ви введете, буде значенням, яке повертає датчик.
* Поставте галочку *Random* і введіть значення *Min* та *Max*, а потім натисніть кнопку **Set**. Кожного разу, коли датчик зчитує значення, він буде зчитувати випадкове число між *Min* та *Max*.
Ви повинні побачити значення, які ви встановили, у консолі. Змініть *Value* або налаштування *Random*, щоб побачити зміну значення.
```output
(.venv) ➜ temperature-sensor python app.py
Temperature 28.25°C
Temperature 30.71°C
Temperature 25.17°C
```
> 💁 Ви можете знайти цей код у папці [code-temperature/virtual-device](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/virtual-device).
😀 Ваш додаток для датчика температури успішно працює!
---
**Відмова від відповідальності**:
Цей документ було перекладено за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, зверніть увагу, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.