API HTTP B02-BL/B05-BL
Il tipo di dispositivo è diy_light(type=diy_light) e la versione dell'interfaccia API del dispositivo è 1 (apivers=1).
Ottieni informazioni sul dispositivo
URL: http://[ip]:[porta]/zeroconf/info
json
Metodo:
{
"deviceid": "1000000001",
"data": {}
}
Corpo della risposta
{
"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
}
}
Accendi e spegni
URL: http://[ip]:[porta]/zeroconf/switch
json
Metodo:
{
"deviceid": "1000000001",
"data": {
"switch": "on"
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
Corda | NO | on: accendere la luce, off: |
Luce dimmerabile
URL: http://[ip]:[porta]/zeroconf/dimmable
json
Metodo:
{
//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}
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
Corda | NO | Modalità luce, include bianco, colore, luminoso, buonanotte, lettura, luce notturna, festa, tempo libero, morbido, colorato | |
bianco | Oggetto | Cambia il tipo in freddo e caldo | |
colore | Oggetto | Cambia il tipo in RGBCW | |
luminoso | Oggetto | Cambia la scena in "Luminosa" | |
Buona notte | Oggetto | Cambia la scena in "Dormi" | |
Leggere | Oggetto | Cambia la scena in "Leggi" | |
Luce notturna | Oggetto | Cambia la scena in "Notte" | |
festa | Oggetto | Cambia la scena in "Festa" | |
tempo libero | Oggetto | Cambia la scena in "Rilassati" | |
morbido | Oggetto | Cambia la scena in "Soft" | |
colorato | Oggetto | Cambia la scena in "Vivido" | |
br | Numero | NO | Luminosità, [1.100] |
ct | Numero | NO | Temperatura del colore, [0,100] |
R | Numero | NO | Valore rosso, [0,255] |
G | Numero | NO | Valore verde, [0,255] |
B | Numero | NO | Valore blu, [0,255] |
tf | Numero | NO | Modalità di trasformazione del colore, [1,3]. 1: Statico, 2: Graduale, 3: Sfarfallio |
sp | Numero | NO |
Impostazione SSID e password WiFi
URL: http://[ip]:[porta]/zeroconf/wifi
json
Metodo:
{
"deviceid": "",
"data": {
"ssid": "eWeLink",
"password": "WeLoveIoT"
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
Corda | NO | SSID della rete WiFi a cui si connetterà il dispositivo | |
password | Corda | NO |
Potenza del segnale WiFi
URL: http://[ip]:[porta]/zeroconf/signal_strength
json
Metodo:
{
"deviceid": "1000000001",
"data": {}
}
Corpo della risposta
{
"seq": 2,
"error": 0,
"data": {
"signalStrength": -67
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
Numero | NO |
Sblocco della funzione OTA
URL: http://[ip]:[porta]/zeroconf/ota_unlock
json
Metodo:
{
"deviceid": "",
"data": {}
}
– 500: l'operazione non è riuscita e il dispositivo presenta degli errori. Ad esempio, l'ID dispositivo o l'errore della chiave API non sono autenticati dal servizio di sblocco OTA del fornitore;
– 503:
Nuovo firmware OTA
URL: http://[ip]:[porta]/zeroconf/ota_flash
json
Metodo:
{
"deviceid": "",
"data": {
"downloadUrl": "http://192.168.1.184/ota/new_rom.bin",
"sha256sum": "3213b2c34cecbb3bb817030c7f025396b658634c0cf9c4435fc0b52ec9644667"
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
Corda | NO | L'indirizzo di download del nuovo firmware supporta solo il protocollo HTTP, il server HTTP deve supportare l'intestazione della richiesta Range. | |
sha256sum | Corda | NO |
I seguenti codici di errore vengono aggiunti al campo di errore del corpo della risposta:
– 403: L'operazione non è riuscita e la funzione OTA non è stata sbloccata. Per prima cosa è necessario chiamare correttamente l'interfaccia "3.2.6 Sblocco funzione OTA".
– 408: Operazione non riuscita e timeout del firmware pre-download. È possibile provare a richiamare questa interfaccia dopo aver ottimizzato l'ambiente di rete o aumentato la velocità di rete.
– 413: L'operazione non è riuscita e la dimensione del corpo della richiesta è troppo grande. La dimensione del nuovo firmware OTA supera il limite di dimensione del firmware consentito dal dispositivo.
– 424: Operazione non riuscita e il firmware non può essere scaricato. L'indirizzo URL non è raggiungibile (indirizzo IP non raggiungibile, protocollo HTTP non raggiungibile, firmware inesistente, server non supporta l'intestazione di richiesta Range, ecc.)
– 471: Operazione non riuscita e controllo di integrità del firmware non riuscito. Il checksum SHA256 del nuovo firmware scaricato non corrisponde al valore del campo sha256sum del corpo della richiesta. Il riavvio del dispositivo causerà un problema di bricking.
Nota:
La dimensione massima del firmware è 508 KB.
La modalità di lettura flash SPI deve essere DOUT.