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

7.8 KiB

Керування реле - Віртуальне IoT обладнання

У цій частині уроку ви додасте реле до вашого віртуального IoT пристрою, окрім датчика вологості ґрунту, і будете керувати ним на основі рівня вологості ґрунту.

Віртуальне обладнання

Віртуальний IoT пристрій використовуватиме симульоване реле Grove. Це дозволяє зберегти лабораторну роботу аналогічною до використання Raspberry Pi з фізичним реле Grove.

У фізичному IoT пристрої реле буде нормально відкритим (тобто вихідна схема буде розірвана або відключена, якщо сигнал не надходить до реле). Таке реле може працювати з вихідними схемами до 250В і 10А.

Додайте реле до CounterFit

Щоб використовувати віртуальне реле, потрібно додати його до програми CounterFit.

Завдання

Додайте реле до програми CounterFit.

  1. Відкрийте проект soil-moisture-sensor з попереднього уроку у VS Code, якщо він ще не відкритий. Ви будете додавати до цього проекту.

  2. Переконайтеся, що веб-додаток CounterFit запущений.

  3. Створіть реле:

    1. У полі Create actuator на панелі Actuators розгорніть поле Actuator type і виберіть Relay.

    2. Встановіть Pin на 5.

    3. Натисніть кнопку Add, щоб створити реле на контакті 5.

    Налаштування реле

    Реле буде створено і з'явиться у списку виконавчих пристроїв.

    Створене реле

Програмування реле

Тепер додаток датчика вологості ґрунту можна запрограмувати для використання віртуального реле.

Завдання

Програмуйте віртуальний пристрій.

  1. Відкрийте проект soil-moisture-sensor з попереднього уроку у VS Code, якщо він ще не відкритий. Ви будете додавати до цього проекту.

  2. Додайте наступний код до файлу app.py під існуючими імпортами:

    from counterfit_shims_grove.grove_relay import GroveRelay
    

    Цей оператор імпортує GroveRelay з бібліотек Grove Python shim для взаємодії з віртуальним реле Grove.

  3. Додайте наступний код під оголошенням класу ADC, щоб створити екземпляр GroveRelay:

    relay = GroveRelay(5)
    

    Це створює реле, використовуючи контакт 5, до якого ви підключили реле.

  4. Щоб перевірити, чи працює реле, додайте наступне до циклу while True::

    relay.on()
    time.sleep(.5)
    relay.off()
    

    Код вмикає реле, чекає 0,5 секунди, а потім вимикає реле.

  5. Запустіть Python-додаток. Реле буде вмикатися і вимикатися кожні 10 секунд із затримкою в пів секунди між увімкненням і вимкненням. Ви побачите, як віртуальне реле у додатку CounterFit закривається і відкривається, коли реле вмикається і вимикається.

    Віртуальне реле вмикається і вимикається

Керування реле на основі вологості ґрунту

Тепер, коли реле працює, ним можна керувати у відповідь на показники вологості ґрунту.

Завдання

Керуйте реле.

  1. Видаліть 3 рядки коду, які ви додали для тестування реле. Замініть їх наступним кодом:

    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 — вимикається.

    💁 Пам'ятайте, що ємнісний датчик вологості ґрунту працює так: чим нижчий рівень вологості ґрунту, тим більше вологи в ґрунті, і навпаки.

  2. Запустіть Python-додаток. Ви побачите, як реле вмикається або вимикається залежно від рівня вологості ґрунту. Змініть Value або Random налаштування для датчика вологості ґрунту, щоб побачити зміну значення.

    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.

😀 Ваш віртуальний датчик вологості ґрунту, який керує реле, успішно працює!


Відмова від відповідальності:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.