Тот факт, что в роутер Mikrotik возможно установить ZigBee координатор - стало для меня невероятным открытием. Скажу больше, думаю одним ZigBee тут не обойтись и возможностей гораздо больше, просто я ещё не знаю про это.
Translation to English is here. Также основной канал в telegram.
Ранее я знал о том, что usb порт в роутере существует лишь для того, чтобы установить в него модем и тем самым раздавать интернет. Писал про это в статье:
Затем я пробовал использовать порт для подключения HDD, тоже получилось, но были нюансы, подойдет не каждому.
Как-то раз, сидя в одном из профильных форумов, нашел упоминание, что порт usb в Mikrotik можно прокидывать как удаленный COM порт. Я даже нашел мануал, как прокинуть в ZigBee2MQTT стик на CC2531. Но статья уже довольно старая и многие операции, описанные в той статье - сегодня не нужны. В итоге, повозившись пару вечеров - у меня все получилось, о чем я и писал в своем посте:
Пара недель ушли у меня на различные тесты и вот пришло время описать все действия. Но вначале отвечу на вопрос "Зачем?", который уже мог возникнуть. Если у вас хороший сервер умного дома и несколько объектов или один, но огромной площади, то расширять покрытие при помощи роутеров может быть банально невозможно. Ставить несколько серверов - тоже такая себе идея, как и тянуть интерфейсы от сервера до стиков. Есть ZigBee LAN координаторы, но посмотрите сколько они стоят на барахолке... Более того, не знаю как у Вас, а я разворачиваю в новом месте обязательно Wi-Fi сеть и уже потом по необходимости ZigBee. Т.е. роутер мы будем покупать в любом случае, а почему бы не доплатить пару килорублей и не взять роутер и с 5Ghz и USB портом? В сумме это выгоднее, чем роутер + LAN координатор. Конечно, всегда есть индивидуальные случаи, но это другая история...
Далее немного ссылок:
1. Для того, чтобы прокинуть устройство в свою сеть можно использовать VPN, если у вас его не блокируют. Писал про это тут:
2. Для нас подойдет любой роутер Mikrotik с USB. В моем случае это был:
3. Основное назначение данных роутеров в моем доме было:
4. Подключение к удаленному адаптеру на сайте ttps://www.zigbee2mqtt.io описано тут.
5. В качестве стика будет использоваться Sonoff plus dongle:
Теперь опишу действия:
В докере создаем новый контейнер. Удобнее всего выбрать рабочий контейнер с Z2M и нажать дубликат/изменить. Таким образом мы создадим копию проверенного, работающего Z2M. Писал про этот метод ранее тут:
Параметры дубликата нам подходят, но нужно изменить адрес папки с конфигурацией. Я сделал настройки, которые можно найти ниже на скриншотах, описание действий под ними:
1-ая картинка. В поле название -вводим новое уникальное имя. Поле образа - остается без изменения. Что касается настроек портов для публикации, есть 2 варианта: 1. Указываем любой незанятый порт для хоста и контейнера. 2 Указываем любой незанятый порт для хоста и стандартный 8080 для контейнера. В моем случае порт 8081 один и тот же. Он же указан у меня и в настройках конфигурации.
2-ая картинка. Вроде ничего не трогал.
3-я картинка. Изменил адрес на хосте. Если этого не сделать, то обе копии контейнера будут работать с одними теми же базами данных и ни к чему хорошему это не приведет.
4-ая картинка. Ничего не менял.
5-ая картинка. Ничего не менял.
6-ая картинка. Ничего не менял.
7-ая картинка. Ничего не менял. Оставляем тип перезагрузки "всегда"
8-ая картинка. Ничего не менял. Ограничения я выставил подобные уже давно, когда начались внезапные проблемы с сервером. Если данного количества ресурсов не хватит, то контейнер перезагрузится.
9-ая картинка. Ничего не менял.
Далее останется лишь зайти в роутер и настроить несколько параметров
Перейдем во вкладку "система", там есть пункт "порты". Зайдем в "порт 1" и дадим ему имя, настроим скорости и параметры как на скрине. Это соответствует настройкам работы координатора. Далее перейдем во вторую вкладку и настроим удаленный доступ к этому порту/координатору. Порт выбираем из настройки выше, разрешенные адреса настраиваем по необходимости, порт выбираем любой свободный, протокол raw. На этом все.
Теперь остался последний штрих, настроить ZigBee2MQTT. Перейдем в папку, которую мы указали при настройке контейнера и поправим файл конфигурации:
Т.к. тесты я проводил в своей квартире, где уже развернута сеть, то pan_id нужно сгенерировать новый, канал я тоже выбрал другой. Если этого не сделать, то при запуске копии z2m будет выходить ошибка о том, что такая сеть уже существует.
В подключении к MQTT указываем свои параметры. Я для примера создал пользователя admin/admin, но пример так себе, используйте комбинации посложнее ☺.
Порт для Web страницы изменил на 8081, т.к. 8080 уже занят под основной контейнер z2m.
Далее, в настройках порта, указываем ip адрес роутера и порт. Порт - тот же самый, что и в настройках микротика.
Если вторая ZigBee сеть располагается в локации, где никто другой не занимается строительством ZigBee сети, то можно настроить лишь подключение к mqtt, порт и настройки serial. Стандартный канал и PAN ID вам вполне подойдет.
Если все сделали верно, то останется запустить контейнер, z2m найдет в роутере координатор и в квартире развернется вторая сеть. По адресу сервера на порте 8081 будет доступна вторая версия z2m. Если роутер теперь отвезти в любую точку мира, то там, где его мы включим в сеть - автоматом будет развернута домашняя Wi-Fi сеть с доступом в локальную сеть и ZigBee сеть.
Подпишитесь, чтобы не пропускать следующий контент.
Нажмите лайк, если интересно, так я пойму какие публикации больше нужны моей публике.
Также публикации можно найти на других площадках: Instagram, telegram (RU, EN, DE), Medium, LiveJournal, YouTube.
Мой блог является некоммерческим, поэтому позитивный комментарий, лайк или репост поможет публикациям выходить чаще ☺.