directman

<<< Назад

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

соберу необходимую по первоначальной настройке информацию из разных источников на будущее (протестировано на арм, на openmediavalue)

  1. Обновляем систему
    Первым делом перед началом установки нам необходимо обновить систему. Подключаеся к нашему Pi по SSH и вводим:
sudo apt-get update
sudo apt-get upgrade

Подробнее посмотреть как подключаться к Pi по SSH и что потом можно делать вы можете прочитать в нашей статье.

  1. Устновка брокера и клиента “mosquitto”
    К сожалению, обычные библиотеки “apt-get” Raspberry Pi (Orange Pi) не содержат последнюю версию Mosquitto software. Поэтому перед установкой нам нужно будет обновить библиотеки. Если на сервере будет установлена не последняя версия брокера, то могут появляться ошибки в процессе работы.

Добавляем ключ и обновляем репозиторий. Вводим эти строчки по очереди. Иногда надо будет вводить пароль от вашего пользователя и нажимать Y для согласия с установкой.

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list
sudo apt-get update

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

sudo apt-get install mosquitto

Устанавливаем MQTT клиент:

sudo apt-get install mosquitto mosquitto-clients

После установки mosquitto сервер будет автоматически запускаться при загрузке системы.

  1. Останавливаем сервер для настройки
    После установки сервер MQTT сразу запускается. Нам необходимо оставновить его, чтобы произвести последующую настройку.
    sudo /etc/init.d/mosquitto stop
  2. Настройка
    Открываем файл настроек
    sudo nano /etc/mosquitto/mosquitto.conf

    и заменяем его содержимое на следующее:

    # Place your local configuration in /etc/mosquitto/conf.d/
    #
    # A full description of the configuration file is at
    # /usr/share/doc/mosquitto/examples/mosquitto.conf.example
    pid_file /var/run/mosquitto.pid
    persistence true
    persistence_location /var/lib/mosquitto/
    log_dest topic
    log_type error
    log_type warning
    log_type notice
    log_type information
    connection_messages true
    log_timestamp true
    include_dir /etc/mosquitto/conf.d

Сохраняем, закрываем программу nano и выходим обратно в терминал (ctrl+o, Enter, ctrl+x).

5.Запускаем сервер MQTT

sudo /etc/init.d/mosquitto start
  1. Проверяем работу MQTT брокера
    Для проверки работы нашего MQTT брокера нам понадобится MQTT клиента. Это могут быть смартфоны с MQTT клиентами, которые подключены к той же Wi-Fi сети. Но мы воспользуемся более простым способом - подключимся к серверу 2 терминалами параллельно.

Принцип работы протокола MQTT

Нам необходимо, чтобы первый терминал подписался на топик hello/world, второй терминал отправил в этот топик сообщение и первый терминал его получил.

Итак, в первом терминале, в котором вы делали все настройки, подписываемся на канал hello/world:

mosquitto_sub -d -t hello/world

Открываем второе окно терминала, по SSH подключаемся к нашему серверу и отправляем сообщение в канал hello/world:

mosquitto_pub -d -t hello/world -m "Hello from Terminal window 2!"

В результате в первом окне появится сообщение:

Hello from Terminal window 2!

Проверка работы брокера с помощью 2х терминалов

Поздравляем! Ваш MQTT брокер работает!

  1. Статус сервера MQTT
    Проверить стаус вашего MQTT брокера вы всегда можете через терминал:
    sudo /etc/init.d/mosquitto status

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

Проверка статуса MQTT брокера

  1. Настройка пароля для MQTT
    Для тестов и маленьких проектов вы можете использовать подключение к MQTT серверу без пароля, но в больших системах для повышения уровня безопасности необходимо добавить логин и пароль. Это делается достаточно просто.

Для того, чтобы клиенты могли подключиться к вашемо брокеру только по логину и паролю необходимо создать конфигурационный файл, который будет содержать имя пользователя и зашифрованный пароль. Вводим в консоли:

sudo mosquitto_passwd -c /etc/mosquitto/passwd <username>

Вместо <username> необходимо указать имя пользователя, которому будет разрешен доступ, например, mqtusr. После выполнения этой команды юзер mqtusr будет добавлен в систему. Дальше необходимо будет ввести ваш пароль от юзера pi, а потом 2 раза пароль для доступа юзера mqtusr к mqtt брокеру. В качестве второго пароля не воодите пароль от пользователи pi, лучше придумайте новый.

Теперь необходимо поменять настройки доступа к системе, для этого необходимо отредактировать файл /etc/mosquitto/conf.d/default.conf на вашем pi. Вы можете использовать для этого любой текстовый редактор, я предпочитаю nano, поэтому в консоли ввожу:

sudo nano /etc/mosquitto/conf.d/default.conf

В открывшейся файл добавляем 2 строчки:

allow_anonymous false
password_file /etc/mosquitto/passwd

Сохраняем и закрываем файл. Для этого в nano нажимаем ctrl+x, выбираем Y и нажимает Enter. Как вы видите в этом конфиге мы прописали в каком файле хранятся юзеры и пароли для подключения к нашему MQTT брокеру, а также мы запретили подключение к серверу всем пользователям без логина и пароля.

Теперь необходимо перезапустить MQTT сервер, для этого вводим в консоли:

sudo systemctl restart mosquitto

Настройка закончена - безопасность вашей системы теперь на высшем уровне!

сылка на статью http://robot-on.ru/articles/ystanovka-mqtt-brokera...

Обсуждение (0) (3)

Смотрите так же:
22.07.2019 Запуск MajorDroid на одноплатниках, старых планшетах, телефонах.
22.07.2019 Запуск Majordroid на старом железе
15.07.2019 Устанавливаем opencv и необходимые библиотеки на ubuntu 18.04 без использования python
05.07.2019 Решение проблемы Incorrect integer value: '' for column 'ID' at row 1
04.07.2019 О приборах учета и удаленном снятии показаний (вода и газ)
04.07.2019 О приборах учета и удаленном снятии показаний (электричество)
03.07.2019 Конвертируем rs-485 в TCP-IP
24.06.2019 Наблюдение за радиационной обстановкой в регионе
06.06.2019 Меню пылесоса Xiaomi в телеграмм
06.06.2019 Удобный просмотр данных сенсоров через телеграмм
06.06.2019 Просмотр камер через телеграмм
06.06.2019 Управление светом через телеграмм
06.06.2019 Колор-пикер для телеграм
06.05.2019 Список символов emoji
17.04.2019 Установка z-way на Ubuntu
16.04.2019 Решение проблемы ERROR 1040 (HY000): Too many connections
09.09.2018 Список домофонов с IP интерфейсом
29.08.2018 Список кондиционеров с wifi
29.08.2018 Список доступных к покупке IP колонок
15.07.2018 Интеграция датчика Mi flora plant к системе УД MAJORDOMO
13.06.2018 Полезные команды для работы с git
27.05.2018 преобразование html страниц в картинку и отправка в телеграмм
24.05.2018 Полезные sql запросы
23.05.2018 Создание образа nand памяти orange pi plus2
16.05.2018 Команды для работы с базой данных напрямую
13.04.2018 Индикаторы о заряде батареек без использования картинок
06.04.2018 Установка и настройка python на windows для работы систем распознавания
05.04.2018 Распознавание лиц подходящих к двери людей с помощью ip камеры и открытие двери, если нейросеть признала своего
04.04.2018 Управление таймерами выключения света
04.04.2018 Управление RGB контроллером на базе ESP8266
03.04.2018 Увеличение разрешения китайских камер на чипе hi3516c H264
13.03.2018 Использование колонки google home в качестве терминала Majordomo
13.03.2018 Установка и подключение rtl usb донгла для чтения датчиков температуры и кнопок 433 мгц
17.02.2018 Проект "умная входная дверь"
11.02.2018 Отправка всех значений свойства объекта в телеграм
21.12.2017 получение адреса по GPS координатам
21.12.2017 получение / передача GPS координат сервису livegps.com
21.12.2017 чтение мгновенных данных U,P, I электросчетчика милур 104
21.12.2017 Получение координат с маяков и gsm сигнализаций starline-online.ru

Екатеринбург, Россия

На форуме: directman66