API HTTP BASICR3/RFR3/MINI
Il tipo di dispositivo è diy_plug (type=diy_plug) e la versione dell'interfaccia API del dispositivo è 1 (apivers=1).
- Se la versione del firmware del dispositivo è < 3.7.6, l'ID del dispositivo può essere lasciato vuoto.
ad esempio “deviceid”: “” - Se la versione del firmware del dispositivo è ≥ 3.7.6, è necessario compilare l'ID del dispositivo.
ad esempio "deviceid": "1000000001"
Interruttore ON/OFF
URL: http://[ip]:[porta]/zeroconf/switch
Formato del valore restituito: json
Metodo: post HTTP
{
"deviceid": "",
"data": {
"switch": "on"
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
interruttore | Corda | NO | on: accendi l'interruttore, off: spegni l'interruttore |
Stato di accensione
URL: http://[ip]:[porta]/zeroconf/startup
Formato del valore restituito: json
Metodo: post HTTP
{
"deviceid": "",
"data": {
"startup": "stay"
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
avvio | Corda | NO | acceso: il dispositivo è acceso quando l'alimentazione viene ripristinata. spento: il dispositivo è spento quando l'alimentazione viene ripristinata. resta: lo stato del dispositivo rimane uguale a quello precedente all'interruzione dell'alimentazione |
Potenza del segnale WiFi
URL: http://[ip]:[porta]/zeroconf/signal_strength
Formato del valore restituito: json
Metodo: post HTTP
Corpo della richiesta
{
"deviceid": "",
"data": { }
}
Oggetto vuoto, non è richiesto alcun attributo.
Corpo della risposta
{
"seq": 2,
"error": 0,
"data": {
"signalStrength": -67
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
potenza del segnale | Numero | NO | La potenza del segnale WiFi attualmente ricevuto dal dispositivo, numero intero negativo, dBm |
Avanzamento lento
URL: http://[ip]:[porta]/zeroconf/pulse
Formato del valore restituito: json
Metodo: post HTTP
{
"deviceid": "",
"data": {
"pulse": "on",
"pulseWidth": 2000
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
impulso | Corda | NO | on: attiva la funzione di avanzamento a impulsi; off: disabilita la funzione di avanzamento lento |
larghezza di impulso | Numero | SÌ | Richiesto quando "pulse" è attivo, durata dell'impulso, intero positivo, ms, supporta solo multipli di 500 nell'intervallo 500~3600000 |
Impostazione SSID e password WiFi
URL: http://[ip]:[porta]/zeroconf/wifi
Formato del valore restituito: json
Metodo: post HTTP
{
"deviceid": "",
"data": {
"ssid": "eWeLink",
"password": "WeLoveIoT"
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
ssid | Corda | NO | SSID della rete WiFi a cui si connetterà il dispositivo |
password | Corda | NO | password della rete WiFi a cui si connetterà il dispositivo |
Sblocco della funzione OTA
URL: http://[ip]:[porta]/zeroconf/ota_unlock
Formato del valore restituito: json
Metodo: post HTTP
{
"deviceid": "",
"data": { }
}
Oggetto vuoto, non è richiesto alcun attributo.
I seguenti codici di errore vengono aggiunti al campo di errore del corpo della risposta:
– 500: l'operazione non è riuscita e il dispositivo presenta errori. Ad esempio, l'ID dispositivo o l'errore della chiave API non sono autenticati dal servizio di sblocco OTA del fornitore;
– 503: L'operazione non è riuscita e il dispositivo non è in grado di richiedere il servizio di sblocco OTA del produttore. Ad esempio, il dispositivo non è connesso al Wi-Fi, non è connesso a Internet, il servizio di sblocco OTA del produttore non è disponibile, ecc.
Nuovo firmware OTA
URL: http://[ip]:[porta]/zeroconf/ota_flash
Formato del valore restituito: json
Metodo: post HTTP
{
"deviceid": "",
"data": {
"downloadUrl": "http://192.168.1.184/ota/new_rom.bin",
"sha256sum": "3213b2c34cecbb3bb817030c7f025396b658634c0cf9c4435fc0b52ec9644667"
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
URL di download | 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 | Checksum SHA256 (hash) del nuovo firmware, serve per verificare l'integrità del nuovo firmware scaricato |
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. È necessario prima chiamare correttamente l'interfaccia "3.2.6 Sblocco funzione OTA".
– 408: L'operazione non è riuscita e il firmware pre-download è scaduto. È 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.
Ottieni informazioni sul dispositivo
URL: http://[ip]:[porta]/zeroconf/info
Formato del valore restituito: json
Metodo: post HTTP
{
"deviceid": "",
"data": { }
}
Oggetto vuoto, non è richiesto alcun attributo.
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
}
}
Nota:
- Monitora e analizza il record DNS TXT del dispositivo per ottenere informazioni sul dispositivo in tempo reale.