Mockquitto

mockquitto — MQTT сервер и генератор MQTT сообщений с полезной нагрузкой в формате JSON и поддержкой любых других форматов. Основан на ответвлении библиотеки HBMQTT.

Быстрый старт

В состав Mockquitto входят генератор сообщений mockquitto-async-generator и сервер mockquitto-server как отдельные приложения, запускающиеся и работающие независимо друг от друга.

Генератор сообщений

Для запуска генератора сообщений необходимо использовать утилиту командной строки mockquitto-async-generator. Она позволяет генерировать сообщения для различных кейсов IoT Академии. По умолчанию при запуске mockquitto-async-generator без параметров происходит попытка подключения клиента к серверу, работающему на порту 1883, и генерация сообщений от устройств, необходимых для кейса №1.

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

mockquitto-async-generator

Чтобы указать порт, на котором запущен сервер, необходимо использовать опцию -p. Например, чтобы подключиться к серверу, слушающему порт 1884, необходимо запустить генератор со следующими опциями:

mockquitto-async-generator -p 1884

Чтобы указать номер кейса, для которого нужно генерировать сообщения, необходимо использовать опцию -c или --case. Например:

mockquitto-async-generator -c 1

Генератор поддерживает разные периоды генерации сообщений. По умолчанию он посылает сообщения каждую секунду. Чтобы указать период генерации сообщений, необходимо использовать опцию --period:

mockquitto-async-generator --period 2

Сервер

Mockquitto также предоставляет MQTT сервер. Сервер может быть запущен из консоли при помощи команды mockquitto-server. Сервер попытается осуществить привязку к порту 1883, и если порт занят другим приложением, mocqkuitto-server будет использовать первый доступный порт после 1883.

Запуск сервера выглядит следующим образом:

mockquitto-server

Опции

В настоящее время только mockquitto-async-generator поддерживает опции командной строки.

Опции mockquitto-async-generator

-p, --port Порт MQTT сервера.
--period Период генерации сообщений.
-c, --case Номер кейса, для которого будут генерироваться сообщения.
-v Выводить больше сообщений в консоль. Опция аддитивная, и она может использоваться до трёх раз (-vvv).
-q Выводить меньше сообщений в консоль. Опция аддитивная, и она может использоваться до двух раз (-qq).
--log-file Путь к лог-файлу для сообщений.
-V, --version Вывести версию программы и вайти.