RBCAPI: различия между версиями
Vovan (обсуждение | вклад) (→Запрос статуса устройств или устройства) |
Vovan (обсуждение | вклад) (→Запрос на старт записи) |
||
| Строка 100: | Строка 100: | ||
Как минимум, должно быть указано одно устройство | Как минимум, должно быть указано одно устройство | ||
| + | |||
| + | ====Ответ==== | ||
| + | |||
| + | { "result" : "success" } | ||
| + | |||
| + | ===Запрос на остановку записи=== | ||
| + | |||
| + | Принцип работы параметра | ||
| + | |||
| + | device-id | ||
| + | |||
| + | аналогичен принципу, описанному ранее. | ||
| + | |||
| + | ====Запрос==== | ||
| + | |||
| + | <pre> | ||
| + | { "device-id" : "*", | ||
| + | "command" : "stop", | ||
| + | "arguments" : {} } | ||
| + | </pre> | ||
====Ответ==== | ====Ответ==== | ||
Версия 23:41, 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
-- общее количество видеозаписей
Запрос на старт записи
Принцип работы параметра
device-id
аналогичен принципу, описанному в предыдущем разделе.
Запрос
{ "device-id" : "*",
"command" : "start",
"arguments" : {"devices": [ "front", "rear" ] } }
в массиве
arguments.devices
может быть одно или два значения, наличие которых в запросе определяет: запись с каких камер должна осуществляться.
Как минимум, должно быть указано одно устройство
Ответ
{ "result" : "success" }
Запрос на остановку записи
Принцип работы параметра
device-id
аналогичен принципу, описанному ранее.
Запрос
{ "device-id" : "*",
"command" : "stop",
"arguments" : {} }
Ответ
{ "result" : "success" }
От RBC к SRV
Это защищенная страница.