Giản đồ CameraEventImage

Nest Cam (phiên bản cũ) Nest Hub Max Nest Doorbell (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 URL để tải hình ảnh từ máy ảnh 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 thuộc tính 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 Chime của đặc điểm DoorbellChime Chuông cửa đã được nhấn.
Sử dụng 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" : "Ah97W4rOjQSyarHNmyxQTZk_Q8..."
  }
}

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ã của sự kiện để yêu cầu hình ảnh liên quan của máy ảnh. string
Ví dụ: "Ah97W4rOjQSyarHNmyxQTZk_Q8..."

Các trường phản hồi của phương thức GenerateImage

Trường Mô tả Loại dữ liệu
url URL để tải hình ảnh từ 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 trong 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 các thông 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 đượ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, để 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 hạn chế khác đối với URL tải xuống sẽ được áp dụ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 bạn không cung cấp tham số nào trong URL, thì hệ thống sẽ chọn giá trị mặc định là 480 cho width.

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 chụp bằng máy ảnh xuống nữa. DEADLINE_EXCEEDED Hình ảnh sự kiện sẽ hết hạn 30 giây sau 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.