/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
[type](ไม่บังคับ)
สถานะเพิ่มเติมเกี่ยวกับกล้องโดยเจาะจงผู้ขาย ใส่เครื่องหมายขีดล่าง ( _ ) นำหน้าเพื่อป้องกันไม่ให้เนมสเปซขัดแย้งกัน
ข้อผิดพลาด
คำสั่งนี้จะไม่แสดงข้อผิดพลาด
ตัวอย่าง
คำขอ
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
}
}