Schemat obrazu zdarzenia CameraEvent
Nest Cam (starsza wersja)
sdm.devices.traits.CameraEventImage
Ta cecha należy do każdego urządzenia, które obsługuje generowanie obrazów na podstawie zdarzeń.
Pola
Brak dostępnych pól dla tej cechy.
Polecenia
GenerateImage
Udostępnia URL, z którego można pobrać zdjęcie z aparatu.
To polecenie obsługuje następujące zdarzenia:
Typ | Element | Opis |
---|---|---|
Zdarzenie | Zdarzenie ruchu właściwości CameraMotion | Kamera wykryła ruch. |
Zdarzenie | Zdarzenie Person o cechach CameraPerson | Kamera wykryła jakąś osobę. |
Zdarzenie | Zdarzenie dźwięk związane z cechą CameraSound | Kamera wykryła dźwięk. |
Zdarzenie | Zdarzenie typu chime związane z dzwonkiem DoorbellChime | Naciśnięto dzwonek. |
eventId
z obsługiwanego zdarzenia w żądaniu polecenia, aby otrzymać adres URL do pobrania obrazu kamery powiązanego z tym zdarzeniem.
Żądanie i odpowiedź GenerateImage
Żądanie
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.CameraEventImage.GenerateImage
",
"params" : {
"eventId" : "29XBvfqSdjqOiEq4mGAFKFVnQ0..."
}
}
Odpowiedź
{ "results" : { "url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...", "token" : "g.0.eventToken" } }
Pola żądania GenerateImage
Pole | Opis | Typ danych |
---|---|---|
eventId |
Identyfikator zdarzenia, z którym chcesz przesłać żądanie powiązanego zdjęcia z kamery. | string Przykład: „29XBvfqSdjqOiEq4mGAFKFVnQ0...” |
Pola odpowiedzi GenerateImage
Pole | Opis | Typ danych |
---|---|---|
url |
Adres URL, z którego można pobrać zdjęcie z aparatu. | string Przykład: „https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...” |
token |
Token, który ma być używany w nagłówku autoryzacji HTTP podczas pobierania obrazu. | string Przykład: „g.0.eventToken” |
Pobierz obraz z kamery
Wykonaj wywołanie GET dla funkcji url
z
GenerateImage
Odpowiedź polecenia z użyciem
token
w nagłówku autoryzacji HTTP z autoryzacją podstawową, aby pobrać
obraz z aparatu:
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...
Za pomocą parametrów zapytania width
lub height
możesz dostosować rozdzielczość
pobranego obrazu. Musisz określić tylko jeden z tych parametrów. Drugi parametr jest skalowany
automatycznie, zgodnie z formatem obrazu.
Jeśli na przykład obraz kamery wynosi 4:3, aby pobrać obraz z kamery w rozdzielczości 480 x 360 określ szerokość lub wysokość:
Szerokość
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?width=480
Wysokość
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?height=360
Obowiązują też inne ograniczenia dotyczące adresu URL pobierania:
- Jeśli w adresie URL są podane oba parametry, używane jest
width
, aheight
jest ignorowany. - Jeśli w adresie URL nie podasz żadnego z tych parametrów, w polu adresu URL zostanie wybrana domyślna wartość 480
width
Zobacz CameraImage – cecha informacji o obrazie usług.
Błędy
W związku z tą cechą mogą zostać zwrócone te kody błędów:
Komunikat o błędzie | RPC | Rozwiązywanie problemów |
---|---|---|
Zdjęcie z aparatu nie jest już dostępne do pobrania. | DEADLINE_EXCEEDED |
Obrazy zdarzeń wygasają po 30 sekundach od opublikowania zdarzenia. Pamiętaj, aby pobrać obraz przed wygaśnięciem ważności. |
Identyfikator zdarzenia nie należy do kamery. | FAILED_PRECONDITION |
Użyj prawidłowej wartości eventID zwróconej przez zdarzenie zarejestrowane przez kamerę. |
Zapoznaj się z informacjami na temat kodu błędu interfejsu API w przypadku: pełną listę kodów błędów interfejsu API.