RU

WebSocket

Модель

🚩
Задача: Предположим, у вас есть датчик, который передает данные освещенности помещения и состояние включения лампы по протоколу WebSocket. В пакете данных информация приходит в формате JSON
{
  "luminosity": 134,
  "lamp": true
}
Также датчик реагирует на команды включения и выключения лампы, если в теле пакета данных приходит
{
  "device": "lamp",
  "data": 1
}
или
{
  "device": "lamp",
  "data": 0
}
Для подключения датчика к платформе создайте для него модель WebSocket.
В шаблонной модели есть несколько параметров. Создайте необходимые параметры для освещенности и состояния лампы, а все лишние параметры удалите.
Также в шаблонной модели есть две команды, отредактируйте их:
  1. смените идентификатор на более подходящий по смыслу;
  2. смените имя, с которым команда отображается в интерфейсе;
  3. укажите текст команд согласно тому, что ожидает принять устройство.
Посмотрите превью объекта с моделью, которую вы создали, нажав кнопку Показать превью.

Объект

Создайте объект для вашего датчика. Выберите модель, которую только что создали. Затем введите идентификатор, который используется в URL-адресе при подключении. Укажите имя объекта. Для дополнительной защиты доступа к объекту в разделе ws_auth задайте логин и пароль.
Нажмите кнопку Сохранить.

Подключение

Для подключения устройства к платформе укажите адрес
  • ws://ws.dev.rightech.io - для подключения по HTTP;
  • wss://ws.dev.rightech.io - для подключения по HTTPS.
Полный URL-адрес должен выглядеть следующим образом
  • ws://ws.dev.rightech.io/api/v1/objects/ws_lamp/connect
Если вы задавали логин и пароль, не забудьте указать их в соответствующем заголовке
Authorization: Basic bXlfbG9naW46bXlfcGFzc3dvcmQ=
иначе подключиться к объекту не получится.
Убедитесь, что данные от устройства присылаются и отображаются в интерфейсе.
Отправьте команды и проверьте, что подключенное устройство на них реагирует.