API HTTP BASICR3/RFR3/MINI
Le type d'appareil est diy_plug (type=diy_plug) et la version de l'interface API de l'appareil est 1 (apivers=1).
- Lorsque la version du micrologiciel de l'appareil est < 3.7.6, l'ID de l'appareil peut être laissé vide.
par exemple « deviceid » : « » - Lorsque la version du firmware de l'appareil est ≥ 3.7.6, l'ID de l'appareil doit être renseigné.
par exemple « deviceid » : « 1000000001 »
Interrupteur marche/arrêt
URL : http://[ip]:[port]/zeroconf/switch
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "",
"data": {
"switch": "on"
}
}
Attribut | Taper | Facultatif | Description |
---|---|---|---|
changer | Chaîne | Non | on : allumer l'interrupteur, off : éteindre l'interrupteur |
État de mise sous tension
URL : http://[ip]:[port]/zeroconf/startup
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "",
"data": {
"startup": "stay"
}
}
Attribut | Taper | Facultatif | Description |
---|---|---|---|
démarrer | Chaîne | Non | allumé : l'appareil est allumé lorsque l'alimentation électrique est rétablie. éteint : l'appareil est éteint lorsque l'alimentation électrique est rétablie. rester : l'état de l'appareil reste le même que celui avant la coupure de courant |
Force du signal Wi-Fi
URL : http://[ip]:[port]/zeroconf/signal_strength
Format de la valeur de retour : json
Méthode : HTTP post
Corps de la requête
{
"deviceid": "",
"data": { }
}
Objet vide, aucun attribut n'est requis.
Corps de la réponse
{
"seq": 2,
"error": 0,
"data": {
"signalStrength": -67
}
}
Attribut | Taper | Facultatif | Description |
---|---|---|---|
force du signal | Nombre | Non | La force du signal WiFi actuellement reçue par l'appareil, entier négatif, dBm |
Avancement progressif
URL : http://[ip]:[port]/zeroconf/pulse
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "",
"data": {
"pulse": "on",
"pulseWidth": 2000
}
}
Attribut | Taper | Facultatif | Description |
---|---|---|---|
impulsion | Chaîne | Non | on : active la fonction d'approche progressive ; off : désactive la fonction d'avance lente |
largeur d'impulsion | Nombre | Oui | Obligatoire lorsque « impulsion » est activé, durée d'impulsion, entier positif, ms, ne prend en charge que les multiples de 500 dans la plage de 500 à 3 600 000 |
Configuration du SSID et du mot de passe Wi-Fi
URL : http://[ip]:[port]/zeroconf/wifi
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "",
"data": {
"ssid": "eWeLink",
"password": "WeLoveIoT"
}
}
Attribut | Taper | Facultatif | Description |
---|---|---|---|
ssid | Chaîne | Non | SSID du réseau WiFi auquel l'appareil se connectera |
mot de passe | Chaîne | Non | mot de passe du réseau WiFi auquel l'appareil se connectera |
Déverrouillage de la fonction OTA
URL : http://[ip]:[port]/zeroconf/ota_unlock
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "",
"data": { }
}
Objet vide, aucun attribut n'est requis.
Les codes d’échec suivants sont ajoutés au champ d’erreur du corps de la réponse :
– 500 : L'opération a échoué et l'appareil présente des erreurs. Par exemple, l'ID de l'appareil ou la clé API n'est pas authentifiée par le service de déverrouillage OTA du fournisseur ;
– 503 : L'opération a échoué et l'appareil ne peut pas demander le service de déverrouillage OTA du fournisseur. Par exemple, l'appareil n'est pas connecté au Wi-Fi, à Internet, le service de déverrouillage OTA du fabricant est en panne, etc.
Nouveau micrologiciel OTA
URL : http://[ip]:[port]/zeroconf/ota_flash
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "",
"data": {
"downloadUrl": "http://192.168.1.184/ota/new_rom.bin",
"sha256sum": "3213b2c34cecbb3bb817030c7f025396b658634c0cf9c4435fc0b52ec9644667"
}
}
Attribut | Taper | Facultatif | Description |
---|---|---|---|
URL de téléchargement | Chaîne | Non | L'adresse de téléchargement du nouveau firmware prend uniquement en charge le protocole HTTP, le serveur HTTP doit prendre en charge l'en-tête de requête Range. |
somme sha256 | Chaîne | Non | Somme de contrôle SHA256 (hachage) du nouveau firmware, elle est utilisée pour vérifier l'intégrité du nouveau firmware téléchargé |
Les codes d’échec suivants sont ajoutés au champ d’erreur du corps de la réponse :
– 403 : L'opération a échoué et la fonction OTA n'a pas été déverrouillée. L'interface « 3.2.6 Déverrouillage de la fonction OTA » doit d'abord être appelée avec succès.
– 408 : L'opération a échoué et le délai de prétéléchargement du micrologiciel a expiré. Vous pouvez réessayer d'appeler cette interface après avoir optimisé l'environnement réseau ou augmenté la vitesse du réseau.
– 413 : L'opération a échoué et la taille du corps de la requête est trop importante. La taille du nouveau micrologiciel OTA dépasse la limite autorisée par l'appareil.
– 424 : L'opération a échoué et le téléchargement du micrologiciel a échoué. L'adresse URL est inaccessible (adresse IP inaccessible, protocole HTTP inaccessible, micrologiciel inexistant, serveur non compatible avec l'en-tête de requête Range, etc.).
– 471 : L'opération a échoué, ainsi que la vérification de l'intégrité du micrologiciel. La somme de contrôle SHA256 du nouveau micrologiciel téléchargé ne correspond pas à la valeur du champ sha256sum du corps de la requête. Le redémarrage de l'appareil entraînera un problème de bricking.
Note:
- La taille maximale du firmware est de 508 Ko.
- Le mode de lecture flash SPI doit être DOUT.
Obtenir des informations sur l'appareil
URL : http://[ip]:[port]/zeroconf/info
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "",
"data": { }
}
Objet vide, aucun attribut n'est requis.
Corps de la réponse
{
"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
}
}
Note:
- Surveillez et analysez l'enregistrement DNS TXT de l'appareil pour obtenir les informations de l'appareil en temps réel.