MQTT Dash: различия между версиями
Matveevrj (обсуждение | вклад) |
Matveevrj (обсуждение | вклад) |
||
(не показано 26 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE: Подключение MQTT Dash к контроллеру Wiren Board }} | |||
{{DISPLAYTITLE: MQTT Dash | |||
== Введение == | == Введение == | ||
[[Image: MQTTDash_panel1.jpg |170px|thumb|right| Панель управления MQTT Dash ]] | |||
MQTT Dash — мобильное приложение для работы с протоколом [[MQTT | MQTT]]. Позволяет создавать пользовательские панели управления и управлять устройствами умного дома с помощью смартфона или планшета. | MQTT Dash — мобильное приложение для работы с протоколом [[MQTT | MQTT]]. Позволяет создавать пользовательские панели управления и управлять устройствами умного дома с помощью смартфона или планшета. | ||
Связать MQTT Dash с контроллером Wiren Board можно двумя способами: | |||
#Считывать MQTT топики напрямую с контроллера, если контроллер и мобильное устройство с MQTT Dash работают в одной сети или контроллер имеет «белый» IP-адрес. | |||
#Настроть передачу через [[MQTT#Работа_с_сообщениями_MQTT_с_внешнего_устройства | внешний MQTT-брокер]]. В этом случае «белый» IP-адрес контроллеру не нужен. | |||
== Установка и подключение к брокеру== | |||
'''Установите приложение''' [https://play.google.com/store/apps/details?id=net.routix.mqttdash MQTT Dash из GooglePlay] на смартфон или планшет. | |||
'''Создайте новое подключение.''' В MQTT Dash можно создать несколько подключений, которые будут получать данные от разных брокеров или от одного брокера. Это удобно если вам нужно контролировать несколько помещений. | '''Создайте новое подключение.''' В MQTT Dash можно создать несколько подключений, которые будут получать данные от разных брокеров или от одного брокера. Это удобно если вам нужно контролировать несколько помещений. | ||
Чтобы создать новое подключение выполните следующие действия: | |||
#Нажмите «'''+'''» в правом верхнем углу экрана. | |||
#В появившемся окне задайте произвольное '''Имя''' подключения, которое будет отображаться на главном экране. | |||
#Введите '''Адрес''' и '''Порт''', полученные от внешнего брокера или, в случае локального подключения, введите IP-адрес контроллера и порт 1883. О том как передавать данные с контроллера на внешний брокер читайте на странице про [[MQTT | MQTT в Wiren Board]]. | |||
#Укажите предоставленные брокером '''Имя пользователя''' и '''Пароль пользователя'''. При локальном подключении оставьте эти поля пустыми. | |||
# '''Идентификатор клиента''' можно оставить по умолчанию. | |||
#Задайте размер плиток и количество колонок с метриками по вертикали и горизонтали. | |||
#Нажмите дискету в правом верхнем углу экрана. Вы попадете на главный экран и увидите созданное подключение. | |||
#Откройте созданное подключение. Если никаких уведомлений не появилось значит подключение выполнено успешно. Если появились уведомления с ошибками, проверьте правильность заполнения данных. | |||
<gallery mode="packed" heights="300px"> | |||
<gallery mode="packed" heights=" | |||
Image: MQTTDash_config1.jpg | Пример настроек подключения MQTT Dash напрямую к контроллеру Wiren Board | Image: MQTTDash_config1.jpg | Пример настроек подключения MQTT Dash напрямую к контроллеру Wiren Board | ||
Image: MQTTDash_config2.jpg | Пример настроек подключения MQTT Dash к внешнему брокеру | Image: MQTTDash_config2.jpg | Пример настроек подключения MQTT Dash к внешнему брокеру | ||
Image: MQTTDash_example5.jpg | Главный экран MQTT Dash | |||
</gallery> | </gallery> | ||
После | == Добавление устройств == | ||
После создания подключения к MQTT-брокеру можно создавать метрики: | |||
#Откройте созданное подключение и нажмите «'''+'''» в правом верхнем углу экрана. | |||
#Выберите тип метрики соответствующий типу подключаемого параметра. | |||
#В открывшемся окне настройки задайте '''Имя''' и '''Адрес''' топика. Адрес топика можно посмотреть на вкладке '''Настройки-Каналы MQTT''' в [[Wiren_Board_Web_Interface | веб-интерфейсе]] контроллера или воспользоваться программой [[MQTT_Explorer | MQTT Explorer]]. | |||
#:Обратите внимание, что для чтения значения топика необходимо указать его адрес в поле '''Topic (sub)''' в виде <code>/devices/buzzer/controls/enabled</code>. | |||
#:Для записи параметра в топик необходимо указать в поле '''Topic (pub)''' адрес топика<code>/devices/buzzer/controls/enabled/on</code>. | |||
#Поставьте галку '''«Включить публикацию»''', если метрика используется для публикации значения в топик. | |||
#Задайте дополнительные параметры метрики, такие как цвет, изображение значка и т.д. | |||
#Нажмите дискету в правом верхнем углу чтобы сохранить созданную метрику. Чтобы не заполнять одни и те же данные при создании нескольких однотипных метрик используйте инструмент '''«Клонировать»'''. | |||
<gallery mode="packed" heights="350px"> | |||
Поставьте галку ''«Включить публикацию»'', если | |||
<gallery mode="packed" heights="350px"> | |||
Image: MQTTDash_example1.jpg| Настройка метрики типа ''Переключатель'' для зуммера контроллера Wiren Board | Image: MQTTDash_example1.jpg| Настройка метрики типа ''Переключатель'' для зуммера контроллера Wiren Board | ||
Image: MQTTDash_example2.jpg | Настройка метрики типа ''Переключатель'' для модуля реле WB-MR6C | Image: MQTTDash_example2.jpg | Настройка метрики типа ''Переключатель'' для модуля реле WB-MR6C | ||
Image: MQTTDash_example3.jpg | Настройка метрики типа ''Текст'' для вывода напряжения питания | Image: MQTTDash_example3.jpg | Настройка метрики типа ''Текст'' для вывода напряжения питания | ||
Image: MQTTDash_example6.jpg | Настройка метрики типа ''Диапазон'' для управления громкостью зуммера | |||
Image: MQTTDash_example4.jpg | Отображение метрик на панели MQTT Dash | Image: MQTTDash_example4.jpg | Отображение метрик на панели MQTT Dash | ||
</gallery> | </gallery> | ||
== Управление цветом RGB ленты с помощью MQTT Dash == | |||
[[Image: RGB_mqttdash.jpg |200px|thumb|right| Пример настройки метрики типа ''Цвет'' для управления цветом RGB-ленты]] | |||
Для управления цветом RGB ленты в MQTT Dash есть специальная метрика '''Цвет'''. Но чтобы использовать эту метрику с Wiren Board нужно преобразовать код цвета полученный из MQTT Dash из формата HEX в формат RGB. К контроллеру RGB-лента подключается с помощью диммера светодиодных лент [[WB-MRGBW-D_Modbus_LED_Dimmer | WB-MRGBW-D]]. | |||
Для этого можно воспользоваться следующим [[Wb-rules | правилом]] (скриптом): | |||
<syntaxhighlight lang="ecmascript"> | |||
defineVirtualDevice("colorButton", | |||
{ | |||
title: "Color Buttons", //Имя виртуального устройства | |||
cells: { | |||
"Dimmer 1": { | |||
type: "text", | |||
readonly: false, | |||
//forceDefault: true, | |||
value: "", | |||
}, | |||
} | |||
}); | |||
defineRule("color_convert", { | |||
whenChanged: "colorButton/Dimmer 1", | |||
then: function (newValue){ | |||
if(newValue.substring(0,1) == "#") { | |||
newValue = newValue.substring(1); | |||
} | |||
r = parseInt("0x"+newValue.slice(0, 2)); | |||
g = parseInt("0x"+newValue.slice(2, 4)); | |||
b = parseInt("0x"+newValue.slice(4, 6)); | |||
log.info("R;G;B",r+";"+g+";"+b) | |||
dev["wb-mrgbw-d-fw3_129/RGB Palette"] = r+";"+g+";"+b // R;G;B, строка передаваемая в топик диммера LED-лент | |||
} | |||
}); | |||
</syntaxhighlight> | |||
Скрипт создает новый MQTT-топик, который получает HEX-код цвета из MQTT Dash. Затем этот код преобразуется в формат RGB и записывается в соответствующий топик диммера RGB-ленты. | |||
== Полезные ссылки == | == Полезные ссылки == |
Текущая версия на 17:22, 6 апреля 2023
Введение
MQTT Dash — мобильное приложение для работы с протоколом MQTT. Позволяет создавать пользовательские панели управления и управлять устройствами умного дома с помощью смартфона или планшета.
Связать MQTT Dash с контроллером Wiren Board можно двумя способами:
- Считывать MQTT топики напрямую с контроллера, если контроллер и мобильное устройство с MQTT Dash работают в одной сети или контроллер имеет «белый» IP-адрес.
- Настроть передачу через внешний MQTT-брокер. В этом случае «белый» IP-адрес контроллеру не нужен.
Установка и подключение к брокеру
Установите приложение MQTT Dash из GooglePlay на смартфон или планшет.
Создайте новое подключение. В MQTT Dash можно создать несколько подключений, которые будут получать данные от разных брокеров или от одного брокера. Это удобно если вам нужно контролировать несколько помещений.
Чтобы создать новое подключение выполните следующие действия:
- Нажмите «+» в правом верхнем углу экрана.
- В появившемся окне задайте произвольное Имя подключения, которое будет отображаться на главном экране.
- Введите Адрес и Порт, полученные от внешнего брокера или, в случае локального подключения, введите IP-адрес контроллера и порт 1883. О том как передавать данные с контроллера на внешний брокер читайте на странице про MQTT в Wiren Board.
- Укажите предоставленные брокером Имя пользователя и Пароль пользователя. При локальном подключении оставьте эти поля пустыми.
- Идентификатор клиента можно оставить по умолчанию.
- Задайте размер плиток и количество колонок с метриками по вертикали и горизонтали.
- Нажмите дискету в правом верхнем углу экрана. Вы попадете на главный экран и увидите созданное подключение.
- Откройте созданное подключение. Если никаких уведомлений не появилось значит подключение выполнено успешно. Если появились уведомления с ошибками, проверьте правильность заполнения данных.
Добавление устройств
После создания подключения к MQTT-брокеру можно создавать метрики:
- Откройте созданное подключение и нажмите «+» в правом верхнем углу экрана.
- Выберите тип метрики соответствующий типу подключаемого параметра.
- В открывшемся окне настройки задайте Имя и Адрес топика. Адрес топика можно посмотреть на вкладке Настройки-Каналы MQTT в веб-интерфейсе контроллера или воспользоваться программой MQTT Explorer.
- Обратите внимание, что для чтения значения топика необходимо указать его адрес в поле Topic (sub) в виде
/devices/buzzer/controls/enabled
. - Для записи параметра в топик необходимо указать в поле Topic (pub) адрес топика
/devices/buzzer/controls/enabled/on
.
- Обратите внимание, что для чтения значения топика необходимо указать его адрес в поле Topic (sub) в виде
- Поставьте галку «Включить публикацию», если метрика используется для публикации значения в топик.
- Задайте дополнительные параметры метрики, такие как цвет, изображение значка и т.д.
- Нажмите дискету в правом верхнем углу чтобы сохранить созданную метрику. Чтобы не заполнять одни и те же данные при создании нескольких однотипных метрик используйте инструмент «Клонировать».
Управление цветом RGB ленты с помощью MQTT Dash
Для управления цветом RGB ленты в MQTT Dash есть специальная метрика Цвет. Но чтобы использовать эту метрику с Wiren Board нужно преобразовать код цвета полученный из MQTT Dash из формата HEX в формат RGB. К контроллеру RGB-лента подключается с помощью диммера светодиодных лент WB-MRGBW-D.
Для этого можно воспользоваться следующим правилом (скриптом):
defineVirtualDevice("colorButton",
{
title: "Color Buttons", //Имя виртуального устройства
cells: {
"Dimmer 1": {
type: "text",
readonly: false,
//forceDefault: true,
value: "",
},
}
});
defineRule("color_convert", {
whenChanged: "colorButton/Dimmer 1",
then: function (newValue){
if(newValue.substring(0,1) == "#") {
newValue = newValue.substring(1);
}
r = parseInt("0x"+newValue.slice(0, 2));
g = parseInt("0x"+newValue.slice(2, 4));
b = parseInt("0x"+newValue.slice(4, 6));
log.info("R;G;B",r+";"+g+";"+b)
dev["wb-mrgbw-d-fw3_129/RGB Palette"] = r+";"+g+";"+b // R;G;B, строка передаваемая в топик диммера LED-лент
}
});
Скрипт создает новый MQTT-топик, который получает HEX-код цвета из MQTT Dash. Затем этот код преобразуется в формат RGB и записывается в соответствующий топик диммера RGB-ленты.
Полезные ссылки