Страница 4 из 4

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

Добавлено: Сб дек 02, 2017 3:28 pm
prmres
обнаружил в /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 брокер обновится, но уже из своего репозитория

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

Добавлено: Чт сен 20, 2018 5:29 pm
Lerych
А кто-нибудь знает способ установки mosquitto из локального репозитория (Linux-Debian) или из исходников, исходя из того, что на ПК нет интернета?

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

Добавлено: Чт сен 20, 2018 8:40 pm
immortal
Lerych писал(а):
Чт сен 20, 2018 5:29 pm
А кто-нибудь знает способ установки mosquitto из локального репозитория (Linux-Debian) или из исходников, исходя из того, что на ПК нет интернета?
из исходников ставил давненько, по моему для установке достаточно просто make, вот тут исходники https://mosquitto.org/download/
скачать deb пакет можно командой
apt download mosquitto
ну и соответственно установка скачанного с помощью dpkg -i имя_пакета

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

Добавлено: Сб сен 29, 2018 3:12 pm
mode3
Здравствуйте.
Столкнулся со следующей проблемой - не запускается 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
Надеюсь кому-нибудь поможет мой монолог.

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

Добавлено: Пт май 10, 2019 2:10 pm
PuRGen
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 т.к. туда права были правильные.

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

Добавлено: Чт дек 05, 2019 11:49 am
Jon811
Кто подскажет?
Поднял mosquitto, все норм внутри малины гоняет pub и sub, но снаружи не может никто подключиться. Есть камера, которая по мктт шлет состояние. Если указываю ей внешний сервер - все ок. Но апельсинку внутри сети - не видит и все тут. Кто подскажет варианты, что проверить?

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

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

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

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