MQTT: различия между версиями
Kilpio (обсуждение | вклад) |
Kilpio (обсуждение | вклад) |
||
Строка 124: | Строка 124: | ||
/devices/wb-w1/controls/28-0115a48fcfff 22.75 | /devices/wb-w1/controls/28-0115a48fcfff 22.75 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Подписаться можно не только на один топик, но и на группу по | ===Метасимволы=== | ||
Подписаться можно не только на один топик, но и на группу топиков по метасиволу. В MQTT применяется два метасимвола: '''#''' и '''+'''. Метасимвол ''#'' означает любое количество уровней вложенных топиков. Выполним команду | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
root@wirenboard:~# mosquitto_sub -t '/devices/wb-w1/#' -v | root@wirenboard:~# mosquitto_sub -t '/devices/wb-w1/#' -v | ||
Строка 132: | Строка 134: | ||
/devices/wb-w1/controls/28-0115a48fcfff 22.75 | /devices/wb-w1/controls/28-0115a48fcfff 22.75 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
В результат были выведены вывелись не только значения с "контрола" устройства, но и топики с метаданными - название драйвера устройства и тип "контрола" - ''temperature''. | |||
Существует так же метасимвол ''+'', который обозначает один уровень, а не произвольное количество,как ''#'': | Существует так же метасимвол ''+'', который обозначает один уровень, а не произвольное количество,как ''#'': | ||
<syntaxhighlight lang="bash"> | |||
mosquitto_sub -v -t "/config/widgets/+/name" | mosquitto_sub -v -t "/config/widgets/+/name" | ||
</syntaxhighlight> | |||
В этом случае мы получим имена всех виджетов. | |||