Lược đồ 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ợ 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 từ 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 Người của đặc điểm CameraPerson | Camera đã phát hiện thấy một 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 Chuông của đặc điểm DoorbellChime | Chuông cửa đã được nhấn. |
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 từ 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" : "t_AHFvs66cemDElItOAD-ZBH51..."
}
}
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 | Mô tả | Loại dữ liệu |
|---|---|---|
eventId |
Mã của sự kiện cần yêu cầu hình ảnh từ camera liên quan. | stringVí dụ: "t_AHFvs66cemDElItOAD-ZBH51..." |
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. | stringVí 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. | stringVí 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
sử dụng
token trong tiêu đề Uỷ quyền HTTP với tính năng uỷ quyền Cơ bản để tải hình ảnh từ
camera xuống:
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...Sử dụng các 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. Tham số còn lại sẽ tự động được điều chỉnh 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 từ 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=480Chiều cao
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?height=360Áp dụng 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ì
widthsẽ được sử dụng vàheightsẽ 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 CameraImage trait để biết thông tin về các thuộc tính của hình ảnh.
Lỗi
Bạn có thể nhận được(các) mã lỗi sau liên quan đến đặc điểm này:
| Thông báo Lỗi | RPC | Khắc phục sự cố |
|---|---|---|
| Không còn tải được hình ảnh từ camera xuống. | DEADLINE_EXCEEDED |
Hình ảnh sự kiện 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 do camera ghi lại 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.