Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Настройка MQTT брокера mosquitto

Тема в разделе "Домашние IoT серверы", создана пользователем Casper, 5 июн 2015.

  1. Алексей.

    Алексей. Авторитетный участник сообщества

    Сообщения:
    534
    Симпатии:
    62
    Там определены структуры описывающие Fixed header, Variable header, Payload
    определены байтовые и битовые поля
    Не понятно что значит на практике?
    Вы вам не хочется воспользоваться tcpdump-ом чтоб посмотреть бинарный трафик?
     
  2. Игорь_163

    Игорь_163 Новичок

    Сообщения:
    5
    Симпатии:
    0
    Пример заголовка протокола HTTP:

    GET /wiki/HTTP HTTP/1.0
    Host: ru.wikipedia.org

    А как выглядит заголовок mqtt?
    Буду вам очень признателен за ответ.
     
  3. Алексей.

    Алексей. Авторитетный участник сообщества

    Сообщения:
    534
    Симпатии:
    62
    Игорь_163,
    mqtt - бинарный протокол, http - текстовый протокол, бинарный протокол немножко не получается представить в виде текстового
    теорию вам совсем не интересно смотреть, например заголовок Host: появился в спецификации HTTP/1.1 и в HTTP/1.0 может игнорироваться, вы же приводите его как пример.
    снять дамп tcp трафика взаимодействия клиента с брокером вы тоже не хотите.
    Вы уверены что вам это нужно?
     
  4. Игорь_163

    Игорь_163 Новичок

    Сообщения:
    5
    Симпатии:
    0
    Спасибо. Теперь ясно.
     
  5. laz

    laz Новичок

    Сообщения:
    2
    Симпатии:
    0
    Добрый день! Установил Entware 3x на Keeenetic UltraII, установил пакеты mc, mosquitto-nossl, mosquitto-client, прописал файл mosquitto.conf. Запускаю с ключом -с. выводит приглашение # и более ни чего! По команде ps. в процессах mosquitto нет! Куда рыть? Все мозги себе уже заплел...
     
  6. kvint

    kvint Новичок

    Сообщения:
    3
    Симпатии:
    0
    Тоже пытался настроить mosquitto-nossl на Кинетике, убил на это несколько дней, результата не добился, наверно интелекта не хватило (( В итоге поставил на RP3 и живу пока с ним. Если кто разобрался как правильно настраивать на кинетике, то напишите краткую инструкцию по настройке. Как ставить ВРТ и устанавливать mosquitto написано в интернете, а вот как правильно настроить, лично я найти не смог
     
  7. laz

    laz Новичок

    Сообщения:
    2
    Симпатии:
    0
    Разобрался! Я поставил в итоге mosquitto-ssl. При этом появилась возможность добавить пользователя и шифровать для него пароль утилитой mosquitto_passwd. При первом запуске без настоек mosquitto выдаст Error invalid user 'mosquitto'.
    Замените в файле mosquitto.conf сточку #user mosquitto на user root и запустите mosquitto -c /opt/ect/mosquitto/mosquitto.conf и Вот! Теперь дело за тонкими настройками конфига, прописыванием users.list и mosquitto.acl, короче, что кому нужно. Можно добавить простой скрипт в init.d для запуска mosquitto при перезагрузке маршрутизатора.
     
  8. leikocid

    leikocid Новичок

    Сообщения:
    4
    Симпатии:
    0
    Доброго дня!, столкнулся со страной проблемой, установлен mosquitto на ubuntu 16.04 там же majorDomo , 9 параметров с датчиков, при запущенном брокере наглухо загружает файловую систему:

    TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
    525 be/3 root 0.00 B/s 7.82 K/s 0.00 % 99.94 % [jbd2/sda1-8]
    что нужно отключить или как настроить mosquitto, за ранее спасибо
     
  9. Алексей.

    Алексей. Авторитетный участник сообщества

    Сообщения:
    534
    Симпатии:
    62
    leikocid, У вас журналирование грузит ФС, может маскита тут и ни при чем вовсе, а диск мучает mysql своими частыми транзакциями, который с мажордомом ставился.
     
    leikocid нравится это.
  10. leikocid

    leikocid Новичок

    Сообщения:
    4
    Симпатии:
    0
    да, я в курсе что jbd2/sda1-8 это журналирование ext4, проверенно, делаю :~$ sudo systemctl stop mosquitto вся нагрузка пропадает
     
  11. Алексей.

    Алексей. Авторитетный участник сообщества

    Сообщения:
    534
    Симпатии:
    62
    Маскиту я устанавливал из репов, настраивал только пользователей, запрещал анонимный вход и только, делал последний раз на прошлой неделе, из клиентов только три датчика и пару приложений, посмотрел iotop, фс не нагружена.
     
    leikocid нравится это.
  12. leikocid

    leikocid Новичок

    Сообщения:
    4
    Симпатии:
    0
    @Алексей.
    тоже самое делал, буду искать причину, может majordomo к нему часто обращается тем самым генерируя большой объем данных
     
  13. mpnnic

    mpnnic Новичок

    Сообщения:
    3
    Симпатии:
    0
  14. Алексей.

    Алексей. Авторитетный участник сообщества

    Сообщения:
    534
    Симпатии:
    62
    Про установку маскиты в статье немножко мало написано, только про настройку. Автор считает что в образе прошивки уже включен и настроен пакет маскиты. Какой скрипт запуска, точнее присутствует в нем секция boot( ) не ясно.
    Вы логи с роутера показали бы, может ошибки запуска увидим.
     
  15. mpnnic

    mpnnic Новичок

    Сообщения:
    3
    Симпатии:
    0
    приложил системный журнал

    cсистемнй журнал (раскрыть)


    Wed Oct 10 16:32:02 2018 daemon.info hostapd: wlan0: STA 7c:8b:ca:0d:b7:e1 IEEE 802.11: authenticated
    Wed Oct 10 16:32:02 2018 daemon.info hostapd: wlan0: STA 7c:8b:ca:0d:b7:e1 IEEE 802.11: associated (aid 1)
    Wed Oct 10 16:32:02 2018 daemon.warn odhcpd[932]: DHCPV6 RELEASE IA_NA from 0001000118d240ed002421267ee3 on br-lan: no binding
    Wed Oct 10 16:32:03 2018 daemon.warn odhcpd[932]: DHCPV6 SOLICIT IA_NA from 0001000118d240ed002421267ee3 on br-lan: ok fdc9:c6d9:21df::9ea/128
    Wed Oct 10 16:32:04 2018 daemon.warn odhcpd[932]: DHCPV6 REQUEST IA_NA from 0001000118d240ed002421267ee3 on br-lan: ok fdc9:c6d9:21df::9ea/128
    Wed Oct 10 16:32:05 2018 daemon.info dnsmasq-dhcp[1293]: DHCPDISCOVER(br-lan) 7c:8b:ca:0d:b7:e1
    Wed Oct 10 16:32:05 2018 daemon.info dnsmasq-dhcp[1293]: DHCPOFFER(br-lan) 10.0.0.127 7c:8b:ca:0d:b7:e1
    Wed Oct 10 16:32:05 2018 daemon.info dnsmasq[1293]: read /etc/hosts - 1 addresses
    Wed Oct 10 16:32:05 2018 daemon.info dnsmasq[1293]: read /tmp/hosts/odhcpd - 1 addresses
    Wed Oct 10 16:32:05 2018 daemon.info dnsmasq[1293]: read /tmp/hosts/dhcp - 1 addresses
    Wed Oct 10 16:32:05 2018 daemon.info dnsmasq-dhcp[1293]: read /etc/ethers - 0 addresses
    Wed Oct 10 16:32:05 2018 daemon.info dnsmasq[1293]: read /etc/hosts - 1 addresses
    Wed Oct 10 16:32:05 2018 daemon.info dnsmasq[1293]: read /tmp/hosts/odhcpd - 1 addresses
    Wed Oct 10 16:32:05 2018 daemon.info dnsmasq[1293]: read /tmp/hosts/dhcp - 1 addresses
    Wed Oct 10 16:32:05 2018 daemon.info dnsmasq-dhcp[1293]: read /etc/ethers - 0 addresses
    Wed Oct 10 16:32:05 2018 daemon.info dnsmasq-dhcp[1293]: DHCPREQUEST(br-lan) 10.0.0.127 7c:8b:ca:0d:b7:e1
    Wed Oct 10 16:32:05 2018 daemon.info dnsmasq-dhcp[1293]: DHCPACK(br-lan) 10.0.0.127 7c:8b:ca:0d:b7:e1 HOME

     
  16. Алексей.

    Алексей. Авторитетный участник сообщества

    Сообщения:
    534
    Симпатии:
    62
    А загрузка модулей то где?? Того же dnsmasq нет... если системный журнал смотреть, то интересно на загрузку модулей посмотреть, у вас система давно проснулась и вы показываете подключение клиентов и выдачу им в аренду ip адресов, ожидал увидеть что то типа
    Код (Text):
    1.  
    2. Wed Oct 10 17:53:18 2018 daemon.info dnsmasq[1140]: started, version 2.77 cachesize 150
    3. Wed Oct 10 17:53:18 2018 daemon.info dnsmasq[1140]: DNS service limited to local subnets
    4. Wed Oct 10 17:53:18 2018 daemon.info dnsmasq[1140]: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP no-DHCPv6 no-Lua TFTP no-conntrack no-ipset no-auth no-DNSSEC no-ID loop-detect inotify
    5.  
    Может при выполнении скрипта запуска маскиты возникли ошибки, в системном журнале могли остаться следы. Вы так и не ответили есть ли в нем (в скрипте запуска маскиты) секция boot( ) или нет, если нет то и не будет запускаться.
    Если маскита всё же стартовала и выгрузилась неожиданно, то логи маскиты смотрим в том же журнале (если настройка log_dest syslog работала).
    В общем лог вы показали далеко от старта системы, всё самое интересное пропустили.:)
     
  17. mpnnic

    mpnnic Новичок

    Сообщения:
    3
    Симпатии:
    0

    добрый день
    спасибо за помощь
    скрипт загрузки маскиты /etc/init.d?
    скрипт (раскрыть)

    #!/bin/sh /etc/rc.common
    # Basic init script for mosquitto
    # April 2012, OpenWrt.org
    # Provides support for the luci-app-mosquitto package, if installed

    START=80
    APP=`which mosquitto`
    USE_UCI_CONFIG=$(uci -q get mosquitto.owrt.use_uci)
    if [ $? -eq 1 ]; then
    USE_UCI_CONFIG=0
    fi

    SERVICE_DAEMONIZE=1
    SERVICE_WRITE_PID=1

    start() {
    if [ "$USE_UCI_CONFIG" -eq 1 ]; then
    CONF=/tmp/mosquitto.converted.$$.conf
    mosquitto.uci.convert -f $CONF
    else
    CONF=/etc/mosquitto/mosquitto.conf
    fi
    service_start $APP -c $CONF
    }

    stop() {
    service_stop $APP
    }

     
  18. Алексей.

    Алексей. Авторитетный участник сообщества

    Сообщения:
    534
    Симпатии:
    62
    Ничего криминального нет, если при загрузки маскита не запускается а при "ручном" запуске стартует, не плохо бы вывести параметры запуска в лог и сравнить то что было при загрузке и то что выполнялось при ручном запуске.
    Логи всё же с начала смотреть а не конец который вы предоставили.

    П.С. Для удобства комментирования (чтоб ссылаться на конкретную строку) лучше использовать тег CODE
     

Поделиться этой страницей