Giản đồ CameraEventImage
Nest Cam (cũ)
sdm.devices.traits.CameraEventImage
Trait này thuộc về bất kỳ thiết bị nào hỗ trợ tạo hình ảnh từ các sự kiện.
Trường
Không có trường nào cho trait này.
Lệnh
GenerateImage
Cung cấp một URL để tải hình ảnh máy ảnh xuống.
Lệnh này hỗ trợ các sự kiện sau:
Loại | Phần tử | Nội dung mô tả |
---|---|---|
Sự kiện | Sự kiện Chuyển động của trait CameraMotion | Camera đã phát hiện thấy chuyển động. |
Sự kiện | Sự kiện Person của đặc điểm CameraPerson | Camera đã phát hiện thấy một người. |
Sự kiện | Sự kiện Sound (Âm thanh) của trait CameraAudio | Camera đã phát hiện thấy âm thanh. |
Sự kiện | Sự kiện Chime của đặc điểm DoorbellChime | Đã nhấn chuông cửa. |
eventId
từ một sự kiện được hỗ trợ trong yêu cầu lệnh để nhận URL tải xuống cho hình ảnh máy ảnh liên quan đến sự kiện đó.
Yêu cầu và phản hồi GenerateImage
Yêu cầu
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.CameraEventImage.GenerateImage
",
"params" : {
"eventId" : "8NYaH5PZ6kftObq1UK3k6qfOcC..."
}
}
Phản hồi
{ "results" : { "url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...", "token" : "g.0.eventToken" } }
Trường yêu cầu GenerateImage
Trường | Nội dung mô tả | Loại dữ liệu |
---|---|---|
eventId |
Mã của sự kiện để yêu cầu một hình ảnh máy ảnh có liên quan. | string Ví dụ: "8NYaH5PZ6kftObq1UK3k6qfOcC..." |
Trường phản hồi GenerateImage
Trường | Nội dung mô tả | Loại dữ liệu |
---|---|---|
url |
URL để tải hình ảnh máy ảnh xuống. | string Ví dụ: "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1..." |
token |
Mã thông báo để sử dụng trong tiêu đề Uỷ quyền HTTP khi tải hình ảnh xuống. | string Ví dụ: "g.0.eventToken" |
Tải hình ảnh máy ảnh xuống
Thực hiện lệnh gọi GET đến url
từ phản hồi lệnh GenerateImage
, sử dụng token
trong tiêu đề Uỷ quyền HTTP với Quyền uỷ quyền cơ bản để tải hình ảnh máy ảnh xuống:
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...
Sử dụng tham số truy vấn width
hoặc height
để tuỳ chỉnh độ phân giải của hình ảnh đã tải xuống. Bạn chỉ cần chỉ định một trong các tham số này. Thông số còn lại sẽ được tự động điều chỉnh theo tỷ lệ khung hình của máy ảnh.
Ví dụ: nếu tỷ lệ khung hình của máy ảnh là 4:3, thì để tải hình ảnh máy ảnh có độ phân giải 480 x 360 xuống, hãy chỉ định chiều rộng hoặc chiều cao:
Chiều rộng
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?width=480
Chiều cao
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?height=360
Có các quy định hạn chế khác đối với URL tải xuống:
- Nếu bạn cung cấp cả hai tham số trong URL, thì
width
sẽ được sử dụng vàheight
sẽ bị bỏ qua. - Nếu không có tham số nào được cung cấp trong URL, thì giá trị mặc định là 480 sẽ được chọn cho
width
.
Hãy xem mục CameraImage để biết thông tin về các thuộc tính hình ảnh.
Lỗi
Liên quan đến đặc điểm này, có thể trả về(các) mã lỗi sau đây:
Thông báo lỗi | RPC | Khắc phục sự cố |
---|---|---|
Không tải được hình ảnh trong máy ảnh xuống nữa. | DEADLINE_EXCEEDED |
Hình ảnh sự kiện sẽ hết hạn sau 30 giây kể từ khi sự kiện được xuất bản. Hãy nhớ tải hình ảnh xuống trước khi hết hạn. |
Mã sự kiện không thuộc về máy ảnh. | FAILED_PRECONDITION |
Sử dụng đúng eventID do sự kiện máy ảnh trả về. |
Hãy xem Tài liệu tham khảo về mã lỗi API để biết danh sách đầy đủ các mã lỗi API.