Установка MQTT на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware). Брокер Eclipse Mosquitto.

+3
Сегодня будет установка MQTT на роутер Xiaomi Mi WiFi Router 3G )))

Ранее на тему MQTT у меня было два поста:

Установка MQTT на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware).

Есть у меня в коллекции Wi-Fi роутер «Xiaomi Mi Wi-Fi Router 3G» с прошивкой от Padavan, который после покупки роутера MikroTik остался не у дел. Точнее не работает больше как полноценный роутер, стоя на страже  интернета, а выполняет свою функцию как дополнительная точка доступа Wi-Fi, маршрутизатор на 2-а порта и сетевое файловое хранилище с диском на 500 Гб.

Есть у этого роутера такая замечательная штука, как Entware — это репозиторий (хранилище), который позволяет легко устанавливать и удалять Linux-приложения в консоли роутера. Ну а в этом репозиторий есть пакеты Mosquitto:

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

Установка MQTT на роутер Xiaomi Mi WiFi Router 3G

Алгоритм (последовательность) запуска MQTT брокера на роутере Xiaomi Mi 3G такая:

1) Компилируем (собираем) скриптом PROMETHEUS самую свежую прошивку от Padavan. Я выбрал репозитарий Alxdm.

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост
Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

2) После прошивки и настройки роутера, развёртываем Entware на своём внешнем носителе. (Рекомендую использовать жесткий диск, ибо ресурс флеш-карт не большой. У меня флешка на 128 Гб прожила только три года).

3) Подключаемся через PuTTY по SSH к роутеру.

4) Для получения списка и обновления новых пактов, выполните:

# opkg update
# opkg upgrade

5) Устанавливаем MQTT брокер и клиент Mosquitto:

# opkg install mosquitto-nossl
# opkg install mosquitto-client-nossl

Пробуем запустить:

# mosquitto

Получаем такую ошибку:

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

Пользователя можно добавить так:

# adduser mosquitto

Но после перезагрузки роутера его снова нужно будет добавлять этой командой. Поэтому заходим в веб-интерфейс роутера по пути: «Приложение USB» —  «Общий ресурс в FTP» и добавляем учётную запись «mosquitto»

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

Запускаем ещё раз брокер:

# mosquitto
Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

Всё хорошо, теперь можно проверить например на клиенте MQTT Explorer:

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

Всё работает:

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

Осталось добавить MQTT брокер в автозагрузку. Для этого создаём скрипт в папке: /opt/etc/init.d с названием S33mosquitto (пример):

# cd /opt/etc/init.d
# echo "#!/bin/sh 
PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bi 
mosquitto -c /opt/etc/mosquitto/mosquitto.conf " >S33mosquitto

Скрипт можно добавить и проверить удобным вам способом.

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

Делаем его исполняемым:

# chmod +x /opt/etc/init.d/S33mosquitto

Перезагружаем роутер и смотрим на клиенте MQTT Explorer, что  MQTT брокер успешно запустился. 

У С Ё готово 😉

UPD: Обратите внимание, что в текущем варианте настройки, к брокеру может подключится любой клиент (с любым логином/паролем и анонимно) в локальной сети. Опционально можете «раскомментировать» строки в файле /opt/etc/mosquitto/mosquitto.conf на своё усмотрение, если вы хотите настроить брокер более детально. Но у меня почему-то «не завелась» команда «mosquitto_passwd», что бы иметь возможность создавать новые (отдельные) учётки для клиентов и удалять их, но в локальной сети с этим заморачиваться не стал. Вот конфигурация Entware/entware-packages на github, но немного мудрёная и я в ней тоже не стал разбираться, может быть у вас будет желание ))

UPD2: ОЗУ роутера MQTT брокер у меня практически не «кушает»:

Установка MQTT брокера Mosquitto на роутер Xiaomi Mi WiFi Router 3G с прошивкой Padavan (с развёрнутым Entware) Умный дом, Брокер, Xiaomi, Wi-Fi, Роутер, Длиннопост

На этом у меня Ф С Ё )))

+3

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Пролистать наверх