Как создать собственный сценарий для умного дома с помощью Rightech IoT Cloud

В этой статье мы расскажем, как создать сценарий, в котором платформа управляет светодиодом в зависимости от температуры. Команды на устройство будут отправляться без вашего участия в соответствии с заданной логикой.

Создадим следующий вариант автоматизации:

  • если значение температуры, полученное от устройства, меньше 20°, включаем синий цвет светодиода,
  • если больше 30° — красный,
  • если значение лежит в диапазоне от 20° до 30°, то включаем зеленый цвет.

Конечно, есть возможность реализовать аналогичную логику прямо на устройстве. Однако реализация такого сценария с помощью платформы дает очевидное преимущество: при необходимости изменить логику работы достаточно отредактировать состояние или условие перехода в автомате. Для этого не требуются навыки программирования и не придется заново прошивать устройство.

Для решения этой задачи нам понадобится плата esp8266 и сам светодиод, цветом которого будем управлять из платформы. О подключении подобного устройства мы рассказали здесь.

Модель объекта можно импортировать к себе в проект:

Ссылка на GitHub

Ардуино скетч:

Ссылка на GitHub

Ссылка на разбор этого кейса на нашем YouTube канале.

1. Создание автомата

Переходим в раздел «Logic» и создаем новый автомат. При создании определяем имя автомата и выбираем модель подключенного устройства.

В этом автомате нам понадобится как минимум 5 состояний:

  • “Start” — состояние, в которой попадает автомат после запуска;
  • “Turn off” — температура на устройстве еще неизвестна; светодиод выключен;
  • “Coldly” — температура меньше 20°; светодиод горит синим цветом;
  • “Fine” — температура в диапазоне от 20° до 30°; светодиод горит зеленым цветом;
  • “Hot” — температура больше 30°; светодиод горит красным цветом.

Создаем эти состояния в автомате.

В состояние “Start” добавим действие “message to operator”, чтобы отправить информацию о том, что автомат запущен, в интерфейс платформы. Из этого состояния создадим переход в состояние “Turn off”, добавим событие “Instant transition”. Этот переход сработает сразу после запуска автомата.

В другие состояния добавим соответствующие команды управления светодиодом:

  • “Turn off” — команда выключения светодиода;
  • “Coldly” — команда “включить синий цвет”;
  • “Fine” — команда “включить зеленый цвет”;
  • “Hot” — команда “включить красный цвет”.

Также добавим действие “message to operator” для оповещения о смене состояния запущенного автомата.

Теперь добавим переходы между состояниями и зададим для них условия. В этих переходах мы будем использовать событие “Data received”. Оно будет происходить каждый раз, когда устройство будет посылать данные. Чтобы реализовать наш сценарий, мы добавим дополнительные условия перехода. Например, чтобы перейти в состояние “Coldly” из состояния “Turn off”, необходимо в условии перехода (кнопка “Add conditions”) добавить проверку температуры. Такое же условие должно проверяться в переходах из “Fine” в “Coldly”, из “Hot” в “Coldly”.

Аналогично зададим логику переходов для других состояний. После заполнения всех условий переходов автомат принимает следующий вид:

Итоговый автомат можно импортировать к себе в проект:

Ссылка на GitHub

2. Запуск сценария

Перейдем в раздел “Objects”, выберем наше устройство и во вкладке “Services”/”Logic” добавим созданный автомат. Нажимаем кнопку “Start” для запуска.

При получении данных о температуре, находящейся в разных диапазонах, публикуются соответствующие сообщения и загорается требуемый цвет светодиода.


Попробуйте создать свой IoT-проект вместе с Rightech IoT Cloud уже сейчас 🙂

https://dev.rightech.io/signup

А если у вас возникнут вопросы, то добро пожаловать в наш чат единомышленников:

https://t.me/rightech_iot