Schemat obrazu CameraEvent
Nest Cam (starsza wersja)
sdm.devices.traits.CameraEventImage
Ta cecha dotyczy 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
Zawiera adres URL, z którego można pobrać zdjęcie z aparatu.
To polecenie obsługuje te zdarzenia:
Typ | Element | Opis |
---|---|---|
Zdarzenie | Zdarzenie ruchu związane z cechą CameraMotion | Kamera wykryła ruch. |
Zdarzenie | Zdarzenie dotyczące osoby związanej z cechą CameraPerson | Kamera wykryła osobę. |
Zdarzenie | Zdarzenie Dźwięki w przypadku cechy Dźwięk kamery | Kamera wykryła dźwięk. |
Zdarzenie | Dzwonek związany z cechą gongu dzwonka | Naciśnięto dzwonek. |
eventId
z obsługiwanego zdarzenia, aby otrzymać adres URL do pobrania zdjęcia z aparatu powiązanego z tym zdarzeniem.
Żądanie i odpowiedź GenerateImage
Prośba
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.CameraEventImage.GenerateImage
",
"params" : {
"eventId" : "8NYaH5PZ6kftObq1UK3k6qfOcC..."
}
}
Odpowiedź
{ "results" : { "url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...", "token" : "g.0.eventToken" } }
Pola żądania GenerateImage
Pole | Opis | Typ danych |
---|---|---|
eventId |
Identyfikator wydarzenia, którego dotyczy prośba o dodanie powiązanego zdjęcia z aparatu. | string Przykład: „8NYaH5PZ6kftObq1UK3k6qfOcC...” |
Pola odpowiedzi na GenerateImage
Pole | Opis | Typ danych |
---|---|---|
url |
Adres URL, z którego można pobrać zdjęcie 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” |
Pobieranie zdjęcia z aparatu
Wyślij wywołanie GET do polecenia url
z odpowiedzi GenerateImage
, używając parametru token
w nagłówku autoryzacji HTTP z podstawową autoryzacją, aby pobrać obraz z kamery:
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...
Aby dostosować rozdzielczość pobranego obrazu, użyj parametrów zapytania width
lub height
. Należy określić tylko jeden z tych parametrów. Drugi parametr jest skalowany automatycznie zgodnie z formatem obrazu kamery.
Jeśli na przykład format obrazu aparatu wynosi 4:3, to aby pobrać zdjęcie z aparatu 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
Wzrost
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 podasz oba parametry, używany jest
width
, a parametrheight
jest ignorowany. - Jeśli w adresie URL nie ma żadnego z tych parametrów, w polu
width
używana jest domyślna wartość 480.
Informacje o właściwościach zdjęcia znajdziesz w sekcji CameraImage .
Błędy
W odniesieniu do tej cechy mogą zostać zwrócone następujące kody błędów:
Komunikat o błędzie | RPC | Rozwiązywanie problemów |
---|---|---|
Nie można już pobrać zdjęcia z aparatu. | DEADLINE_EXCEEDED |
Obrazy zdarzenia wygasają po 30 sekundach po opublikowaniu zdarzenia. Pamiętaj, aby pobrać zdjęcie przed upływem ważności. |
Identyfikator zdarzenia nie należy do kamery. | FAILED_PRECONDITION |
Użyj prawidłowej wartości eventID zwracanej przez zdarzenie zarejestrowane przez kamerę. |
Pełną listę kodów błędów interfejsu API znajdziesz w dokumentacji kodu błędów interfejsu API.