RBCAPI: различия между версиями
Vovan (обсуждение | вклад) (→Запрос на остановку записи) |
Vovan (обсуждение | вклад) (→Запрос на получение конфигурации RBC) |
||
Строка 149: | Строка 149: | ||
===Запрос на получение конфигурации RBC=== | ===Запрос на получение конфигурации RBC=== | ||
− | + | Параметр | |
device-id | device-id | ||
− | + | принимает значение MAC-адреса конкретного RBC. Например: | |
+ | |||
+ | 5465033FFFF3 | ||
====Запрос==== | ====Запрос==== | ||
<pre> | <pre> | ||
− | { "device-id" : " | + | { "device-id" : "5465033FFFF3", |
"command" : "conf", | "command" : "conf", | ||
"arguments" : { } } | "arguments" : { } } | ||
Строка 167: | Строка 169: | ||
<pre> | <pre> | ||
− | { "device-id" : " | + | { "device-id" : "5465033FFFF3", |
"command" : "conf", | "command" : "conf", | ||
"arguments" : { | "arguments" : { | ||
"conf" : { | "conf" : { | ||
− | "server-address" : " | + | "server-address" : "192.168.1.2", |
"server-port" : 3000, | "server-port" : 3000, | ||
"server-resource" : "\/ws", | "server-resource" : "\/ws", | ||
"server-use-tls?" : false, | "server-use-tls?" : false, | ||
− | "device-alias" : " | + | "device-alias" : "99", |
"camera-switch-timeout" : 15, | "camera-switch-timeout" : 15, | ||
− | |||
"session-auto-remove?" : false, | "session-auto-remove?" : false, | ||
− | + | "camera-front-resolution" : "1920x1080", | |
− | + | "camera-rear-resolution" : "1920x1080", | |
− | |||
− | "camera-front-resolution" : " | ||
− | |||
− | |||
− | |||
− | "camera-rear-resolution" : " | ||
"movement-detection-threshold" : 1.0 | "movement-detection-threshold" : 1.0 | ||
} | } | ||
} | } | ||
} | } | ||
+ | </pre> | ||
+ | |||
+ | , где | ||
+ | |||
+ | server-address, server-port, server-resource, server-use-tls? | ||
+ | |||
+ | -- параметры настройки RBC для подключения к SRV. | ||
+ | |||
+ | По умолчанию при аппаратном сбросе RBC должны быть установлены те, что указаны в примере ответа. | ||
+ | |||
+ | device-alias | ||
+ | |||
+ | -- номер устройства (аналогичный параметр описан выше) | ||
+ | |||
+ | camera-switch-timeout | ||
+ | |||
+ | -- таймаут в секундах, после которого происходит переключение устройства на запись с другой камеры | ||
+ | |||
+ | session-auto-remove? | ||
+ | |||
+ | -- флаг: удалять ли данные после успешной отправки их с RBC на SRV | ||
+ | |||
+ | camera-front-resolution, camera-rear-resolution | ||
+ | |||
+ | -- разрешения камер, которое нужно использовать для записи видеофрагментов | ||
+ | |||
+ | movement-detection-threshold | ||
− | + | -- коэффициент чувствительности акселерометра при детектировании старта движения | |
==От RBC к SRV== | ==От RBC к SRV== |
Версия 23:57, 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
Принцип работы параметра
device-id
аналогичен принципу, описанному ранее.
Запрос
{ "device-id" : "*", "command" : "rm", "arguments" : { "name": "*" } }
Ответ
{ "result" : "success" }
Запрос на получение конфигурации RBC
Параметр
device-id
принимает значение MAC-адреса конкретного RBC. Например:
5465033FFFF3
Запрос
{ "device-id" : "5465033FFFF3", "command" : "conf", "arguments" : { } }
Ответ
{ "device-id" : "5465033FFFF3", "command" : "conf", "arguments" : { "conf" : { "server-address" : "192.168.1.2", "server-port" : 3000, "server-resource" : "\/ws", "server-use-tls?" : false, "device-alias" : "99", "camera-switch-timeout" : 15, "session-auto-remove?" : false, "camera-front-resolution" : "1920x1080", "camera-rear-resolution" : "1920x1080", "movement-detection-threshold" : 1.0 } } }
, где
server-address, server-port, server-resource, server-use-tls?
-- параметры настройки RBC для подключения к SRV.
По умолчанию при аппаратном сбросе RBC должны быть установлены те, что указаны в примере ответа.
device-alias
-- номер устройства (аналогичный параметр описан выше)
camera-switch-timeout
-- таймаут в секундах, после которого происходит переключение устройства на запись с другой камеры
session-auto-remove?
-- флаг: удалять ли данные после успешной отправки их с RBC на SRV
camera-front-resolution, camera-rear-resolution
-- разрешения камер, которое нужно использовать для записи видеофрагментов
movement-detection-threshold
-- коэффициент чувствительности акселерометра при детектировании старта движения
От RBC к SRV
Это защищенная страница.