CoderTools

Тестер MQTT топиков

Проверка шаблонов подписки MQTT и тестирование соответствия топиков

Используйте + для одного уровня, # для нескольких уровней

Введите по одному топику в строке для проверки по шаблону

Быстрые примеры

Результаты

Введите шаблон и топики для проверки

Совпало
Не совпало

Справка по знакам

+ Одноуровневый знак

Соответствует ровно одному уровню топика в своей позиции.

sensor/+/temp ✓ sensor/room1/temp
sensor/+/temp ✗ sensor/room1/sub/temp

# Многоуровневый знак

Соответствует любому количеству уровней. Должен быть последним символом в шаблоне.

sensor/# ✓ sensor/a/b/c
home/+/# ✓ home/room/temp/value

Руководство по шаблонам MQTT топиков

Что такое MQTT топик?

MQTT топики — это строки UTF-8, используемые для фильтрации сообщений. Они иерархичны, уровни разделены косой чертой (/). Топики чувствительны к регистру и могут содержать почти любые символы.

Структура топика

Типичный MQTT топик следует иерархической структуре, например 'здание/этаж/комната/датчик/тип'. Это позволяет создавать гибкие шаблоны подписки с использованием подстановочных знаков.

Лучшие практики

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

Часто задаваемые вопросы

В чем разница между знаками + и #?

Знак + соответствует ровно одному уровню (напр., 'sensor/+/temp' соответствует 'sensor/кухня/temp'), тогда как # соответствует любому количеству уровней и должен быть последним (напр., 'home/#' соответствует 'home', 'home/зал', 'home/зал/свет').

Могу ли я использовать подстановочные знаки при публикации?

Нет, знаки (+ и #) можно использовать только в фильтрах подписки. При публикации сообщения вы должны указать точное имя топика без подстановочных знаков.

Чувствительны ли MQTT топики к регистру?

Да, MQTT топики чувствительны к регистру. 'Home/Temperature' и 'home/temperature' считаются совершенно разными топиками. Всегда придерживайтесь единого регистра в именах топиков.

Быстрое меню

Нет недавних инструментов