Jump to content
  • 2

Подписка на события прошивки


Александр Рыжов

Question

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

Прошу добавить возможность подписки на события прошивки, т.е. отправку JSON-сообщений на указанный URL при наступлении (в идеале выбранных) событий.

Фича позволит:

  • стать роутеру генератором событий для сервисов автоматизации вроде IFTTT в рамках заводского функционала без использования хук-скриптов opkg,
  • для самописных скриптов автоматизации избежать timeout-driven решений "периодический опрос - действие" в пользу event-driven решений "событие - действие".

 

Понимаю, что указанная возможность будет нужна довольно малому числу пользователей, но надеюсь, что её реализация не будет трудоёмкой.

  • Upvote 4
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

А продемонстрировать идею можно (как будет выглядеть json, что за события, как настраивается из cli: хотя бы парочку очевидных fullstack-примеров)?

Иначе немного абстрактно и непонятно что именно хочется - возможно сделаем не так.

Link to comment
Share on other sites

  • 0

Это в т.ч. продолжение темы с автоматизацией без использования opkg. Раньше я показывал только как посылать от роутера в сторону сервиса автоматизации информацию о полученном IP-адресе, но хотелось бы реагировать и на другие события, например, подключение клиента по Wi-Fi, переподключением носителей и/или рестарте сервисов.

Формат JSON упомянул лишь потому, что чаще других встречаю его в работе сервисов автоматизации. Таких сервисов довольно много, с помощью них можно будет получать по JSON информацию от роутера, фильтровать и ответным JSON-запросом роутером управлять.

Вот, скажем, Google Docs, позволяют публиковать встроенные в книги скрипты App Script как веб-приложения, разборка JSON-параметров от роутера будет в нём одной строчкой.

Раз уж в прошивке есть некоторая шина событий, на которые могут подписываться компоненты, вероятно можно вывести эти события в виде POST-запросов.

Если это неприемлемо сложно для реализации, то может будет некая утилита, на манер ndmq, для подписки на выбранные события и передачи их в виде параметров в shell-скрипт?

 

На картинке для привлечения внимания роутер записывает в Google-таблицы очередной IP на WAN интерфейсе, скрипты таблицы дёргают определённую ячейку, по изменению которой сервис автоматизации вызывает реконнект WAN при необходимости. Всё в пределах заводского интерфейса, без использования на роутере opkg.

2018-07-12_18-29-38.png

Link to comment
Share on other sites

  • 0

В описной реализации это действительно мало кому будет нужно, по причине - сложно.

Пару лет смотрю на темы про отправку уведомлений о появлении\пропадании устройств в сети, но так ничего для своих способностей и не нашел, пользуюсь платным готовым приложением на QNAPе

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

Лозунг кинетика - Умные интернет-центры для умного дома верен только в части производительности кинетика, на как умное устройство интегрируемое в умный дом, ничего нет. Умный роутер должен быть сам iot устройством, уметь общаться по iot протоколам, и принимать указания.

На популярных платформах для умных домов Home Assistant, HomeBridge, ioBroker энтузиасты пишут драйвера для роутеров, но с ними постоянно проблемы: не работают, не обновляются, грузят роутер или сам умный дом

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

Универсальным решением было бы реализовать обмен с роутером по MQTT, этот протокол поддерживают все умные дома, и имеется большой выбор клиентских приложений на телефонах, у некоторых пользователей умный дом = MQTT брокер.

На первом этапе хотя бы реализовать публикацию сообщений в MQTT брокер, syslog можно писать куда то для связистов, для интернет вещей нужен MQTT, структура топиков могла бы совпадать с вэб сервером кинетика /controlPanel/devicesList/"девайсы" и их статусы в значениях. Пушить про изменения статусов устройств, и то что на /dashboard

Вторым этапом научится слушать mqtt брокер, и выполнять команды.

Вот тогда появится "умный роутер для умного дома"

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...