![Nest Hello](https://developers.google.cn/nest/device-access/images/device-hello.png?authuser=6&hl=th)
Nest Doorbell รุ่นเดิมทั้งหมดรองรับใน Smart Device Management (SDM) API อุปกรณ์นี้แสดงผลประเภทอุปกรณ์เป็น "DOORBELL"
sdm.devices.types.DOORBELL
Google Nest Doorbell (รุ่นเดิม) มีกล้อง ซึ่งทำงานเหมือนกับ ประเภทอุปกรณ์กล้อง CAMERA
ลักษณะเฉพาะ
ข้อมูลอ้างอิง
ลักษณะ คำสั่ง หรือเหตุการณ์ต่อไปนี้เกี่ยวข้องกับอุปกรณ์นี้
ลักษณะเฉพาะ | คำอธิบาย | คำสั่ง | กิจกรรม |
---|---|---|---|
CameraEventImage | ลักษณะนี้เป็นของอุปกรณ์ที่รองรับการสร้างรูปภาพจากเหตุการณ์ | GenerateImage | |
CameraImage | ลักษณะนี้เป็นของทุกอุปกรณ์ที่รองรับการถ่ายภาพ | ||
CameraLiveStream | ลักษณะนี้เป็นของอุปกรณ์ที่รองรับสตรีมมิงแบบสด | GenerateRtspStream ExtendRtspStream StopRtspStream | |
CameraMotion | ลักษณะนี้เป็นของอุปกรณ์ที่รองรับเหตุการณ์การตรวจจับการเคลื่อนไหว | การเคลื่อนไหว | |
CameraPerson | ลักษณะนี้เป็นของอุปกรณ์ที่รองรับเหตุการณ์การตรวจจับคน | บุคคล | |
CameraSound | ลักษณะนี้เป็นของอุปกรณ์ที่รองรับเหตุการณ์การตรวจจับเสียง | เสียง | |
DoorbellChime | ลักษณะนี้เป็นของอุปกรณ์ที่รองรับกริ่งประตูกริ่งและกิจกรรมการกดที่เกี่ยวข้อง | เคมี | |
ข้อมูล | ลักษณะนี้เป็นของอุปกรณ์ใดๆ สำหรับข้อมูลที่เกี่ยวข้องกับอุปกรณ์ |
JSON
การขาดลักษณะในการตอบสนอง GET แสดงให้เห็นว่าลักษณะหรือ ฟีเจอร์นี้ไม่พร้อมใช้งานสำหรับอุปกรณ์นี้ในขณะนี้ โปรดดู ประเภทอุปกรณ์สำหรับข้อมูลเพิ่มเติม
{ "type" : "sdm.devices.types.DOORBELL", "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.DoorbellChime" : {}, "sdm.devices.traits.Info" : { "customName" : "My device" } } }
จัดการเหตุการณ์ของกริ่งประตูและกล้อง
เหตุการณ์ต่อไปนี้อาจทริกเกอร์จากอุปกรณ์ประเภท DOORBELL :ประเภท | องค์ประกอบ | คำอธิบาย |
---|---|---|
กิจกรรม | เหตุการณ์การเคลื่อนไหวของลักษณะ CameraMotion | กล้องตรวจพบการเคลื่อนไหว |
กิจกรรม | เหตุการณ์ Person ของลักษณะ CameraPerson | กล้องตรวจพบบุคคล |
กิจกรรม | เหตุการณ์เสียงของลักษณะ CameraSound | กล้องตรวจพบเสียง |
กิจกรรม | เหตุการณ์เคมีของลักษณะ DoorbellChime | มีการกดกริ่งประตู |
เพย์โหลด
{ "eventId" : "9f21da17-4824-48b8-bd32-a7d39e286537",
"timestamp" : "2019-01-01T00:00:01Z",
"resourceUpdate" : { "name" : "enterprises/project-id/devices/device-id", "events" : { "sdm.devices.events.DoorbellChime.Chime
" : { "eventSessionId" : "CjY5Y3VKaTZwR3o4Y19YbTVfMF...", "eventId" : "8rkZEQbFezJmEMHDnVP_P7mlET..." } } } "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" : "jrlMIa13zySJMucagT7F-1X7uS..."
}
}
คำตอบ
{ "results" : { "url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...", "token" : "g.0.eventToken" } }
ดาวน์โหลดรูปภาพจากกล้อง
โทรออกไปยัง 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
ดูฟีเจอร์ รูปภาพจากกล้อง สำหรับ ข้อมูลเกี่ยวกับคุณสมบัติของรูปภาพ
เข้าถึงสตรีมแบบสด
คุณเข้าถึงสตรีมแบบสดจากกล้องได้ รูปแบบสตรีมต่อไปนี้ รองรับอุปกรณ์นี้:
- RTSP
ดูรายการกล้องทั้งหมดและรูปแบบสตรีมที่รองรับได้ที่ อุปกรณ์ที่รองรับ
หากต้องการเข้าถึงสตรีมแบบสด ให้ใช้สตรีมสร้างFormatที่เหมาะสม คำสั่งของ CameraLiveStream ลักษณะ
RTSP
สำหรับสตรีม 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 ของสตรีมได้ทีละ 1 รายการเท่านั้น หากลูกค้าต้องการสตรีมจากกล้องเดียวกันพร้อมกันหลายราย คุณต้องส่งคำสั่ง RTSP สำหรับลูกค้าแต่ละราย และไคลเอ็นต์แต่ละรายต้องใช้ URL สตรีมของตนเอง
ขยายสตรีมแบบสด
เซสชันสตรีมแบบสดของกล้องจะใช้ได้ 5 นาทีเท่านั้น หากต้องการยืดอายุการใช้งานของสตรีมแบบสด ให้ใช้คำสั่ง "ขยายFormatสตรีม" ที่เหมาะสมของลักษณะ cameraLiveStream สำหรับรูปแบบสตรีมที่สร้างขึ้น
RTSP
หากต้องการขยายสตรีม RTSP ให้ใช้
คำสั่ง ExtendRtspStream ของคำสั่งลักษณะ 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 ของสตรีมด้วยค่าใหม่เหล่านี้เพื่อดู URL ต่อไป สตรีมแบบสด:
rtsps://someurl.com/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?auth=g.0.newStreamingToken
หยุดสตรีมแบบสด
เมื่อใดก็ตามที่คุณไม่ได้ใช้สตรีมแบบสดของกล้องแล้ว คุณควรหยุดสตรีมและ ทำให้สตรีมเป็นโมฆะ โดยใช้สตรีมหยุดFormatที่เหมาะสม คำสั่งของ CameraLiveStream สำหรับรูปแบบสตรีมที่คุณสร้าง
RTSP
หากต้องการหยุดสตรีม RTSP ให้ใช้โทเค็นเพื่อทำให้เป็นโมฆะด้วย คำสั่ง StopRtspStream ของคำสั่งลักษณะ 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 ทั้งหมด