7.8 KiB
Керування реле - Віртуальне IoT обладнання
У цій частині уроку ви додасте реле до вашого віртуального IoT пристрою, окрім датчика вологості ґрунту, і будете керувати ним на основі рівня вологості ґрунту.
Віртуальне обладнання
Віртуальний IoT пристрій використовуватиме симульоване реле Grove. Це дозволяє зберегти лабораторну роботу аналогічною до використання Raspberry Pi з фізичним реле Grove.
У фізичному IoT пристрої реле буде нормально відкритим (тобто вихідна схема буде розірвана або відключена, якщо сигнал не надходить до реле). Таке реле може працювати з вихідними схемами до 250В і 10А.
Додайте реле до CounterFit
Щоб використовувати віртуальне реле, потрібно додати його до програми CounterFit.
Завдання
Додайте реле до програми CounterFit.
-
Відкрийте проект
soil-moisture-sensor
з попереднього уроку у VS Code, якщо він ще не відкритий. Ви будете додавати до цього проекту. -
Переконайтеся, що веб-додаток CounterFit запущений.
-
Створіть реле:
-
У полі Create actuator на панелі Actuators розгорніть поле Actuator type і виберіть Relay.
-
Встановіть Pin на 5.
-
Натисніть кнопку Add, щоб створити реле на контакті 5.
Реле буде створено і з'явиться у списку виконавчих пристроїв.
-
Програмування реле
Тепер додаток датчика вологості ґрунту можна запрограмувати для використання віртуального реле.
Завдання
Програмуйте віртуальний пристрій.
-
Відкрийте проект
soil-moisture-sensor
з попереднього уроку у VS Code, якщо він ще не відкритий. Ви будете додавати до цього проекту. -
Додайте наступний код до файлу
app.py
під існуючими імпортами:from counterfit_shims_grove.grove_relay import GroveRelay
Цей оператор імпортує
GroveRelay
з бібліотек Grove Python shim для взаємодії з віртуальним реле Grove. -
Додайте наступний код під оголошенням класу
ADC
, щоб створити екземплярGroveRelay
:relay = GroveRelay(5)
Це створює реле, використовуючи контакт 5, до якого ви підключили реле.
-
Щоб перевірити, чи працює реле, додайте наступне до циклу
while True:
:relay.on() time.sleep(.5) relay.off()
Код вмикає реле, чекає 0,5 секунди, а потім вимикає реле.
-
Запустіть Python-додаток. Реле буде вмикатися і вимикатися кожні 10 секунд із затримкою в пів секунди між увімкненням і вимкненням. Ви побачите, як віртуальне реле у додатку CounterFit закривається і відкривається, коли реле вмикається і вимикається.
Керування реле на основі вологості ґрунту
Тепер, коли реле працює, ним можна керувати у відповідь на показники вологості ґрунту.
Завдання
Керуйте реле.
-
Видаліть 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 — вимикається.
💁 Пам'ятайте, що ємнісний датчик вологості ґрунту працює так: чим нижчий рівень вологості ґрунту, тим більше вологи в ґрунті, і навпаки.
-
Запустіть 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. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.