Jump to content
  • 2
Александр Рыжов

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

Question

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

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

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

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

 

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

  • Upvote 3

Share this post


Link to post
Share on other sites

3 answers to this question

  • 0

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

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

Share this post


Link to post
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

Share this post


Link to post
Share on other sites
  • 0

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

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

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×