API HTTP B02-BL/B05-BL
El tipo de dispositivo es diy_light(type=diy_light) y la versión de la interfaz API del dispositivo es 1 (apivers=1).
Obtener información del dispositivo
URL: http://[ip]:[puerto]/zeroconf/info
json
Método:
{
"deviceid": "1000000001",
"data": {}
}
Cuerpo de la respuesta
{
"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
}
}
Encender y apagar
URL: http://[ip]:[puerto]/zeroconf/switch
json
Método:
{
"deviceid": "1000000001",
"data": {
"switch": "on"
}
}
Atributo | Tipo | Opcional | Descripción |
---|---|---|---|
Cadena | No | encendido: enciende la luz, apagado: |
Luz regulable
URL: http://[ip]:[puerto]/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 | Descripción |
---|---|---|---|
Cadena | No | Modo de luz, incluye blanco, color, brillante, buena noche, lectura, luz nocturna, fiesta, ocio, suave, colorido | |
blanco | Objeto | Cambiar el tipo a frío y cálido | |
color | Objeto | Cambiar el tipo a RGBCW | |
brillante | Objeto | Cambiar la escena a “Brillante” | |
buenas noches | Objeto | Cambiar la escena a “Dormir” | |
leer | Objeto | Cambiar la escena a “Leer” | |
luz de noche | Objeto | Cambiar la escena a “Noche” | |
fiesta | Objeto | Cambia la escena a “Fiesta” | |
ocio | Objeto | Cambia la escena a “Relajante” | |
suave | Objeto | Cambiar la escena a “Suave” | |
vistoso | Objeto | Cambiar la escena a “Vívida” | |
es | Número | No | Brillo, [1,100] |
Connecticut | Número | No | Temperatura de color, [0,100] |
o | Número | No | Valor rojo, [0,255] |
gramo | Número | No | Valor verde, [0,255] |
b | Número | No | Valor azul, [0,255] |
tf | Número | No | Modo de transformación de color, [1,3]. 1: Estático, 2: Gradual, 3: Parpadeo |
es | Número | No |
Configuración de SSID y contraseña de WiFi
URL: http://[ip]:[puerto]/zeroconf/wifi
json
Método:
{
"deviceid": "",
"data": {
"ssid": "eWeLink",
"password": "WeLoveIoT"
}
}
Atributo | Tipo | Opcional | Descripción |
---|---|---|---|
Cadena | No | SSID de la red WiFi a la que se conectará el dispositivo | |
contraseña | Cadena | No |
Intensidad de la señal WiFi
URL: http://[ip]:[puerto]/zeroconf/signal_strength
json
Método:
{
"deviceid": "1000000001",
"data": {}
}
Cuerpo de la respuesta
{
"seq": 2,
"error": 0,
"data": {
"signalStrength": -67
}
}
Atributo | Tipo | Opcional | Descripción |
---|---|---|---|
Número | No |
Desbloqueo de la función OTA
URL: http://[ip]:[puerto]/zeroconf/ota_unlock
json
Método:
{
"deviceid": "",
"data": {}
}
– 500: La operación falló y el dispositivo presenta errores. Por ejemplo, un error en el ID del dispositivo o en la clave API, que no está autenticado por el servicio de desbloqueo OTA del proveedor.
– 503:
Nuevo firmware OTA
URL: http://[ip]:[puerto]/zeroconf/ota_flash
json
Método:
{
"deviceid": "",
"data": {
"downloadUrl": "http://192.168.1.184/ota/new_rom.bin",
"sha256sum": "3213b2c34cecbb3bb817030c7f025396b658634c0cf9c4435fc0b52ec9644667"
}
}
Atributo | Tipo | Opcional | Descripción |
---|---|---|---|
Cadena | No | La dirección de descarga del nuevo firmware, solo admite el protocolo HTTP, el servidor HTTP debe soportar el encabezado de solicitud Range. | |
suma sha256 | Cadena | No |
Los siguientes códigos de error se agregan al campo de error del cuerpo de la respuesta:
– 403: La operación falló y la función OTA no se desbloqueó. Primero se debe llamar correctamente a la interfaz "3.2.6 Desbloqueo de la función OTA".
– 408: La operación falló y se agotó el tiempo de espera para la predescarga del firmware. Puede intentar acceder a esta interfaz de nuevo después de optimizar el entorno de red o aumentar la velocidad de la red.
– 413: La operación falló y el tamaño del cuerpo de la solicitud es demasiado grande. El tamaño del nuevo firmware OTA supera el límite de tamaño de firmware permitido por el dispositivo.
– 424: La operación falló y no se pudo descargar el firmware. La dirección URL es inaccesible (dirección IP inaccesible, protocolo HTTP inaccesible, firmware inexistente, el servidor no admite el encabezado de solicitud de rango, etc.).
– 471: La operación falló y la comprobación de integridad del firmware falló. La suma de comprobación SHA256 del nuevo firmware descargado no coincide con el valor del campo SHA256Sum del cuerpo de la solicitud. Reiniciar el dispositivo provocará un problema de bloqueo.
Nota:
El tamaño máximo del firmware es 508 KB.
El modo de lectura flash SPI debe ser DOUT.