Установка и настройка брокера MQTT в Orange PI PC

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

Аватара пользователя
prmres
Сообщения: 428
Зарегистрирован: Пт ноя 24, 2017 2:24 am
Откуда: оттуда
Благодарил (а): 113 раз
Поблагодарили: 123 раза

Re: Установка и настройка брокера MQTT в Orange PI PC

Сообщение prmres » Сб дек 02, 2017 3:28 pm

обнаружил в /etc/mosquitto/mosquitto.log кучу записей:
Client majordomo has exceeded timeout, disconnecting.

полез разбираться, пробовал переустанавливать, ставить из другого репозитория - ничего не помогает
лог потихонечку разбухает и остаётся лишь в конфиге отключить уведомления в логе:
#log_type notice
это проблему не решает конечно

недолгие гугленья привели к следующему:
The client set a timeout when it connect, and should then send a kind of ping more often than the set timeout. Even if the client doesn’t publish/subscribe to anything, as soon as he is connected, he must maintain the connection active.
источник

что в переводе означает:
Клиент устанавливает тайм-аут при подключении, а затем должен отправлять своего рода пинг чаще, чем заданное тайм-аут. Даже если клиент не публикует/не подписывается ни на что, как только он подключен, он должен поддерживать подключение активным.
по сему выходит постоянный "отвал" клиента это "косяк" самого клиента
при этом стоит отметить что подключенная ESP8266 с прошивкой wifi-iot коннекта не теряют, в логе об этом не сигнализируется

наверное разработчику платформы (я про Сергея и MD) стоило бы обратить на это внимание и по возможности подпилить MQTT-модуль

PS

установка \ обновление Mosquitto из репозитория разработчика

для этого нужно добавить репозиторий
источник

устанавливаем ключ репозитория

Код: Выделить всё

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
добавляем репозиторий

Код: Выделить всё

sudo wget http://repo.mosquitto.org/debian/mosquitto-wheezy.list -P /etc/apt/sources.list.d/
sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list  -P /etc/apt/sources.list.d/     
обновляем список пакетов
sudo apt update
ну а дальше , если ещё mosquitto не установлен, то sudo apt install -y mosquitto установит брокер из "своего" репозитория
а если пакет был уже установлен, то при обновлении пакетов sudo apt upgrade -y брокер обновится, но уже из своего репозитория
Не только лишь все!
Аватара пользователя
Lerych
Сообщения: 191
Зарегистрирован: Чт дек 14, 2017 8:46 pm
Откуда: Московская область, Серпухов
Благодарил (а): 79 раз
Поблагодарили: 24 раза

Re: Установка и настройка брокера MQTT в Orange PI PC

Сообщение Lerych » Чт сен 20, 2018 5:29 pm

А кто-нибудь знает способ установки mosquitto из локального репозитория (Linux-Debian) или из исходников, исходя из того, что на ПК нет интернета?
immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 400 раз
Контактная информация:

Re: Установка и настройка брокера MQTT в Orange PI PC

Сообщение immortal » Чт сен 20, 2018 8:40 pm

Lerych писал(а):
Чт сен 20, 2018 5:29 pm
А кто-нибудь знает способ установки mosquitto из локального репозитория (Linux-Debian) или из исходников, исходя из того, что на ПК нет интернета?
из исходников ставил давненько, по моему для установке достаточно просто make, вот тут исходники https://mosquitto.org/download/
скачать deb пакет можно командой
apt download mosquitto
ну и соответственно установка скачанного с помощью dpkg -i имя_пакета
За это сообщение автора immortal поблагодарил:
Lerych (Чт сен 20, 2018 8:49 pm)
Рейтинг: 1.16%
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
mode3
Сообщения: 1
Зарегистрирован: Сб сен 29, 2018 2:54 pm
Благодарил (а): 0
Поблагодарили: 2 раза

Re: Установка и настройка брокера MQTT в Orange PI PC

Сообщение mode3 » Сб сен 29, 2018 3:12 pm

Здравствуйте.
Столкнулся со следующей проблемой - не запускается mosquitto. Причем неделю проработал и проблем не было - сегодня утром обнаружил что данных из клиента нет. Клиент ответил - нет соединения с mosquitto.
из консоли делаю

Код: Выделить всё

ps aux | grep mosquitto
- и не вижу процесса.
Лог москитто пустой.
Но стоит запустить москито из терминала

Код: Выделить всё

/usr/sbin/mosquitto
- как все начинает работать.
Куда копать-то?

Это не первый отвал москито, переустановка системы помогает, но что-то в системе рушится и потом (через несколько дней) москито не работает.
Система armbian, установка из скрипта. Железка - orange pi pc.

Добавлю это:

Код: Выделить всё

root@orangepipc:/etc/mosquitto# systemctl status mosquitto.service
● mosquitto.service - LSB: mosquitto MQTT v3.1 message broker
   Loaded: loaded (/etc/init.d/mosquitto; generated; vendor preset: enabled)
   Active: active (exited) since Sat 2018-09-29 13:24:26 UTC; 3s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2629 ExecStop=/etc/init.d/mosquitto stop (code=exited, status=0/SUCCESS)
  Process: 2816 ExecStart=/etc/init.d/mosquitto start (code=exited, status=0/SUCCESS)
Судя по всему, отвалился после обновления. И как это забороть?

Ок, разобрался, нет доступа на запись лог файла москито.

Правильнее было бы сделать так: (systemd оккупирует)
Удалить ссылки на сценарий инициализации system-V

Код: Выделить всё

sudo update-rc.d mosquitto remove
Создать файл для инициализации сервисом systemd

Код: Выделить всё

sudo mcedit /etc/systemd/system/mosquitto.service
Содержимое файла:

Код: Выделить всё

Description=Mosquitto MQTT Broker
Documentation=man:mosquitto(Cool
Documentation=man:mosquitto.conf(5)
ConditionPathExists=/etc/mosquitto/mosquitto.conf
After=xdk-daemon.service

[Service]
ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
ExecReload=/bin/kill -HUP $MAINPID
User=mosquitto
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
С помощью systemctl включить сервис

Код: Выделить всё

sudo systemctl enable mosquitto.service
Перезагрузить железяку.
Есть что-то не работает, можно посмотреть лог:

Код: Выделить всё

journalctl -u mosquitto
Надеюсь кому-нибудь поможет мой монолог.
За это сообщение автора mode3 поблагодарили (всего 2):
prmres (Вс сен 30, 2018 1:36 am) • PuRGen (Пт май 10, 2019 1:30 pm)
Рейтинг: 2.33%
PuRGen
Сообщения: 21
Зарегистрирован: Вс янв 29, 2017 12:50 pm
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Re: Установка и настройка брокера MQTT в Orange PI PC

Сообщение PuRGen » Пт май 10, 2019 2:10 pm

mode3 писал(а):
Сб сен 29, 2018 3:12 pm
Ок, разобрался, нет доступа на запись лог файла москито.
Спасибо за наводку!
Убрал из крона, вернул в сервисы.

По умолчанию путь к логам /var/log/mosquitto, по этому делаем так (если у вас пути не дефолтные, исправьте путь):

Код: Выделить всё

 sudo chown -R mosquitto:mosquitto /var/log/mosquitto
Ну и на всякий случай дефолтный путь к базе /var/lib/mosquitto (если у вас другой, то изменить)

Код: Выделить всё

 sudo chown -R mosquitto:mosquitto /var/lib/mosquitto
Мне было достаточно указания прав на папку логов или изменения в конфиге пути логов на /var/lib/mosquitto т.к. туда права были правильные.
Jon811
Сообщения: 52
Зарегистрирован: Пт мар 29, 2019 4:31 pm
Благодарил (а): 8 раз
Поблагодарили: 0

Re: Установка и настройка брокера MQTT в Orange PI PC

Сообщение Jon811 » Чт дек 05, 2019 11:49 am

Кто подскажет?
Поднял mosquitto, все норм внутри малины гоняет pub и sub, но снаружи не может никто подключиться. Есть камера, которая по мктт шлет состояние. Если указываю ей внешний сервер - все ок. Но апельсинку внутри сети - не видит и все тут. Кто подскажет варианты, что проверить?
Аватара пользователя
prmres
Сообщения: 428
Зарегистрирован: Пт ноя 24, 2017 2:24 am
Откуда: оттуда
Благодарил (а): 113 раз
Поблагодарили: 123 раза

Re: Установка и настройка брокера MQTT в Orange PI PC

Сообщение prmres » Вс дек 08, 2019 10:09 pm

Jon811 писал(а):
Чт дек 05, 2019 11:49 am
Кто подскажет?
Поднял mosquitto, все норм внутри малины гоняет pub и sub, но снаружи не может никто подключиться. Есть камера, которая по мктт шлет состояние. Если указываю ей внешний сервер - все ок. Но апельсинку внутри сети - не видит и все тут. Кто подскажет варианты, что проверить?
вашу апельсинку изнутри сети нужно "опубликовать" во внешний мир
специальное правило в фоерволе вашего периметра нужно сделать, правило маппинга
+ обязателен белый IP-адрес на периметре
Не только лишь все!
Jon811
Сообщения: 52
Зарегистрирован: Пт мар 29, 2019 4:31 pm
Благодарил (а): 8 раз
Поблагодарили: 0

Re: Установка и настройка брокера MQTT в Orange PI PC

Сообщение Jon811 » Пн дек 09, 2019 1:29 pm

prmres писал(а):
Вс дек 08, 2019 10:09 pm
Jon811 писал(а):
Чт дек 05, 2019 11:49 am
Кто подскажет?
Поднял mosquitto, все норм внутри малины гоняет pub и sub, но снаружи не может никто подключиться. Есть камера, которая по мктт шлет состояние. Если указываю ей внешний сервер - все ок. Но апельсинку внутри сети - не видит и все тут. Кто подскажет варианты, что проверить?
вашу апельсинку изнутри сети нужно "опубликовать" во внешний мир
специальное правило в фоерволе вашего периметра нужно сделать, правило маппинга
+ обязателен белый IP-адрес на периметре
Да снаружи (из инета) ее видно. Камера не видит брокер на апельсине, которая в той же сети. Хотя когда к ней подключаюсь по SSH и делаю sub - pub, все ходит.
Ответить