Всем добрый день!
При написании внешнего ПО столкнулись с проблематичным кейсом, а именно дружелюбное добавление контроллера WB пользователем.
Текущий кейс добавления:
- Пользователь на экране нажимает плюс.
- Заполняет большую форму с техническими параметрами доступа к контроллеру (IP, port и т.д.)
- Нажимает добавить.
Какие недостатки:
- На смартфоне или настенных панелях с малым экраном не очень удобно заполнять большие формы с множеством полей.
- При смене IP у контроллера, нужно лезть в настройки и перенастраивать в устройстве.
Желаемый кейс добавления:
- Пользователь на экране нажимает плюс.
1.1) В сеть отправляется ssdp запрос на мультикаст адрес.
1.2) Собираются ответы на ssdp запрос от контроллеров WB. - На экране выводится список доступных контроллеров WB.
- Пользователь выбирает и добавляет контроллер.
-
Почему это не реализовать на текущем mDNS?
Зачастую нет возможности получить программным путем список локальных доменов из кеша ОС, а без этого быстрый визард не сделать. Нужно слушать сетевой порт и пока контроллер WB не известит о своем адресе, мы его не увидим, инициировать это извещение со своей стороны мы не можем. -
Где используется уже SSDP?
Так ищутся сетевые принтеры или телевизоры в сети на которые можно вывести изображение. А так же это появляется в прошивках устройств на основе esp (https://youtu.be/UKX1QJalqXQ?si=wm4m31VrJs-LZDbm&t=603). Или к примеру когда добавляешь умный домофон в приложение, тоже находится приложением через ssdp запрос. -
Каково предложение?
Внедрить на уровне прошивки демон, который будет отвечать на ssdp запросы и добавить управление им в веб интерфейс для возможности отключения на некоторых сетевых интерфейсах при вопросах безопасности. За основу можно взять к примеру решение GitHub - troglobit/ssdp-responder: SSDP responder for UNIX systems that gives you an InternetGatewayDevice icon in Windows :)