RBCAPI: различия между версиями
Vovan (обсуждение | вклад) (Новая страница: « <accesscontrol>Administrators,,</accesscontrol>») |
Vovan (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
+ | =Взаимодействие= | ||
+ | Клиент (далее -- RBC (RecBot Client)) подключается к вебсокету вида | ||
+ | |||
+ | https://sys-domain.net:8092/ws | ||
+ | |||
+ | После соединения с серверным API (далее -- SRV) как RBC, так и SRV могут делать запросы в вебсокет, соответственно, противоположная сторона на них должна отвечать. | ||
+ | |||
+ | Для взаимодействия посредством простых json сообщений (кроме получения файла с данными от RBC) для тестирования достаточно использовать утилиту | ||
+ | |||
+ | wscat | ||
+ | |||
+ | |||
+ | =Базовые запросы= | ||
+ | |||
+ | ==От SRV к RBC== | ||
+ | |||
+ | Запрос статуса устройств или устройства | ||
+ | |||
+ | <pre> | ||
+ | |||
+ | { "device-id": "*", "command": "status", "arguments": { } } | ||
+ | </pre> | ||
+ | |||
+ | , где | ||
+ | |||
+ | device-id | ||
+ | |||
+ | -- MAC-адрес RBC, переданный без разделителей например: | ||
+ | |||
+ | 5465033FFFF3 | ||
+ | |||
+ | В случае указании значения | ||
+ | |||
+ | * | ||
+ | |||
+ | или в случае совпадения передаваемого MAC-адреса с MAC-адресом RBC в ответ на SRV должен придти запрос (он же ответ -- с т.з. RBC) вида: | ||
+ | |||
+ | |||
+ | <pre> | ||
+ | { "result" : "success", | ||
+ | "status" : | ||
+ | { "device-id" : "5465033FFFF3", | ||
+ | "device-alias" : "3", | ||
+ | "battery-level" : 100, | ||
+ | "uptime" : 17157021, | ||
+ | "recording?" : false, | ||
+ | "current-camera" : 1, | ||
+ | "recordings": 9 } } | ||
+ | </pre> | ||
+ | |||
+ | , где | ||
+ | |||
+ | device-alias | ||
+ | |||
+ | -- номер устройства (тот номер, который должен высвечиваться на дисплее устройства) | ||
+ | |||
+ | battery-level | ||
+ | |||
+ | -- процент заряда батарейки RBC | ||
+ | |||
+ | uptime | ||
+ | |||
+ | -- время в секундах с момента загрузки RBC | ||
+ | |||
+ | recording | ||
+ | |||
+ | -- флаг, показывающий: идёт ли в данный момент запись видео на устройство | ||
+ | |||
+ | current-camera | ||
+ | |||
+ | -- номер камеры, которая в данный момент записывает (0 - обе, 1 - первая камера (основная), 2 - вторая камера (дополнительная)) | ||
+ | |||
+ | recordings | ||
+ | |||
+ | -- общее количество видеозаписей | ||
+ | |||
+ | ==От RBC к SRV== | ||
<accesscontrol>Administrators,,</accesscontrol> | <accesscontrol>Administrators,,</accesscontrol> |
Версия 23:30, 3 июня 2021
Взаимодействие
Клиент (далее -- RBC (RecBot Client)) подключается к вебсокету вида
https://sys-domain.net:8092/ws
После соединения с серверным API (далее -- SRV) как RBC, так и SRV могут делать запросы в вебсокет, соответственно, противоположная сторона на них должна отвечать.
Для взаимодействия посредством простых json сообщений (кроме получения файла с данными от RBC) для тестирования достаточно использовать утилиту
wscat
Базовые запросы
От SRV к RBC
Запрос статуса устройств или устройства
{ "device-id": "*", "command": "status", "arguments": { } }
, где
device-id
-- MAC-адрес RBC, переданный без разделителей например:
5465033FFFF3
В случае указании значения
*
или в случае совпадения передаваемого MAC-адреса с MAC-адресом RBC в ответ на SRV должен придти запрос (он же ответ -- с т.з. RBC) вида:
{ "result" : "success", "status" : { "device-id" : "5465033FFFF3", "device-alias" : "3", "battery-level" : 100, "uptime" : 17157021, "recording?" : false, "current-camera" : 1, "recordings": 9 } }
, где
device-alias
-- номер устройства (тот номер, который должен высвечиваться на дисплее устройства)
battery-level
-- процент заряда батарейки RBC
uptime
-- время в секундах с момента загрузки RBC
recording
-- флаг, показывающий: идёт ли в данный момент запись видео на устройство
current-camera
-- номер камеры, которая в данный момент записывает (0 - обе, 1 - первая камера (основная), 2 - вторая камера (дополнительная))
recordings
-- общее количество видеозаписей
От RBC к SRV
Это защищенная страница.