API HTTP B02-BL/B05-BL
O tipo de dispositivo é diy_light(type=diy_light) e a versão da interface da API do dispositivo é 1 (apivers=1).
Obter informações do dispositivo
URL: http://[ip]:[porta]/zeroconf/info
json
Método:
{
"deviceid": "1000000001",
"data": {}
}
Corpo de resposta
{
"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
}
}
Ligar e desligar
URL: http://[ip]:[porta]/zeroconf/switch
json
Método:
{
"deviceid": "1000000001",
"data": {
"switch": "on"
}
}
Atributo | Tipo | Opcional | Descrição |
---|---|---|---|
Corda | Não | on: acender a luz, off: |
Luz regulável
URL: http://[ip]:[porta]/zeroconf/dimmable
json
Método:
{
//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}
}
}
Atributo | Tipo | Opcional | Descrição |
---|---|---|---|
Corda | Não | Modo de luz, inclui branco, colorido, brilhante, boa noite, leitura, luz noturna, festa, lazer, suave, colorido | |
branco | Objeto | Alterar o tipo para frio e quente | |
cor | Objeto | Alterar o tipo para RGBCW | |
brilhante | Objeto | Mude a cena para “Brilhante” | |
boa noite | Objeto | Mude a cena para “Dormir” | |
ler | Objeto | Mude a cena para “Ler” | |
luz noturna | Objeto | Mude a cena para “Noite” | |
festa | Objeto | Mude a cena para “Festa” | |
lazer | Objeto | Mude a cena para “Relaxar” | |
macio | Objeto | Alterar a cena para “Suave” | |
colorido | Objeto | Alterar a cena para “Vívido” | |
br | Número | Não | Brilho, [1.100] |
ct | Número | Não | Temperatura de cor, [0,100] |
r | Número | Não | Valor vermelho, [0,255] |
g | Número | Não | Valor verde, [0,255] |
b | Número | Não | Valor azul, [0,255] |
tf | Número | Não | Modo de transformação de cor, [1,3]. 1: Estático, 2: Gradual, 3: Cintilação |
sp | Número | Não |
Configuração de SSID e senha do WiFi
URL: http://[ip]:[porta]/zeroconf/wifi
json
Método:
{
"deviceid": "",
"data": {
"ssid": "eWeLink",
"password": "WeLoveIoT"
}
}
Atributo | Tipo | Opcional | Descrição |
---|---|---|---|
Corda | Não | SSID da rede WiFi à qual o dispositivo irá se conectar | |
senha | Corda | Não |
Intensidade do sinal WiFi
URL: http://[ip]:[porta]/zeroconf/signal_strength
json
Método:
{
"deviceid": "1000000001",
"data": {}
}
Corpo de resposta
{
"seq": 2,
"error": 0,
"data": {
"signalStrength": -67
}
}
Atributo | Tipo | Opcional | Descrição |
---|---|---|---|
Número | Não |
Desbloqueio de função OTA
URL: http://[ip]:[porta]/zeroconf/ota_unlock
json
Método:
{
"deviceid": "",
"data": {}
}
– 500: A operação falhou e o dispositivo apresenta erros. Por exemplo, erro de ID do dispositivo ou chave de API que não foi autenticado pelo serviço de desbloqueio OTA do fornecedor;
– 503:
Novo firmware OTA
URL: http://[ip]:[porta]/zeroconf/ota_flash
json
Método:
{
"deviceid": "",
"data": {
"downloadUrl": "http://192.168.1.184/ota/new_rom.bin",
"sha256sum": "3213b2c34cecbb3bb817030c7f025396b658634c0cf9c4435fc0b52ec9644667"
}
}
Atributo | Tipo | Opcional | Descrição |
---|---|---|---|
Corda | Não | O endereço de download do novo firmware suporta apenas o protocolo HTTP, o servidor HTTP deve suportar o cabeçalho de solicitação Range. | |
sha256sum | Corda | Não |
Os seguintes códigos de falha são adicionados ao campo de erro do corpo da resposta:
– 403: A operação falhou e a função OTA não foi desbloqueada. A interface "3.2.6 Desbloqueio da função OTA" deve ser chamada com sucesso primeiro.
– 408: A operação falhou e o tempo limite do firmware de pré-download expirou. Você pode tentar chamar esta interface novamente após otimizar o ambiente de rede ou aumentar a velocidade da rede.
– 413: A operação falhou e o tamanho do corpo da solicitação é muito grande. O tamanho do novo firmware OTA excede o limite de tamanho de firmware permitido pelo dispositivo.
– 424: A operação falhou e o firmware não pôde ser baixado. O endereço URL está inacessível (endereço IP inacessível, protocolo HTTP inacessível, firmware inexistente, servidor não suporta cabeçalho de solicitação de intervalo, etc.)
– 471: A operação falhou e a verificação de integridade do firmware falhou. A soma de verificação SHA256 do novo firmware baixado não corresponde ao valor do campo sha256sum do corpo da solicitação. Reiniciar o dispositivo causará problemas de bricking.
Observação:
O tamanho máximo do firmware é 508 KB.
O modo de leitura flash SPI deve ser DOUT.