Представленный инструмент периодически отправляет на сервер сведения о состоянии подключения к Интернету. Если данные не передаются длительное время можно сделать вывод об аварии. Обработка получаемых от клиентов данных происходит на стороне сервера и не может быть настроена клиентом.
Данные передаются по протоколу MQTT, используемому в системах автоматизации. Скрипт публикует данные в топик users/НОМЕР_УЧАСТКА/internet/, которые потом обрабатываются на сервере. Каждому пользователю доступны для чтения и записи только топики, соответствующие его НОМЕРУ_УЧАСТКА (участков). Следует отметить, что данные, в том числе логин и пароль, передаются в незашифрованном виде (для совместимости и возможности работы на устаревших устройствах). Хотя риск перехвата минимален (возможен только на стороне провайдера), а данные не являются критическими, не следует использовать выданные логин и пароль где-то ещё.
-
Следуя инструкции на сайте производителя необходимо установить OPKG. Так как необходимые ресурсы незначительны можно воспользоваться инструкцией для установки на встроенную память роутера
-
Все операции выполняются в интерфейсе командной строки роутера после подключения к shell.
Это можно сделать в веб-интерфейсе роутера, написав в командной строке exec sh, или подключившись напрямую через ssh-клиент к роутеру (порт 222, стандартный пароль — keenetic). Для unix-систем и Windows powershell команда ssh root@АДРЕС_РОУТЕРА -p 222, где АДРЕС_РОУТЕРА это адрес вашего роутера вида 192.168.0.1. После этого откроется консоль роутера, где можно вводить команды.
- Установить необходимые пакеты.
opkg update — обновляем список доступных пакетов
opkg install mosquitto-client-nossl whois curl mc nano — устанавливаем нужные пакеты
mosquitto-client-nossl- клиент MQTT для отправки сообщений на серверwhois- инструмент для определения провайдера по IP адресуcurl- инструмент для передачи данных по различным сетевым протоколамmc- файловый менеджер (необязательно)nano- редактор текстовых файлов (необязательно)
- Создаём и настраиваем скрипт.
В браузере открываем файл 010-neighbour.sh и полностью копируем в буфер обмена.
В консоли сохраняем скопированное в новый файл 010-neighbour.sh, который должен храниться в каталоге /opt/etc/ndm/neighbour.d или /storage/etc/ndm/neighbour.d если OPKG был установлен на встроенную память роутера.
Для этого можно воспользоваться командной nano /opt/etc/ndm/neighbour.d/010-neighbour.sh (nano /storage/etc/ndm/neighbour.d/010-neighbour.sh), вставить ранее скопированное из буфера обмена и сохранить файл (ctrl + x в nano и выбрать "сохранить"). После сохранения нужно отредактировать файл, указав свой кадастровый номер участка, логин и пароль от сервера MQTT. Сделать это можно повторно открыв файл nano /opt/etc/ndm/neighbour.d/010-neighbour.sh (nano /storage/etc/ndm/neighbour.d/010-neighbour.sh) и изменив строки:
kadastr_no="900"
mqtt_username=000000
mqtt_password=PASSWORD
После этого нужно сделать файл исполняемым: chmod +x /opt/etc/ndm/neighbour.d/010-neighbour.sh (chmod +x /storage/etc/ndm/neighbour.d/010-neighbour.sh). На этом настройка завершена.
- Возможно проверить работу скрипта, подключившись MQTT-клиентом (например MQTT Explorer) к серверу mqtt.sevsn.ru (порт 1883) с полученным логином и паролем.
При нажатии кнопки 0 во время звонка на телефонный номер управления шлагбаумами ТСН в топик users/НОМЕР_УЧАСТКА/gate сервером публикуется значение "open". Это происходит при звонке с любого номера телефона, соответствующего лицевому счёту пользователя (список "члены семьи" в личном кабинете телеграм-бота).
Этот факт можно использовать в собственной системе автоматизации умного дома, прочитав указанное значение и к примеру открывать личные ворота.