/osc/state
API จะแสดงแอตทริบิวต์ state
ของกล้อง ความแตกต่างระหว่าง API นี้และ 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
}
}