Блог / Статьи

Полезная информация для вашего хостинга

Как установить и настроить Mosquitto на Ubuntu 24.04: пошаговый гайд для IoT-проектов

Как установить и настроить Mosquitto на Ubuntu 24.04: пошаговый гайд для IoT-проектов

Всё больше умных устройств нуждаются в надёжной, быстрой и экономичной связи — от термостатов и камер до промышленных датчиков и агротехнических систем. Для этих задач идеально подходит протокол MQTT, а в качестве брокера — Mosquitto. Он лёгкий, масштабируемый и отлично работает даже на бюджетных серверах. В этом гайде разберём, как установить Mosquitto на Ubuntu 24.04, настроить его для внешнего подключения, проверить работоспособность и использовать графические клиенты для управления — всё с примерами и практическими советами.

Что такое MQTT и где реально используется Mosquitto?

Протокол MQTT (Message Queuing Telemetry Transport) был разработан ещё в конце 1990-х для передачи небольших объёмов данных в условиях нестабильной связи. Сегодня он стал промышленным стандартом для IoT-коммуникаций: его используют от умных чайников до крупных энергетических и логистических систем.

Mosquitto — это открытый и высокопроизводительный MQTT-брокер, совместимый с любыми клиентами и платформами. Он поддерживает:

  • шифрование соединений через TLS/SSL,
  • аутентификацию по логину и паролю,
  • ограничение доступа к топикам,
  • работу с QoS (качеством обслуживания сообщений),
  • очень низкое потребление ресурсов.

В реальных проектах Mosquitto применяется повсеместно:

  • Умный дом: связывает датчики движения, освещения, климат-контроля и позволяет управлять ими через мобильные приложения.
  • Логистика: системы вроде «СДЭК» и Boxberry используют Mosquitto для сбора данных с RFID-меток и датчиков температуры.
  • Нефтегазовая отрасль: «Газпром» и «Роснефть» передают телеметрию с удалённых буровых платформ, где каждый байт на счету.
  • Агротех: теплицы Краснодарского края автоматически регулируют полив и вентиляцию на основе данных, собранных через Mosquitto.
  • Городская инфраструктура: умные остановки в Москве и Казани передают расписание транспорта и погодные данные через MQTT.

Секрет успеха Mosquitto — в его простоте, надёжности и низких системных требованиях. Он запускается даже на VPS за 300 рублей в месяц, обрабатывая тысячи подключений.

maqit03

Подготовка Ubuntu 24.04 к установке Mosquitto

Прежде чем установить Mosquitto, убедитесь, что ваш сервер обновлён и готов к работе. Это минимизирует конфликты зависимостей и повысит стабильность системы.

Выполните обновление пакетов:

sudo apt update && sudo apt upgrade -y

Теперь установите два ключевых пакета:

  • mosquitto — сам брокер,
  • mosquitto-clients — утилиты командной строки для публикации и подписки на сообщения.
sudo apt install mosquitto mosquitto-clients -y

После установки Mosquitto автоматически запускается как системная служба. Проверьте её статус:

systemctl status mosquitto

Если видите active (running), всё в порядке. Если нет — запустите вручную и добавьте в автозагрузку:

sudo systemctl start mosquitto
sudo systemctl enable mosquitto

По умолчанию Mosquitto слушает порт 1883. Чтобы внешние устройства могли к нему подключаться, разрешите его в брандмауэре:

sudo ufw allow 1883/tcp

Это особенно важно, если вы разворачиваете сервер в российских дата-центрах, где UFW часто включён по умолчанию.

Почему Mosquitto лучше ставить на отдельный сервер?

Несмотря на скромные требования к ресурсам, выделение отдельного сервера под Mosquitto — разумное архитектурное решение. Вот почему:

  • Изолированность: MQTT-брокер становится центральным узлом вашей IoT-инфраструктуры. Если он находится на одном сервере с веб-приложением, сбой в PHP или базе данных может нарушить работу всех датчиков и устройств.
  • Безопасность: на выделенном сервере проще настроить строгие правила файрвола, TLS-шифрование и ограничить подключение только доверенным IP-адресам.
  • Масштабируемость: при росте числа устройств вы сможете легко увеличить ресурсы именно под брокер, не трогая остальную инфраструктуру.
  • Упрощённый мониторинг и резервное копирование: отдельный хост упрощает настройку Prometheus + Grafana, Zabbix или других систем наблюдения, а также автоматическое резервное копирование только конфигураций Mosquitto.

Даже для домашнего проекта с 10–15 устройствами отдельный VPS за 250–400 руб/мес — это вложение в стабильность и будущее расширение.

Как проверить, что Mosquitto работает корректно?

Простейший способ протестировать брокер — использовать встроенные клиенты mosquitto_sub и mosquitto_pub.

Откройте два терминала на сервере.

В первом подпишитесь на тестовый топик:

mosquitto_sub -h localhost -t test

Эта команда ожидает входящие сообщения в топик test.

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

mosquitto_pub -h localhost -t test -m "Проверка связи!"

Если вы увидели фразу «Проверка связи!» в первом терминале — поздравляем, Mosquitto работает!

Это базовый тест, но он подтверждает, что:

  • брокер запущен,
  • слушает локальные соединения,
  • обрабатывает публикации и подписки.

masqit05

Как подключиться к Mosquitto из внешней сети?

По умолчанию Mosquitto привязан только к localhost, поэтому внешние устройства не могут подключиться. Чтобы это исправить, нужно отредактировать конфигурационный файл.

Откройте файл конфигурации:

sudo nano /etc/mosquitto/mosquitto.conf

Добавьте в конец следующие строки:

listener 1883
allow_anonymous true

Разберём параметры:

  • listener 1883 — указывает Mosquitto слушать порт 1883 на всех интерфейсах (включая внешний IP).
  • allow_anonymous true — разрешает подключение без аутентификации (только для тестов!).

Сохраните файл и перезапустите службу:

sudo systemctl restart mosquitto

Теперь вы можете подключаться к брокеру с любого устройства в сети, используя публичный IP-адрес сервера и порт 1883.

Важно! Для продакшена никогда не оставляйте allow_anonymous true. Вместо этого настройте аутентификацию через логин/пароль и включите TLS. Мы расскажем об этом в будущих гайдах.

Графические клиенты: удобные инструменты для работы с Mosquitto

Работать с MQTT через командную строку — эффективно, но неудобно в крупных проектах. Графические клиенты значительно ускоряют разработку, отладку и мониторинг.

MQTT Explorer

Бесплатное приложение с интуитивным интерфейсом. Оно автоматически строит древовидную карту всех топиков, показывает последнее сообщение в каждом и позволяет:

  • подписываться и публиковать сообщения в один клик,
  • просматривать историю сообщений,
  • фильтровать топики по шаблону.

Идеально подходит для визуализации структуры IoT-системы.

MQTTX

Кроссплатформенный клиент (Windows, macOS, Linux) с поддержкой нескольких подключений. Позволяет:

  • хранить настройки подключений (продакшн, тест, dev),
  • настраивать QoS, retain-флаги, TLS,
  • автоматически переподключаться при обрыве связи.

Отличный выбор для разработчиков, работающих с разными средами.

Node-RED

Это не просто клиент, а графическая среда для проектирования IoT-логики. Через визуальные блоки вы можете:

  • принимать сообщения из Mosquitto,
  • обрабатывать их (например, фильтровать или логировать),
  • отправлять команды обратно на устройства,
  • интегрировать с HTTP-сервисами, базами данных, Telegram-ботами и т.д.

Node-RED часто используется для создания умных сценариев автоматизации «под ключ».

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

  • Host: IP-адрес вашего сервера,
  • Port: 1883,
  • Username/Password: оставьте пустыми (если включён allow_anonymous).

masqit02

Заключение: Mosquitto — надёжная основа для любого IoT-проекта

Установка и базовая настройка Mosquitto на Ubuntu 24.04 занимает менее 10 минут, но открывает дверь в мир умных, взаимосвязанных систем. Благодаря своей лёгкости, кроссплатформенности и поддержке промышленных стандартов, Mosquitto стал де-факто стандартом для MQTT-коммуникаций.

Независимо от масштаба — будь то умный дом, агротехнический комплекс или промышленная телеметрия — вы получаете:

  • минимальное потребление ресурсов,
  • высокую отказоустойчивость,
  • простоту интеграции с любыми устройствами,
  • возможность масштабирования «по мере роста».

Теперь, когда вы знаете, как установить Mosquitto на Ubuntu 24.04, настроить внешний доступ и подключить клиенты, можно смело приступать к созданию собственной IoT-экосистемы. А в будущих материалах мы расскажем, как защитить Mosquitto с помощью TLS и аутентификации, настроить кластеризацию и интеграцию с облачными платформами.

Удачного кодинга — и пусть ваши устройства всегда остаются на связи!