Подключение приводов в режиме 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.