API HTTP D1
O tipo de dispositivo é diylight (type=diylight) e a versão da interface da API do dispositivo é 1 (apivers=1).
Interruptor liga/desliga
URL: http://[ip]:[porta]/zeroconf/switch
Formato do valor de retorno: json
Método: postagem HTTP
{
"deviceid": "",
"data": {
"switch": "on"
}
}
Atributo | Tipo | Opcional | Descrição |
---|---|---|---|
trocar | Corda | Não | on: ligar o interruptor, off: desligar o interruptor |
Regulável
URL: http://[ip]:[porta]/zeroconf/dimmable
Formato do valor de retorno: json
Método: postagem HTTP
{
"deviceid": "",
"data": {
"switch": "on",
"brightness": 30,
"mode": 0,
"brightmin": 10,
"brightmax": 255
}
}
Atributo | Tipo | Opcional | Descrição |
---|---|---|---|
trocar | Corda | Não | O campo “switch” deve estar “on” |
brilho | Número | Não | Brilho da luz, [1~100], inteiro positivo |
modo | Número | Sim | Modo de dispositivo, [0-255], inteiro positivo |
Brightmin | Número | Sim | Brilho mínimo, [0~254], inteiro positivo |
Brightmax | Número | Sim | Brilho máximo, [1~255], inteiro positivo |
Observação:
- Para ajustar o brilho da luz, ela deve estar “ligada”, então se enviar uma solicitação da API Dimmble com “switch”: “off”, ela reportará o erro “400” como falha na operação.
- O parâmetro “modo” é usado no desenvolvimento de APP para definir diferentes modos com brilho específico e sincronizar o conteúdo dos modos do dispositivo ao compartilhar a operação do dispositivo com outras pessoas.
Por exemplo:
O APP do desenvolvedor define dois modos (modo 1: brilho=5; modo 2: brilho=50) que o dispositivo pode atingir um brilho específico por meio de botões. O parâmetro “modo” fornece uma maneira de sincronizar o modo do dispositivo para todos os usuários compartilhados. - O valor de brightmin deve ser menor que brightmax.
Estado de energia ligada
URL: http://[ip]:[porta]/zeroconf/startup
Formato do valor de retorno: json
Método: postagem HTTP
{
"deviceid": "",
"data": {
"startup": "stay"
}
}
Atributo | Tipo | Opcional | Descrição |
---|---|---|---|
comece | Corda | Não | ligado: o dispositivo está ligado quando a alimentação elétrica é recuperada. desligado: o dispositivo está desligado quando a alimentação elétrica é recuperada. permanecer: o status do dispositivo permanece o mesmo que o estado antes do corte de energia |
Intensidade do sinal WiFi
URL: http://[ip]:[porta]/zeroconf/signal_strength
Formato do valor de retorno: json
Método: postagem HTTP
Corpo da solicitação
{
"deviceid": "",
"data": { }
}
Objeto vazio, nenhum atributo é necessário.
Corpo de resposta
{
"seq": 2,
"error": 0,
"data": {
"signalStrength": -67
}
}
Atributo | Tipo | Opcional | Descrição |
---|---|---|---|
força do sinal | Número | Não | A intensidade do sinal WiFi atualmente recebido pelo dispositivo, inteiro negativo, dBm |
Configuração de SSID e senha do WiFi
URL: http://[ip]:[porta]/zeroconf/wifi
Formato do valor de retorno: json
Método: postagem HTTP
{
"deviceid": "",
"data": {
"ssid": "eWeLink",
"password": "WeLoveIoT"
}
}
Atributo | Tipo | Opcional | Descrição |
---|---|---|---|
SSID | Corda | Não | SSID da rede WiFi à qual o dispositivo irá se conectar |
senha | Corda | Não | senha da rede WiFi à qual o dispositivo irá se conectar |
Desbloqueio de função OTA
URL: http://[ip]:[porta]/zeroconf/ota_unlock
Formato do valor de retorno: json
Método: postagem HTTP
{
"deviceid": "",
"data": { }
}
Objeto vazio, nenhum atributo é necessário.
Os seguintes códigos de falha são adicionados ao campo de erro do corpo da resposta:
– 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: A operação falhou e o dispositivo não consegue solicitar o serviço de desbloqueio OTA do fornecedor. Por exemplo, o dispositivo não está conectado ao Wi-Fi, não está conectado à internet, o serviço de desbloqueio OTA do fabricante está inativo, etc.
Novo firmware OTA
URL: http://[ip]:[porta]/zeroconf/ota_flash
Formato do valor de retorno: json
Método: postagem HTTP
{
"deviceid": "",
"data": {
"downloadUrl": "http://192.168.1.184/ota/new_rom.bin",
"sha256sum": "3213b2c34cecbb3bb817030c7f025396b658634c0cf9c4435fc0b52ec9644667"
}
}
Atributo | Tipo | Opcional | Descrição |
---|---|---|---|
URL de download | 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 | Soma de verificação SHA256 (hash) do novo firmware, é usado para verificar a integridade do novo firmware baixado |
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 Range, 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.
Obter informações do dispositivo
URL: http://[ip]:[porta]/zeroconf/info
Formato do valor de retorno: json
Método: postagem HTTP
{
"deviceid": "",
"data": { }
}
Objeto vazio, nenhum atributo é necessário.
Corpo de resposta
{
"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
}
}
Observação:
- Monitore e analise o registro DNS TXT do dispositivo para obter informações do dispositivo em tempo real.