LazyRolls

Подключение приводов в режиме Master/Slave (Главное устройство и ведомые)

В этом режиме можно управлять группой штор с одного устройства. Это может быть полезно, если шторами планируется управлять синхронно, или c целью сокращения числа устройств в WiFi сети.

Данный режим добавлен в прошивку с версии v0.11.

По сравнению с подключением нескольких моторов в параллель, данный способ требует установки по одной esp8266 на каждый мотор, но зато имеет следующие преимущества:

  • - приводы соединяются всего одним проводом;
  • - длина штор и скорость моторов может быть разной;
  • - управлять (по mqtt или http) можно как всеми шторами сразу, так и индивидуально;
  • - расписание можно задавать индивидуально для каждого привода.

Подключение

Соединить пин TX главного устройства с пинами RX всех ведомых. Можно звездой или шлейфом, но желательно наиболее коротким путём. Провод любого сечения, даже лучше небольшого. Если приводы питаются от разных блоков питания, то необходимо соединить ещё и Gnd. Максимальная дальность подключения пока не выяснена, думаю метра 3 должно работать.

Настройка

В настройках главного привода выбирается режим Master (Главный). В остальных приводах - Slave (Ведомый). Номер ведомого устройства (1-5) можно выбрать разным, тогда будет возможно независимое управление. Приводы с одинаковым номером будут реагировать на команды одновременно. Ведомые приводы MQTT не используют.

WiFi

Приводы, у которых включен режим ведомого, не подключаются к WiFi. Потребляют при этом всего 20-30мА. Время получают от главного. "Разбудить" ведомые устройства можно несколькими способами.

  • - отключить главный привод, питанием или переведя его в режим Standalone/Независимый;
  • - отключив линию связи;
  • - по команде с главного устройства http://ip/set?wake&addr=X где X - номер ведомого;
  • - через кнопку "разбудить" в настройках главного привода (пока нет, в планах).

При потери связи от главного устройства, через минуту-другую (константа SLAVE_MAX_NO_PING_MS в прошивке) ведомый привод подключается к WiFi сети. Свою точку доступа привод создаёт только если связи с главным не было с момента включения и недоступна указанная в настройках сеть. Т.е. также, как в обычном режиме, только с большей задержкой после старта.

При отсутствии сетевой активности ведомый привод отключает WiFi через 3 минуты (константа SLAVE_SLEEP_TIMEOUT_MS в прошивке).

Управление

Все команды управления по умолчанию дублируются на все ведомые устройства. Но при желании, можно управлять индивидуально.

По MQTT к командам можно добавить префикс '$X', где Х - номер ведомого устройства (1-5) или 0 - главное. Например $0open - открыть только главный привод, $3@2 - отправить ведомые шторы с номером 3 в положение 2. Исключение команды led_*, они управляют только главным приводом.

По HTTP можно добавить параметр addr=X, где Х - номер ведомого устройства (1-5) или 0 - главное. Например http://ip/open?addr=3 или http://ip/set?pos=50&addr=3

Дополнительно по HTTP действуют команды:

  • /set?wake&addr=X - разбудить ведомое устройство с номером X.
  • /set?blink&addr=X - мигнуть светодиодом на устройстве с номером X.