3 бесплатных MQTT-сервера для тестирования ESP32
При разработке IoT-проектов на ESP32 почти всегда возникает один и тот же вопрос: где быстро взять MQTT-сервер для тестов?
Нужно ли поднимать брокер локально? Использовать компьютер, телефон, отдельный сервер? Платные сервисы или есть бесплатные варианты? А если сервер нужен всего на несколько дней для отладки скетча?
Именно эта неопределённость часто выбивает из рабочего потока. Вместо написания кода приходится тратить время на поиск, установку и настройку MQTT-брокера.
В этой статье я собрал 3 бесплатных MQTT-сервера, которые полностью готовы к использованию. Никаких установок, регистраций и сложной конфигурации — просто берёте параметры и сразу тестируете свои ESP32-скетчи.
Общий принцип тестирования MQTT на ESP32
Для демонстрации работы каждого брокера используется простой тестовый скетч:
- ESP32 подключается к Wi-Fi
- Затем подключается к MQTT-серверу
- Каждые 5 секунд отправляет сообщение-счётчик в MQTT-топик
- Принимает сообщения из того же топика и выводит их в Serial Monitor
В качестве клиента используется библиотека EspMQTTClient, которая автоматически управляет подключением к Wi-Fi и MQTT.
Рекомендуется использовать уникальные имена топиков, так как все серверы публичные и ими одновременно пользуются другие разработчики.
1. test.mosquitto.org — публичный брокер Mosquitto
Первый сервер — test.mosquitto.org. Это публичный MQTT-брокер, к доступу к которому не требуется регистрация.
Основные особенности
- Доступ без регистрации
- Несколько портов для тестирования
- Поддержка шифрования и сертификатов
Доступные порты
- 1883 — без шифрования, без логина и пароля
- 1884 — с логином и паролем
- Дополнительные порты с TLS и сертификатами
Сообщения на сервере хранятся примерно 20 секунд, что вполне достаточно для отладки.
Недостатки
- Настройки разбросаны по странице и неочевидны
- Сервер часто перегружен
- Первое подключение может занимать много времени
При тестировании через MQTT Explorer видно большое количество чужих топиков, поэтому крайне важно использовать собственные уникальные имена.
#include <EspMQTTClient.h>
const char* WIFI_SSID = " ";
const char* WIFI_PASSWORD = " ";
const char* MQTT_HOST = "test.mosquitto.org";
const int MQTT_PORT = 1884;
const char* MQTT_USER = "rw";
const char* MQTT_PASS = "readwrite";
const char* MQTT_CLIENT_ID = "esp32_client_1";
const char* MQTT_TOPIC = "esp32-wroom";
EspMQTTClient client(
WIFI_SSID,
WIFI_PASSWORD,
MQTT_HOST,
MQTT_USER,
MQTT_PASS,
MQTT_CLIENT_ID,
MQTT_PORT
);
unsigned long lastSend = 0;
int counter = 0;
void onConnectionEstablished() {
client.subscribe(MQTT_TOPIC, [](const String &payload) {
Serial.print("Получено из топика ");
Serial.print(MQTT_TOPIC);
Serial.print(": ");
Serial.println(payload);
});
}
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println("Start ESP32 MQTT example");
}
void loop() {
client.loop(); // обязательно вызывать в loop()
unsigned long now = millis();
if (now - lastSend >= 5000) { // каждые 2 секунды
lastSend = now;
String msg = String(counter++);
if(client.isMqttConnected()){
client.publish(MQTT_TOPIC, msg);
Serial.print("Опубликовано в ");
Serial.print(MQTT_TOPIC);
Serial.print(": ");
Serial.println(msg);
}
}
}
2. mqtt.pro — удобная демо-песочница
Второй брокер — mqtt.pro. Это один из самых удобных вариантов для быстрых тестов и экспериментов.
Преимущества
- Готовые настройки для копирования
- Логин и пароль уже заданы
- Не требуется регистрация
Ограничения
- Не более 20 сообщений в секунду с одного IP
- Размер сообщения — до 1 КБ
- Все данные очищаются каждую ночь
Логин и пароль периодически меняются, что защищает сервер от злоупотреблений.
При тестировании сервер работает стабильно, подключение проходит уверенно, а количество лишних сообщений значительно меньше, чем у Mosquitto.
const char* MQTT_HOST = "public.mqtt.pro"; const int MQTT_PORT = 1883; const char* MQTT_USER = "ajbkvbp/test-user"; const char* MQTT_PASS = "mIajDWuzPaTcvsnj"; const char* MQTT_CLIENT_ID = "esp32_client_1"; const char* MQTT_TOPIC = "esp32-wroom";
3. HiveMQ (mqtt-dashboard.com) — быстрый и «чистый» сервер
Третий сервер предоставлен компанией HiveMQ. Настройки доступны через сервис mqtt-dashboard.com.
Особенности
- 4 доступных порта
- Нет логина и пароля
- Очень быстрое подключение
Отсутствие логина и пароля — серьёзный минус, если вы тестируете проекты для заказчиков. Однако для быстрых проверок это отличный вариант.
Главное преимущество
На сервере нет лишних системных и чужих топиков. Отображаются только пользовательские данные, что делает отладку максимально наглядной.
HiveMQ честно предупреждает, что сервер предназначен только для тестов и не подходит для продакшена.
const char* MQTT_HOST = "broker.hivemq.com"; const int MQTT_PORT = 1883; const char* MQTT_USER = ""; const char* MQTT_PASS = ""; const char* MQTT_CLIENT_ID = "esp32_client_1"; const char* MQTT_TOPIC = "esp32-wroom";
Сравнение MQTT-серверов

Все три брокера подходят для разных задач:
- HiveMQ mqtt-dashboard.com — если нужна максимальная простота без логина и пароля
- mqtt.pro/public-broker/ — если важна аутентификация
- test.mosquitto.org — если нужно поработать с TLS и сертификатами
Я сам периодически возвращаюсь к этому списку, чтобы быстро выбрать нужный сервер под конкретную задачу.
Разработка устройств и плат под заказ
Моя основная работа — проектирование и производство электронных плат, а также разработка устройств на базе программируемых контроллеров (ESP32, ESP8266, Arduino и другие).
Я специализируюсь на удалённом беспроводном сборе данных с электронных датчиков и отправке информации в облако.
Портфолио реализованных проектов
Если у вас есть идея — просто опишите задачу простыми словами, и мы вместе превратим её в рабочий коммерческий продукт.
Надеюсь, эта статья станет для вас таким же удобным справочником, каким она стала для меня.
SIM800L как припаять гребенку
Привет, друзья! Это короткая статья под названием SIM800L как припаять гребенку. Модули GSM связ..
Arduino SIM800 GPRS HTTP GET запрос
Привет, друзья! Мы с каждым разом разбираем все более интересные применения GSM-модуля SIM800. В это..
Модуль реле 2-канальный 5В 10А
2-канальный модуль реле для подключения напрямую к дискретному выходу контроллера. Светодиодная инди..
76.14грн.
Потенциометр Robotale
Двухканальный переменный резистор прямолинейной конструкцииСопротивление 10 кОмРазмеры 90 х 20 мм..
111.67грн.
Модуль датчика расстояния TCRT5000
Модуль для измерения расстояния по интенсивности отражения инфракрасного луча от объекта.Имеет дискр..
28.30грн.




