Interfejs API HTTP B02-BL/B05-BL
Typ urządzenia to diy_light(type=diy_light), a wersja interfejsu API urządzenia to 1 (apivers=1).
Uzyskaj informacje o urządzeniu
URL: http://[ip]:[port]/zeroconf/info
json
Metoda:
{
"deviceid": "1000000001",
"data": {}
}
Ciało odpowiedzi
{
"seq": 2,
"error": 0,
"data": {
"switch": "off",
"startup": "off",
"pulse": "off",
"pulseWidth": 500,
"ssid": "eWeLink",
"otaUnlock": false,
"fwVersion": "3.5.0",
"deviceid": "100000140e",
"bssid": "ec:17:2f:3d:15:e",
"signalStrength": -25
}
}
Włącz i wyłącz
URL: http://[ip]:[port]/zeroconf/switch
json
Metoda:
{
"deviceid": "1000000001",
"data": {
"switch": "on"
}
}
Atrybut | Typ | Fakultatywny | Opis |
---|---|---|---|
Smyczkowy | NIE | on: włącz światło, off: |
Ściemnialne światło
URL: http://[ip]:[port]/zeroconf/dimmable
json
Metoda:
{
//Change the light to cool & warm type
"deviceid": "1000xxxxxx",
"data":{
"ltype": "white",
"white": {"br": 70, "ct": 100}
}
}
//Change the light to RGBCW type
{
"deviceid": "1000xxxxxx",
"data":{
"ltype": "color",
"color": {"br": 100, "r": 255, "g": 0, "b": 0}
}
}
//Bright
{
"deviceid": "1000xxxxxx",
"data":{
"ltype":"bright",
"bright":{"r":255,"g":255,"b":255,"br":100}
}
}
//Sleep
{
"deviceid": "1000xxxxxx",
"data":{
"ltype": "goodNight",
"goodNight": {"r":255,"g":250,"b":125,"br":25}
}
}
//Read
{
"deviceid": "1000xxxxxx",
"data":{
"ltype":"read",
"read":{"r":255,"g":255,"b":255,"br":60}
}
}
//Night
{
"deviceid": "1000xxxxxx",
"data":{
"ltype":"nightLight",
"nightLight":{"r":255,"g":240,"b":225,"br":5}
}
}
// The following Scene can be modified options in the app
//Party
{
"deviceid": "1000xxxxxx",
"data":{
"ltype":"party",
"party":{"r":254,"g":132,"b":0,"br":45,"tf":1,"sp":1}
}
}
//Relax
{
"deviceid": "1000xxxxxx",
"data":{
"ltype":"leisure",
"leisure":{"r":0,"g":40,"b":254,"br":55,"tf":1,"sp":1}
}
}
//Soft
{
"deviceid": "1000xxxxxx",
"data":{
"ltype":"soft",
"soft":{"r":38,"g":254,"b":0,"br":20,"tf":1,"sp":1}
}
}
//Vivid
{
"deviceid": "1000xxxxxx",
"data":{
"ltype":"colorful",
"colorful":{"r":255,"g":0,"b":0,"br":100,"tf":1,"sp":1}
}
}
Atrybut | Typ | Fakultatywny | Opis |
---|---|---|---|
Smyczkowy | NIE | Tryb oświetlenia, w tym biały, kolorowy, jasny, dobranoc, do czytania, światło nocne, impreza, wypoczynek, delikatny, kolorowy | |
biały | Obiekt | Zmień typ na chłodny i ciepły | |
kolor | Obiekt | Zmień typ na RGBCW | |
jasny | Obiekt | Zmień scenę na „Jasną” | |
Dobranoc | Obiekt | Zmień scenę na „Sen” | |
Czytać | Obiekt | Zmień scenę na „Czytaj” | |
Światło nocne | Obiekt | Zmień scenę na „Noc” | |
impreza | Obiekt | Zmień scenę na „Impreza” | |
wypoczynek | Obiekt | Zmień scenę na „Relaks” | |
miękki | Obiekt | Zmień scenę na „Miękka” | |
kolorowy | Obiekt | Zmień scenę na „Żywą” | |
br | Numer | NIE | Jasność, [1,100] |
ct | Numer | NIE | Temperatura barwowa, [0,100] |
R | Numer | NIE | Wartość czerwona, [0,255] |
G | Numer | NIE | Wartość zielona, [0,255] |
B | Numer | NIE | Wartość niebieska, [0,255] |
tf | Numer | NIE | Tryb transformacji kolorów, [1,3]. 1: Statyczny, 2: Stopniowy, 3: Migotanie |
sp | Numer | NIE |
Ustawienie SSID i hasła WiFi
URL: http://[ip]:[port]/zeroconf/wifi
json
Metoda:
{
"deviceid": "",
"data": {
"ssid": "eWeLink",
"password": "WeLoveIoT"
}
}
Atrybut | Typ | Fakultatywny | Opis |
---|---|---|---|
Smyczkowy | NIE | SSID sieci Wi-Fi, z którą połączy się urządzenie | |
hasło | Smyczkowy | NIE |
Siła sygnału WiFi
URL: http://[ip]:[port]/zeroconf/signal_strength
json
Metoda:
{
"deviceid": "1000000001",
"data": {}
}
Ciało odpowiedzi
{
"seq": 2,
"error": 0,
"data": {
"signalStrength": -67
}
}
Atrybut | Typ | Fakultatywny | Opis |
---|---|---|---|
Numer | NIE |
Odblokowywanie funkcji OTA
URL: http://[ip]:[port]/zeroconf/ota_unlock
json
Metoda:
{
"deviceid": "",
"data": {}
}
– 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:
OTA Nowe oprogramowanie układowe
URL: http://[ip]:[port]/zeroconf/ota_flash
json
Metoda:
{
"deviceid": "",
"data": {
"downloadUrl": "http://192.168.1.184/ota/new_rom.bin",
"sha256sum": "3213b2c34cecbb3bb817030c7f025396b658634c0cf9c4435fc0b52ec9644667"
}
}
Atrybut | Typ | Fakultatywny | Opis |
---|---|---|---|
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 |
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 Odblokowywanie 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 szybkoś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.