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 ze zdarzeń.
Pola
Brak dostępnych pól dla tej cechy.
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 Motion cechy CameraMotion | Kamera wykryła ruch. |
| Zdarzenie | Zdarzenie Person cechy CameraPerson | Kamera wykryła osobę. |
| Zdarzenie | Zdarzenie Sound cechy CameraSound | Kamera wykryła dźwięk. |
| Zdarzenie | Zdarzenie Chime cechy DoorbellChime | Naciśnięto dzwonek. |
eventId z obsługiwanego zdarzenia w żądaniu polecenia, aby otrzymać adres URL do pobrania obrazu z 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" : "LBK6lwPD6Nj0YoNGu6-BoPdcfq..."
}
}
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ązane zdjęcie z kamery. | stringPrzykład: „LBK6lwPD6Nj0YoNGu6-BoPdcfq...” |
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, który ma być używany w nagłówku autoryzacji HTTP podczas pobierania obrazu. | stringPrzykład: „g.0.eventToken” |
Pobieranie obrazu z kamery
Wykonaj wywołanie GET do url z odpowiedzi na polecenie GenerateImage
, używając token w nagłówku autoryzacji HTTP z autoryzacją podstawową, 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. Wystarczy podać tylko jeden z tych parametrów. Drugi parametr jest skalowany automatycznie zgodnie z formatem obrazu kamery.
Jeśli na przykład format obrazu z kamery to 4:3, aby pobrać obraz z kamery o 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ą też inne ograniczenia dotyczące adresu URL pobierania:
- Jeśli w adresie URL podane są oba parametry, używany jest parametr
width, a parametrheightjest ignorowany. - Jeśli w adresie URL nie podano żadnego z tych parametrów, dla parametru
widthzostanie wybrana domyślna wartość 480.
Informacje o właściwościach obrazu znajdziesz w opisie 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 identyfikatora eventID zwróconego przez zdarzenie zarejestrowane przez kamerę. |
Pełną listę kodów błędów interfejsu API znajdziesz w dokumentacji kodów błędów interfejsu API.