
จอแสดงผล Google Nest Hub Max รองรับใน Smart Device Management (SDM) API อุปกรณ์นี้จะแสดงผลประเภทอุปกรณ์เป็น DISPLAY ดังนี้
sdm.devices.types.DISPLAY
Google Nest Hub Max มีกล้องที่ใช้งานได้เหมือนกับกล้อง CAMERA
ลักษณะเฉพาะ
ข้อมูลอ้างอิง
ลักษณะเฉพาะ คําสั่ง หรือเหตุการณ์ต่อไปนี้เกี่ยวข้องกับอุปกรณ์นี้
ลักษณะเฉพาะ | คำอธิบาย | คำสั่ง | กิจกรรม |
---|---|---|---|
รูปภาพจากกล้อง | ลักษณะนี้เป็นของอุปกรณ์ที่รองรับการสร้างรูปภาพจากกิจกรรม | สร้างรูปภาพ | |
รูปภาพจากกล้อง | ลักษณะนี้เป็นของอุปกรณ์ทั้งหมดที่รองรับการถ่ายภาพ | ||
กล้องสตรีมแบบสด | ลักษณะนี้เป็นของอุปกรณ์ที่รองรับสตรีมมิงแบบสด | GenerateRtspStream ExpandRtspStream StopRtspStream | |
CameraMotion | ลักษณะนี้เป็นของอุปกรณ์ที่รองรับเหตุการณ์การตรวจจับการเคลื่อนไหว | การเคลื่อนไหว | |
เจ้าหน้าที่ถ่ายภาพ | ลักษณะนี้เป็นของอุปกรณ์ที่รองรับการสนับสนุนการตรวจจับบุคคล | บุคคล | |
กล้องเสียง | ลักษณะนี้เป็นของอุปกรณ์ที่รองรับเหตุการณ์การตรวจจับเสียง | เสียง | |
ข้อมูล | ลักษณะนี้เป็นของทุกอุปกรณ์สําหรับข้อมูลที่เกี่ยวข้องกับอุปกรณ์ |
JSON
การขาดแคลนลักษณะเฉพาะในการตอบสนอง GET บ่งบอกว่าปัจจุบันฟีเจอร์หรือฟีเจอร์ไม่พร้อมใช้งานในอุปกรณ์ ดูข้อมูลเพิ่มเติมได้ที่ประเภทอุปกรณ์
{ "type" : "sdm.devices.types.DISPLAY", "traits" : { "sdm.devices.traits.CameraEventImage" : {}, "sdm.devices.traits.CameraImage" : { "maxImageResolution" : { "width" : 1280, "height" : 960 } }, "sdm.devices.traits.CameraLiveStream" : { "maxVideoResolution" : { "width" : 640, "height" : 480 }, "videoCodecs" : ["H264"], "audioCodecs" : ["AAC"], "supportedProtocols" : ["WEB_RTC"] }, "sdm.devices.traits.CameraMotion" : {}, "sdm.devices.traits.CameraPerson" : {}, "sdm.devices.traits.CameraSound" : {}, "sdm.devices.traits.Info" : { "customName" : "My device" } } }
จัดการเหตุการณ์จากกล้อง
เหตุการณ์ต่อไปนี้อาจเรียกใช้จากอุปกรณ์ประเภท DISPLAYประเภท | องค์ประกอบ | คำอธิบาย |
---|---|---|
เหตุการณ์ | เหตุการณ์การเคลื่อนไหวของลักษณะกล้อง | กล้องตรวจพบการเคลื่อนไหว |
เหตุการณ์ | เหตุการณ์บุคคลของลักษณะกล้อง | กล้องตรวจพบบุคคล |
เหตุการณ์ | เหตุการณ์เสียงของลักษณะเฉพาะของ CameraSound | กล้องตรวจพบเสียง |
เพย์โหลด
{ "eventId" : "d4500c27-23e6-410d-866a-acfe5d9aa840",
"timestamp" : "2019-01-01T00:00:01Z",
"resourceUpdate" : { "name" : "enterprises/project-id/devices/device-id", "events" : { "sdm.devices.events.CameraMotion.Motion
" : { "eventSessionId" : "CjY5Y3VKaTZwR3o4Y19YbTVfMF...", "eventId" : "R9ZTfMJB92ZeMFH5hQLrJYICEQ...", } } } "userId" : "AVPHwEuBfnPOnTqzVFT4IONX2Qqhu9EJ4ubO-bNnQ-yi",
"resourceGroup" : [ "enterprises/project-id/devices/device-id" ] }
eventId
ที่ใช้กับคําสั่ง GenerateImage ได้ คําสั่งนี้จะแสดง URL การดาวน์โหลดสําหรับรูปภาพของกล้องที่เกี่ยวข้องกับเหตุการณ์
ส่งคำขอ
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.CameraEventImage.GenerateImage
",
"params" : {
"eventId" : "BcwTxRAOV1ZHUC5SD-s-4rt1F6..."
}
}
คำตอบ
{ "results" : { "url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...", "token" : "g.0.eventToken" } }
ดาวน์โหลดรูปภาพจากกล้อง
เรียก GET จาก url
จากการตอบสนองของคําสั่ง GenerateImage โดยใช้ token
ในส่วนหัวการให้สิทธิ์ HTTP ที่มีการให้สิทธิ์พื้นฐานเพื่อดาวน์โหลดรูปภาพกล้อง
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...
ใช้พารามิเตอร์การค้นหา width
หรือ height
เพื่อปรับแต่งความละเอียดของรูปภาพที่ดาวน์โหลด ต้องระบุพารามิเตอร์เพียงรายการเดียวเท่านั้น พารามิเตอร์อื่นจะปรับขนาดโดยอัตโนมัติตามอัตราส่วนของกล้อง
เช่น หากอัตราส่วนของกล้องคือ 4:3 หากต้องการดาวน์โหลดรูปภาพของกล้องที่มีความละเอียด 480 x 360 ให้ระบุความกว้างหรือความสูง ดังนี้
ความกว้าง
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?width=480
ส่วนสูง
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?height=360
ข้อจํากัดอื่นๆ ของ URL การดาวน์โหลดจะมีผลดังนี้
- หากระบุพารามิเตอร์ทั้งสองใน URL ระบบจะใช้
width
และละเว้นheight
- หากไม่ได้ระบุพารามิเตอร์ใน URL ระบบจะเลือกค่าเริ่มต้น 480 สําหรับ
width
ดูข้อมูลเกี่ยวกับพร็อพเพอร์ตี้ของรูปภาพใน รูปภาพจากกล้อง
เข้าถึงสตรีมแบบสด
คุณเข้าถึงสตรีมแบบสดจากกล้องได้ อุปกรณ์นี้รองรับรูปแบบสตรีมต่อไปนี้
- ขวาไปซ้าย
โปรดดูรายชื่อกล้องและรูปแบบสตรีมทั้งหมดที่รองรับที่หัวข้ออุปกรณ์ที่รองรับ
หากต้องการเข้าถึงสตรีมแบบสด ให้ใช้คําสั่ง "CreateFormatStream" ของลักษณะ CameraLiveStream ที่เหมาะสม
ขวาไปซ้าย
สําหรับสตรีม RTSP คําสั่ง GenerateRtspStream ของคําสั่งเทรด CameraLiveStream จะแสดง URL ของสตรีมและ streamToken
ที่เกี่ยวข้อง
ส่งคำขอ
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.CameraLiveStream.GenerateRtspStream
",
"params" : {}
}
คำตอบ
{ "results" : { "streamUrls" : { "rtspUrl" : "rtsps://someurl.com/CjY5Y3VKaTZwR3o4Y19YbTVfMF...?auth=g.0.streamingToken" }, "streamExtensionToken" : "CjY5Y3VKaTZwR3o4Y19YbTVfMF...", "streamToken" : "g.0.streamingToken", "expiresAt" : "2018-01-04T18:30:00.000Z" } }
จากนั้นใช้ URL ของสตรีมเพื่อเข้าถึงสตรีมแบบสดของกล้อง
rtsps://someurl.com/CjY5Y3VKaTZwR3o4Y19YbTVfMF...?auth=g.0.streamingToken
URL สตรีมแบบสดของ RTSP แชร์ระหว่างไคลเอ็นต์ไม่ได้ URL ของสตรีมจะใช้ได้โดยลูกค้าทีละคนเท่านั้น หากลูกค้าหลายคนต้องการสตรีมจากกล้องเดียวกันพร้อมกัน คุณจะต้องส่งคําสั่ง RTSP สําหรับแต่ละไคลเอ็นต์ และไคลเอ็นต์แต่ละรายต้องใช้ URL ของสตรีมของตัวเอง
ขยายสตรีมแบบสด
เซสชันสตรีมแบบสดของกล้องจะใช้ได้เป็นเวลา 5 นาทีเท่านั้น หากต้องการยืดระยะเวลาสตรีมแบบสด ให้ใช้คําสั่งFormatขยายเวลาที่เหมาะสมสําหรับ CameraLiveStream ในรูปแบบของสตรีมที่สร้างขึ้น
ขวาไปซ้าย
หากต้องการขยายสตรีม RTSP ให้ใช้คําสั่ง ExpandRtspStream ของคําสั่งเทรด CameraLiveStream เพื่อรับค่า streamExtensionToken
และ streamToken
ใหม่
ส่งคำขอ
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.CameraLiveStream.ExtendRtspStream
",
"params" : {
"streamExtensionToken" : "CjY5Y3VKaTZwR3o4Y19YbTVfMF..."
}
}
คำตอบ
{ "results" : { "streamExtensionToken" : "dGNUlTU2CjY5Y3VKaTZwR3o4Y1...", "streamToken" : "g.0.newStreamingToken", "expiresAt" : "2018-01-04T18:30:00.000Z" } }
อัปเดต URL ของสตรีมด้วยค่าใหม่เหล่านี้เพื่อดูสตรีมแบบสดต่อ
rtsps://someurl.com/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?auth=g.0.newStreamingToken
หยุดสตรีมแบบสด
เมื่อใดก็ตามที่คุณไม่ได้ใช้สตรีมแบบสดของกล้องอีกต่อไป คุณควรหยุดสตรีมและทําให้สตรีมใช้งานไม่ได้ ในการดําเนินการดังกล่าว ให้ใช้คําสั่ง StopFormatStream ที่เหมาะสมของรูปแบบCameraLiveStream สําหรับรูปแบบสตรีมที่คุณสร้าง
ขวาไปซ้าย
หากต้องการหยุดสตรีม RTSP ให้ใช้โทเค็นนั้นเพื่อทําให้คําสั่ง StopRtspStream เป็นโมฆะของคําสั่ง TraitStream ของ CameraLiveStream
ส่งคำขอ
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.CameraLiveStream.StopRtspStream
",
"params" : {
"streamExtensionToken" : "CjY5Y3VKaTZwR3o4Y19YbTVfMF..."
}
}
คำตอบ
{}
ข้อผิดพลาด
รหัสข้อผิดพลาดต่อไปนี้อาจส่งคืนมาที่เกี่ยวข้องกับอุปกรณ์นี้
ข้อความแสดงข้อผิดพลาด | RPC | การแก้ปัญหา |
---|---|---|
รูปภาพของกล้องไม่พร้อมให้ดาวน์โหลดอีกต่อไป | DEADLINE_EXCEEDED |
รูปภาพกิจกรรมจะหมดอายุใน 30 วินาทีหลังจากที่เผยแพร่กิจกรรมแล้ว โปรดดาวน์โหลดรูปภาพก่อนที่จะหมดอายุ |
รหัสเหตุการณ์ไม่ได้เป็นของกล้อง | FAILED_PRECONDITION |
ใช้ eventID ที่ถูกต้องซึ่งเหตุการณ์จากกล้องแสดงผล |
ดูข้อมูลอ้างอิงรหัสข้อผิดพลาด API เพื่อดูรายการรหัสข้อผิดพลาด API ทั้งหมด