Schemat CameraEventImage
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
Ta cecha nie ma żadnych pól.
Polecenia
GenerateImage
Podaje adres URL, z którego można pobrać obraz z kamery.
To polecenie obsługuje te zdarzenia:
| Typ | Element | Opis |
|---|---|---|
| Zdarzenie | Zdarzenie ruchu cechy CameraMotion | Kamera wykryła ruch. |
| Zdarzenie | Zdarzenie osoby cechy CameraPerson | Kamera wykryła osobę. |
| Zdarzenie | Zdarzenie dźwięku cechy CameraSound | Kamera wykryła dźwięk. |
| Zdarzenie | Zdarzenie dzwonka cechy DoorbellChime | Naciśnięto dzwonek. |
eventId z obsługiwanego zdarzenia.
Żądanie i odpowiedź GenerateImage
Żądanie
POST /enterprises/project-id/devices/device-id:executeCommand
{
"command" : "sdm.devices.commands.CameraEventImage.GenerateImage",
"params" : {
"eventId" : "ibr7GkKYwm74nrUF9jf2FmYCTO..."
}
}
Odpowiedź
{
"results" : {
"url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...",
"token" : "g.0.eventToken"
}
}
Pola żądania GenerateImage
| Pole | Opis | Typ danych |
|---|---|---|
eventId |
Identyfikator zdarzenia, dla którego chcesz poprosić o powiązany obraz z kamery. | stringPrzykład: „ibr7GkKYwm74nrUF9jf2FmYCTO...” |
Pola odpowiedzi GenerateImage
| Pole | Opis | Typ danych |
|---|---|---|
url |
Adres URL, z którego można pobrać obraz z kamery. | stringPrzykład: "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1..." |
token |
Token do użycia w nagłówku HTTP Authorization podczas pobierania obrazu. | stringPrzykład: „g.0.eventToken” |
Pobieranie obrazu z kamery
Aby pobrać obraz z kamery, wyślij żądanie GET na adres url z odpowiedzi na polecenie
GenerateImage
, używając
token w nagłówku HTTP Authorization z autoryzacją podstawową:
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. Wystarczy podać tylko jeden z tych parametrów. Drugi parametr jest automatycznie skalowany
zgodnie ze współczynnikiem proporcji kamery.
Jeśli na przykład współczynnik proporcji kamery wynosi 4:3, aby pobrać obraz z kamery w rozdzielczości 480 x 360, podaj szerokość lub wysokość:
Szerokość
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?width=480Wysokość
curl -H "Authorization: Basic g.0.eventToken" \
https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?height=360Obowiązują inne ograniczenia dotyczące adresu URL pobierania:
- Jeśli w adresie URL podano oba parametry, używana jest
width, aheightjest ignorowana. - Jeśli w adresie URL nie podano żadnego parametru, dla wybierana jest wartość domyślna 480 dla
width.
Informacje o właściwościach obrazu znajdziesz w dokumentacji cechy CameraImage .
Błędy
W związku z tą cechą mogą być zwracane te kody błędów:
| Komunikat o błędzie | RPC | Rozwiązywanie problemów |
|---|---|---|
| Obraz z kamery nie jest już dostępny do pobrania. | DEADLINE_EXCEEDED |
Obrazy zdarzeń wygasają 30 sekund po opublikowaniu zdarzenia. Pamiętaj, aby pobrać obraz przed wygaśnięciem. |
| Identyfikator zdarzenia nie należy do kamery. | FAILED_PRECONDITION |
Użyj prawidłowego parametru eventID zwróconego przez zdarzenie zarejestrowane przez kamerę. |
Pełną listę kodów błędów interfejsu API znajdziesz w dokumencie API Error Code Reference kodów błędów interfejsu API.