Interfejs API HTTP D1
Typ urządzenia to diylight (type=diylight), a wersja interfejsu API urządzenia to 1 (apivers=1).
Przełącznik WŁ./WYŁ.
URL: http://[ip]:[port]/zeroconf/switch
Format wartości zwracanej: json
Metoda: HTTP post
{
"deviceid": "",
"data": {
"switch": "on"
}
}
Atrybut | Typ | Fakultatywny | Opis |
---|---|---|---|
przełącznik | Smyczkowy | NIE | on: włącz przełącznik, off: wyłącz przełącznik |
Możliwość ściemniania
URL: http://[ip]:[port]/zeroconf/dimmable
Format wartości zwracanej: json
Metoda: HTTP post
{
"deviceid": "",
"data": {
"switch": "on",
"brightness": 30,
"mode": 0,
"brightmin": 10,
"brightmax": 255
}
}
Atrybut | Typ | Fakultatywny | Opis |
---|---|---|---|
przełącznik | Smyczkowy | NIE | Pole „przełącznik” musi być „włączone” |
jasność | Numer | NIE | Jasność światła, [1~100], liczba całkowita dodatnia |
tryb | Numer | Tak | Tryb urządzenia, [0-255], liczba całkowita dodatnia |
jasna min | Numer | Tak | Minimalna jasność, [0~254], liczba całkowita dodatnia |
brightmax | Numer | Tak | Maksymalna jasność, [1~255], liczba całkowita dodatnia |
Notatka:
- Aby dostosować jasność światła, światło musi być „włączone”, więc jeśli wyślesz żądanie API Dimmble z poleceniem „switch”: „off”, zgłosi błąd „400”, ponieważ operacja się nie powiodła.
- Parametr „tryb” jest używany w rozwoju aplikacji do definiowania różnych trybów o określonej jasności i synchronizowania zawartości trybów urządzenia podczas udostępniania działania urządzenia innym osobom.
Na przykład:
Aplikacja dewelopera definiuje dwa tryby (tryb 1: jasność = 5; tryb 2: jasność = 50), w których urządzenie może osiągnąć określoną jasność za pomocą przycisków. Parametr „tryb” umożliwia synchronizację trybu urządzenia dla wszystkich współdzielonych użytkowników. - Wartość brightmin powinna być mniejsza niż brightmax.
Stan włączenia zasilania
URL: http://[ip]:[port]/zeroconf/startup
Format wartości zwracanej: json
Metoda: HTTP post
{
"deviceid": "",
"data": {
"startup": "stay"
}
}
Atrybut | Typ | Fakultatywny | Opis |
---|---|---|---|
uruchomienie | Smyczkowy | NIE | wł.: urządzenie jest włączone po przywróceniu zasilania. wyłączone: urządzenie zostanie wyłączone po przywróceniu zasilania. stay: stan urządzenia pozostaje taki sam jak przed zanikiem zasilania |
Siła sygnału WiFi
URL: http://[ip]:[port]/zeroconf/signal_strength
Format wartości zwracanej: json
Metoda: HTTP post
Treść żądania
{
"deviceid": "",
"data": { }
}
Obiekt pusty, nie jest wymagany żaden atrybut.
Ciało odpowiedzi
{
"seq": 2,
"error": 0,
"data": {
"signalStrength": -67
}
}
Atrybut | Typ | Fakultatywny | Opis |
---|---|---|---|
siła sygnału | Numer | NIE | Siła sygnału WiFi aktualnie odbieranego przez urządzenie, liczba całkowita ujemna, dBm |
Ustawienie SSID i hasła WiFi
URL: http://[ip]:[port]/zeroconf/wifi
Format wartości zwracanej: json
Metoda: HTTP post
{
"deviceid": "",
"data": {
"ssid": "eWeLink",
"password": "WeLoveIoT"
}
}
Atrybut | Typ | Fakultatywny | Opis |
---|---|---|---|
SSID | Smyczkowy | NIE | SSID sieci Wi-Fi, z którą połączy się urządzenie |
hasło | Smyczkowy | NIE | hasło sieci WiFi, z którą połączy się urządzenie |
Odblokowywanie funkcji OTA
URL: http://[ip]:[port]/zeroconf/ota_unlock
Format wartości zwracanej: json
Metoda: HTTP post
{
"deviceid": "",
"data": { }
}
Obiekt pusty, nie jest wymagany żaden atrybut.
Do pola błędu w treści odpowiedzi dodawane są następujące kody błędów:
– 500: Operacja nie powiodła się, a urządzenie zawiera błędy. Na przykład błąd identyfikatora urządzenia lub klucza API, który nie został uwierzytelniony przez usługę odblokowywania OTA dostawcy;
– 503: Operacja nie powiodła się i urządzenie nie może zażądać usługi odblokowania OTA producenta. Na przykład urządzenie nie jest połączone z siecią Wi-Fi, nie ma połączenia z internetem, usługa odblokowania OTA producenta jest niedostępna itp.
OTA Nowe oprogramowanie układowe
URL: http://[ip]:[port]/zeroconf/ota_flash
Format wartości zwracanej: json
Metoda: HTTP post
{
"deviceid": "",
"data": {
"downloadUrl": "http://192.168.1.184/ota/new_rom.bin",
"sha256sum": "3213b2c34cecbb3bb817030c7f025396b658634c0cf9c4435fc0b52ec9644667"
}
}
Atrybut | Typ | Fakultatywny | Opis |
---|---|---|---|
pobierzUrl | Smyczkowy | NIE | Adres pobierania nowego oprogramowania sprzętowego obsługuje wyłącznie protokół HTTP, serwer HTTP musi obsługiwać nagłówek żądania Range. |
suma sha256 | Smyczkowy | NIE | Suma kontrolna SHA256 (hash) nowego oprogramowania sprzętowego, używana do weryfikacji integralności nowego pobranego oprogramowania sprzętowego |
Do pola błędu w treści odpowiedzi dodawane są następujące kody błędów:
– 403: Operacja nie powiodła się i funkcja OTA nie została odblokowana. Najpierw należy pomyślnie wywołać interfejs „3.2.6 Odblokowanie funkcji OTA”.
– 408: Operacja nie powiodła się i upłynął limit czasu wstępnego pobierania oprogramowania układowego. Możesz spróbować ponownie wywołać ten interfejs po zoptymalizowaniu środowiska sieciowego lub zwiększeniu prędkości sieci.
– 413: Operacja nie powiodła się, a rozmiar treści żądania jest zbyt duży. Rozmiar nowego oprogramowania sprzętowego OTA przekracza limit rozmiaru oprogramowania sprzętowego dozwolony przez urządzenie.
– 424: Operacja nie powiodła się i nie można pobrać oprogramowania sprzętowego. Adres URL jest niedostępny (adres IP jest niedostępny, protokół HTTP jest niedostępny, oprogramowanie sprzętowe nie istnieje, serwer nie obsługuje nagłówka żądania zakresu itp.).
– 471: Operacja nie powiodła się, a sprawdzenie integralności oprogramowania układowego zakończyło się niepowodzeniem. Suma kontrolna SHA256 pobranego nowego oprogramowania układowego nie jest zgodna z wartością pola sha256sum w treści żądania. Ponowne uruchomienie urządzenia spowoduje problem z jego uszkodzeniem.
Notatka:
- Maksymalny rozmiar oprogramowania układowego wynosi 508 KB.
- Tryb odczytu pamięci flash SPI musi być ustawiony na DOUT.
Uzyskaj informacje o urządzeniu
URL: http://[ip]:[port]/zeroconf/info
Format wartości zwracanej: json
Metoda: HTTP post
{
"deviceid": "",
"data": { }
}
Obiekt pusty, nie jest wymagany żaden atrybut.
Ciało odpowiedzi
{
"seq": 2,
"error": 0,
"data": {
"switch": "off",
"startup": "off",
"brightness": 30,
"mode": 0,
"brightmin": 10,
"brightmax": 255,
"ssid": "eWeLink",
"otaUnlock": false,
"fwVersion": "3.5.0",
"deviceid": "100000140e",
"bssid": "ec:17:2f:3d:15:e",
"signalStrength": -25
}
}
Notatka:
- Monitoruj i analizuj rekord DNS TXT urządzenia, aby uzyskać informacje o urządzeniu w czasie rzeczywistym.