Giản đồ CameraEventImage
Nest Cam (phiên bản cũ)
sdm.devices.traits.CameraEventImage
Đặc điểm này thuộc về mọi thiết bị hỗ trợ việc tạo hình ảnh từ các sự kiện.
Trường
Không có trường nào cho đặc điểm này.
Lệnh
GenerateImage
Cung cấp một URL để tải hình ảnh camera xuống.
Lệnh này hỗ trợ các sự kiện sau:
Loại | Phần tử | Mô tả |
---|---|---|
Sự kiện | Sự kiện Chuyển động của đặc điểm 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 có người. |
Sự kiện | Sự kiện Âm thanh của đặc điểm CameraSound | 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 camera 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" : "GEZbnMX3mFW-sEEqMae4DafVrY..."
}
}
Phản hồi
{ "results" : { "url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...", "token" : "g.0.eventToken" } }
Các trường yêu cầu GenerateImage
Trường | Mô tả | Loại dữ liệu |
---|---|---|
eventId |
Mã nhận dạng của sự kiện để yêu cầu hình ảnh camera liên quan. | string Ví dụ: "GEZbnMX3mFW-sEEqMae4DafVrY..." |
Các trường phản hồi GenerateImage
Trường | Mô tả | Loại dữ liệu |
---|---|---|
url |
URL để tải hình ảnh từ camera 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 từ camera xuống
Thực hiện lệnh gọi GET đến url
từ phản hồi lệnh GenerateImage
, bằng cách sử dụng token
trong tiêu đề Uỷ quyền HTTP với chế độ uỷ quyền Cơ bản, để tải hình ảnh camera 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 thông số này. Tham số còn lại sẽ tự động được điều chỉnh tỷ lệ theo tỷ lệ khung hình của camera.
Ví dụ: nếu tỷ lệ khung hình của camera là 4:3, để tải hình ảnh camera xuống với độ phân giải 480 x 360, 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 hạn chế khác đối với URL tải xuống:
- Nếu cả hai tham số đều được cung cấp trong URL, thì
width
sẽ được dùng vàheight
sẽ bị bỏ qua. - Nếu bạn không cung cấp cả hai tham số trong URL, thì giá trị mặc định là 480 sẽ được chọn cho
width
.
Hãy xem đặc điểm CameraImage để biết thông tin về các thuộc tính hình ảnh.
Lỗi
(Các) mã lỗi sau đây có thể được trả về liên quan đến đặc điểm này:
Thông báo Lỗi | RPC | Khắc phục sự cố |
---|---|---|
Bạn không thể tải hình ảnh từ camera 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. Nhớ tải hình ảnh xuống trước khi hết hạn. |
Mã sự kiện không thuộc về camera. | FAILED_PRECONDITION |
Sử dụng eventID chính xác do sự kiện camera 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.