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/ru/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md

127 lines
7.9 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": "f8f541ee945545017a51aaf309aa37c3",
"translation_date": "2025-08-26T22:30:22+00:00",
"source_file": "2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md",
"language_code": "ru"
}
-->
# Управление реле - Виртуальное IoT-устройство
В этой части урока вы добавите реле к вашему виртуальному IoT-устройству в дополнение к датчику влажности почвы и будете управлять им на основе уровня влажности почвы.
## Виртуальное оборудование
Виртуальное IoT-устройство будет использовать симулированное реле Grove. Это позволяет сохранить лабораторную работу аналогичной использованию Raspberry Pi с физическим реле Grove.
В физическом IoT-устройстве реле будет нормально-разомкнутым (то есть выходная цепь разомкнута или отключена, если на реле не подается сигнал). Такое реле может работать с выходными цепями до 250В и 10А.
### Добавление реле в CounterFit
Чтобы использовать виртуальное реле, его нужно добавить в приложение CounterFit.
#### Задание
Добавьте реле в приложение CounterFit.
1. Откройте проект `soil-moisture-sensor` из прошлого урока в VS Code, если он еще не открыт. Вы будете добавлять в этот проект.
1. Убедитесь, что веб-приложение CounterFit запущено.
1. Создайте реле:
1. В поле *Create actuator* на панели *Actuators* раскройте список *Actuator type* и выберите *Relay*.
1. Установите *Pin* на *5*.
1. Нажмите кнопку **Add**, чтобы создать реле на выводе 5.
![Настройки реле](../../../../../translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.ru.png)
Реле будет создано и появится в списке актуаторов.
![Созданное реле](../../../../../translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.ru.png)
## Программирование реле
Теперь приложение для датчика влажности почвы можно запрограммировать для использования виртуального реле.
### Задание
Программируйте виртуальное устройство.
1. Откройте проект `soil-moisture-sensor` из прошлого урока в VS Code, если он еще не открыт. Вы будете добавлять в этот проект.
1. Добавьте следующий код в файл `app.py` ниже существующих импортов:
```python
from counterfit_shims_grove.grove_relay import GroveRelay
```
Этот оператор импортирует `GroveRelay` из библиотек Grove Python shim для взаимодействия с виртуальным реле Grove.
1. Добавьте следующий код ниже объявления класса `ADC`, чтобы создать экземпляр `GroveRelay`:
```python
relay = GroveRelay(5)
```
Это создает реле, используя вывод **5**, к которому вы подключили реле.
1. Чтобы проверить, работает ли реле, добавьте следующий код в цикл `while True:`:
```python
relay.on()
time.sleep(.5)
relay.off()
```
Код включает реле, ждет 0,5 секунды, затем выключает реле.
1. Запустите Python-приложение. Реле будет включаться и выключаться каждые 10 секунд с задержкой в полсекунды между включением и выключением. Вы увидите, как виртуальное реле в приложении CounterFit закрывается и открывается при включении и выключении.
![Виртуальное реле включается и выключается](../../../../../images/virtual-relay-turn-on-off.gif)
## Управление реле на основе влажности почвы
Теперь, когда реле работает, его можно управлять в зависимости от показаний датчика влажности почвы.
### Задание
Управляйте реле.
1. Удалите 3 строки кода, которые вы добавили для тестирования реле. Замените их следующим кодом:
```python
if soil_moisture > 450:
print("Soil Moisture is too low, turning relay on.")
relay.on()
else:
print("Soil Moisture is ok, turning relay off.")
relay.off()
```
Этот код проверяет уровень влажности почвы с датчика влажности. Если он выше 450, реле включается, если ниже 450 — выключается.
> 💁 Помните, что емкостный датчик влажности почвы работает так: чем ниже уровень влажности почвы, тем больше влаги в почве, и наоборот.
1. Запустите Python-приложение. Вы увидите, как реле включается или выключается в зависимости от уровня влажности почвы. Измените *Value* или настройки *Random* для датчика влажности почвы, чтобы увидеть изменение значения.
```output
Soil Moisture: 638
Soil Moisture is too low, turning relay on.
Soil Moisture: 452
Soil Moisture is too low, turning relay on.
Soil Moisture: 347
Soil Moisture is ok, turning relay off.
```
> 💁 Вы можете найти этот код в папке [code-relay/virtual-device](../../../../../2-farm/lessons/3-automated-plant-watering/code-relay/virtual-device).
😀 Ваше виртуальное приложение для управления реле на основе датчика влажности почвы успешно завершено!
---
**Отказ от ответственности**:
Этот документ был переведен с помощью сервиса автоматического перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Хотя мы стремимся к точности, пожалуйста, учитывайте, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода.