State

API /osc/state возвращает атрибуты state камеры. Разница между этим и info API заключается в том, что state содержит изменяемые значения, представляющие состояние камеры (например, batteryLevel ), тогда как info содержит только статические атрибуты камеры (например, manufacturer или атрибуты, которые не часто меняются, например, firmwareVersion) .

Вход

  • Эта команда не требует ввода.

Выход

Имя Тип Описание
fingerprint Нить Отпечаток пальца (уникальный идентификатор) текущего состояния камеры.
state Объект Объект JSON, содержащий статус различных состояний камеры. См. следующую таблицу.

state объект

Этот объект JSON предоставляет статус различных состояний камеры. Производители могут предоставлять новые, настраиваемые состояния, которым следует начинать с префикса подчеркивания ( _ ), чтобы предотвратить конфликты пространств имен.

Имя Тип Описание
sessionId Нить Идентификатор текущего сеанса. Это поле устарело на уровне API 2.
batteryLevel Число Выражается как значение оставшегося заряда батареи с плавающей запятой, например 0,5.
storageChanged логическое значение Истинно, если вставлен/извлечен новый тип хранилища (например, SD-карта или USB-накопитель). Это поле устарело на уровне API 2.
storageUri Нить Уникальный идентификатор, позволяющий различать разные хранилища. Он используется для определения того, изменилось ли хранилище или нет. Это поле было добавлено на уровне API 2.
_vendorSpecific [тип] (необязательно) Дополнительные сведения о камере, зависящие от поставщика. Префикс с подчеркиванием ( _ ), чтобы предотвратить конфликты пространств имен.

Ошибка

  • Эта команда не возвращает ошибок.

Пример

Запрос
POST /osc/state HTTP/1.1
Host: [camera ip address]:[httpPort]
Accept: application/json
X-XSRF-Protected: 1
Ответ
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf-8
Content-Length: {CONTENT_LENGTH}
X-Content-Type-Options: nosniff

{
    "fingerprint": "12EGA33",
    "state": {
        "sessionId": "12ABC3",
        "batteryLevel": 0.5,
        "storageChanged": false
    }
}