« Domotech esp8266 api » : différence entre les versions
| (9 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 58 : | Ligne 58 : | ||
|} | |} | ||
= ApiGpioServer.cpp = | = GPIO = | ||
Déclaration de cette API dans le fichier ''ApiGpioServer.cpp''. | |||
{|class="wikitable" width="100%" | |||
|-valign=top | |||
! URL !! Corps !! Verbe !! Action !! Code retour !! Implémentée | |||
|- | |||
|| | |||
/api/gpio | |||
|| | |||
*vide | |||
|align='center'| | |||
GET | |||
|| | |||
Affiche l'état des broches | |||
|| | |||
*200 : { "gpios" : { "A0" : { "state" : 9, "time" : 0 } , "D0" : { "state" : 0, "time" : 0, "isr" : 0 } , "D1" : { "state" : 1, "time" : 0, "isr" : 0 } , "D2" : { "state" : 0, "time" : 0, "isr" : 0 } , "D3" : { "state" : 0, "time" : 0, "isr" : 0 } , "D4" : { "state" : 0, "time" : 0, "isr" : 0 } , "D5" : { "state" : 0, "time" : 0, "isr" : 0 } , "D6" : { "state" : 0, "time" : 0, "isr" : 0 } , "D7" : { "state" : 0, "time" : 0, "isr" : 0 } , "D8" : { "state" : 0, "time" : 0, "isr" : 0 } } } | |||
|| | |||
[[Fichier:implemented_green_tick.png|center|40px]] | |||
|- | |||
|| | |||
/api/gpio/mode | |||
|| | |||
* ''gpio'' : broche à modifier (D0 - D7) | |||
* ''mode'' : mode de la broche, ''i'' → ''INPUT'' et ''o'' → ''OUTPUT'' | |||
|align='center'| | |||
GET | |||
|| | |||
Modifie le mode d'une broche | |||
|| | |||
*200 : si les deux paramètres sont présents | |||
|| | |||
[[Fichier:implemented_green_tick.png|center|40px]] | |||
|- | |||
|| | |||
/api/gpio/state | |||
|| | |||
* ''gpio'' : broche à modifier (D0 - D7) | |||
* ''state'' : état désiré de la broche, ''1'' → ''HIGH'' et ''0'' → ''LOW'' | |||
|align='center'| | |||
GET | |||
|| | |||
Récupère / modifie l'état d'une broche | |||
|| | |||
*200 : si ''gpio'' est présent le retour correspondra au nouvel état de la broche → { "state" : 1 } | |||
*400 : si ''gpio'' n'est pas présent | |||
|| | |||
[[Fichier:implemented_green_tick.png|center|40px]] | |||
|- | |||
|| | |||
/api/gpio/pwm | |||
|| | |||
* ''gpio'' : broche à modifier (D0 - D7) | |||
* ''pwm'' : état PWM désiré de la broche (''0'' - ''1024'') | |||
|align='center'| | |||
GET | |||
|| | |||
Récupère / modifie l'état d'une broche | |||
|| | |||
*200 : si ''gpio'' est présent le retour correspondra au nouvel état de la broche → { "state" : 650 } | |||
*400 : si ''gpio'' n'est pas présent | |||
|| | |||
[[Fichier:implemented_green_tick.png|center|40px]] | |||
|- | |||
|| | |||
/api/gpio/toggle | |||
|| | |||
* ''gpio'' : broche à modifier (D0 - D7) | |||
|align='center'| | |||
GET | |||
|| | |||
Permet de basculer l'état d'une broche | |||
|| | |||
*200 : si ''gpio'' est présent le retour correspondra au nouvel état de la broche → { "state" : 1 } | |||
*400 : si ''gpio'' n'est pas présent | |||
|| | |||
[[Fichier:implemented_green_tick.png|center|40px]] | |||
|- | |||
|| | |||
/api/gpio/time | |||
|| | |||
* ''gpio'' : broche à modifier (D0 - D7) | |||
* ''time'' : durée de changement d'état de la broche (0 - 65535) | |||
|align='center'| | |||
GET | |||
|| | |||
Permet de basculer l'état d'une broche pendant un certain nombre de secondes | |||
|| | |||
*200 : si ''gpio'' est présent sans ''time'' → { "D1" : { "time" : 0 } } | |||
*200 : si le paramètre ''time'' est présent le retour correspondra au nouvel état de la broche → { "state" : 1 } | |||
*400 : si ''gpio'' n'est pas présent | |||
|| | |||
[[Fichier:implemented_green_tick.png|center|40px]] | |||
|- | |||
|| | |||
/api/gpio/isr | |||
|| | |||
* ''gpio'' : broche à modifier (D0 - D7) | |||
* ''isr'' : le type d'interruption | |||
** ''0'' → pas d'ISR | |||
** ''1'' → CHANGE | |||
** ''2'' → RISING | |||
** ''3'' → FALLING | |||
|align='center'| | |||
GET | |||
|| | |||
Attache une interruption sur une broche | |||
|| | |||
*200 : si le paramètre ''gpio'' est présent avec ''isr'' → { "D1" : { "isr" : 0 } } | |||
*400 : si l'un des deux paramètres est manquant | |||
|| | |||
[[Fichier:implemented_green_tick.png|center|40px]] | |||
|- | |||
|| | |||
/api/gpio/serial | |||
|| | |||
* ''start'' : démarre la lecture sur le port série (300 - 115200) | |||
* ''stop'' : arrête la lecture sur le port série | |||
* ''send'' : envoie un message sur le port série | |||
|align='center'| | |||
GET | |||
|| | |||
Démarre / stop la lecture sur le port série ou envoie / retourne les données dans le tampon du port série (UART) | |||
|| | |||
*200 : si le paramètre ''start'' est présent, il correspond à la vitesse du port série | |||
*200 : si le paramètre ''stop'' est présent, cela stoppera la lecture | |||
*200 : si le paramètre ''send'' est présent, cela enverra les données sur le port série | |||
*200 : si aucun paramètre n'est présent, cela retournera le contenu du tampon | |||
|| | |||
[[Fichier:implemented_green_tick.png|center|40px]] | |||
|} | |||
= Température = | = Température = | ||
| Ligne 86 : | Ligne 215 : | ||
|align='center'| | |align='center'| | ||
GET | GET | ||
||Affiche | ||Affiche la résolution si le paramètre ''res'' est absent | ||
Configure la résolution si le paramètre ''res'' est présent | |||
|| | || | ||
*200 : si l'identifiant est valide | *200 : si l'identifiant est valide | ||
| Ligne 103 : | Ligne 233 : | ||
|| | || | ||
*200 | *200 | ||
|| | |||
[[Fichier:implemented_green_tick.png|center|40px]] | |||
|} | |||
= Configuration = | |||
Déclaration de cette API dans le fichier ''ApiConfigServer.cpp''. | |||
{|class="wikitable" width="100%" | |||
|-valign=top | |||
! URL !! Corps !! Verbe !! Action !! Code retour !! Implémentée | |||
|- | |||
|| | |||
/api/conf | |||
|| | |||
*vide | |||
|align='center'| | |||
GET | |||
|| | |||
Permet d'afficher la configuration | |||
|| | |||
*200 : | |||
[[Fichier:api_config_retrieval_example.png]] | |||
|| | |||
[[Fichier:implemented_green_tick.png|center|40px]] | |||
|- | |||
|| | |||
/api/conf/apply | |||
|| | |||
* vide | |||
|align='center'| | |||
GET | |||
|| | |||
Permet d'appliquer une configuration (redémarre simplement le module) | |||
|| | |||
*200 | |||
|| | |||
[[Fichier:implemented_green_tick.png|center|40px]] | |||
|- | |||
|| | |||
/api/conf/save | |||
|| | |||
*''hostname'' : nom du module | |||
*''wifimode'' : | |||
** ''1'' → station mode | |||
** ''2'' → AP mode | |||
** ''3'' → AP_STA (both) | |||
*''sta_ssid'' : SSID of the AP to connect to (''wifimode'' must be 1 or 3) | |||
*''sta_pwd'' : password of the AP to connect to (''wifimode'' must be 1 or 3) | |||
*''ap_ssid'' : AP SSID (''wifimode'' must be 2 or 3) | |||
*''ap_pwd'' : AP password (''wifimode'' must be 2 or 3) | |||
*''ap_pwr'' : AP output power (''wifimode'' must be 1 or 3) | |||
*''ipconfig'' : ip configuration, ''0'' for DHCP, ''1'' for static | |||
*''ipaddr'' : ip address (''ipconfig'' must be ''1'') | |||
*''netmask'' : ip netmask (''ipconfig'' must be ''1'') | |||
*''gateway'' : ip gateway (''ipconfig'' must be ''1'') | |||
*''dns'' : ip dns (''ipconfig'' must be ''1'') | |||
*''to_apply'' : will apply configuration by rebooting the device | |||
*''disabled'' : if ''1'' disable the module otherwise module is active with ''0'' | |||
*''is_temp'' : if ''1'' temperature sensor will be active, otherwise ''0'' to disable | |||
*''temp_pin'' : GPIO to look | |||
*''isr'' | |||
*''is_serial'' | |||
*''start'' | |||
|align='center'| | |||
GET | |||
|| | |||
Permet de modifier la configuration du module | |||
|| | |||
*200 | |||
|| | |||
[[Fichier:implemented_green_tick.png|center|40px]] | |||
|- | |||
|| | |||
/api/conf/reset | |||
|| | |||
* vide | |||
|align='center'| | |||
GET | |||
|| | |||
Efface la configuration et redémarre le module | |||
|| | |||
*200 | |||
|| | |||
[[Fichier:implemented_green_tick.png|center|40px]] | |||
|} | |||
= Firmware = | |||
Déclaration de cette API dans le fichier ''ApiUpdateServer.cpp''. | |||
{|class="wikitable" width="100%" | |||
|-valign=top | |||
! URL !! Corps !! Verbe !! Action !! Code retour !! Implémentée | |||
|- | |||
|| | |||
/api/firmware/update | |||
|| | |||
*server: l'adresse IP du serveur | |||
*name: le nom du firmware | |||
|align='center'| | |||
GET | |||
|| | |||
Met à jour le micrologiciel du module avec le fichier présent à ''http://ip_du_serveur/nom_du_firmware'' | |||
|| | |||
*200 : | |||
|| | |||
[[Fichier:implemented_green_tick.png|center|40px]] | |||
|- | |||
|| | |||
/api/firmware/info | |||
|| | |||
* vide | |||
|align='center'| | |||
GET | |||
|| | |||
Affiche des informations sur la mise à jour. En cas de mise à jour réussie, comme le module redémarre automatiquement, l'état n'est pas cohérent (affiche une erreur) | |||
|| | |||
*200 : si l'identifiant est valide | |||
|| | || | ||
[[Fichier:implemented_green_tick.png|center|40px]] | [[Fichier:implemented_green_tick.png|center|40px]] | ||
|} | |} | ||
Dernière version du 30 mars 2019 à 15:36
Commandes
Déclaration de cette API dans le fichier ApiCommandServer.cpp.
| URL | Corps | Verbe | Action | Code retour | Implémentée |
|---|---|---|---|---|---|
|
/api/cmd/locate |
|
GET |
Fait clignoter la led (D4) présente sur le module |
|
|
|
/api/cmd/reboot |
|
GET |
Redémarre le module |
|
|
|
/api/cmd/disable |
|
GET |
Désactive le module. Un module désactivé ne répondra plus à aucun ordre, notamment de modification de GPIO. |
|
|
|
/api/cmd/enable |
|
GET |
Active le module. |
|
GPIO
Déclaration de cette API dans le fichier ApiGpioServer.cpp.
| URL | Corps | Verbe | Action | Code retour | Implémentée |
|---|---|---|---|---|---|
|
/api/gpio |
|
GET |
Affiche l'état des broches |
|
|
|
/api/gpio/mode |
|
GET |
Modifie le mode d'une broche |
|
|
|
/api/gpio/state |
|
GET |
Récupère / modifie l'état d'une broche |
|
|
|
/api/gpio/pwm |
|
GET |
Récupère / modifie l'état d'une broche |
|
|
|
/api/gpio/toggle |
|
GET |
Permet de basculer l'état d'une broche |
|
|
|
/api/gpio/time |
|
GET |
Permet de basculer l'état d'une broche pendant un certain nombre de secondes |
|
|
|
/api/gpio/isr |
|
GET |
Attache une interruption sur une broche |
|
|
|
/api/gpio/serial |
|
GET |
Démarre / stop la lecture sur le port série ou envoie / retourne les données dans le tampon du port série (UART) |
|
Température
Déclaration de cette API dans le fichier ApiTempServer.cpp.
| URL | Corps | Verbe | Action | Code retour | Implémentée |
|---|---|---|---|---|---|
|
/api/temp |
|
GET |
Affiche les températures de tous les thermomètres ou false si aucun thermomètre n'est présent |
|
|
|
/api/temp/res |
|
GET |
Affiche la résolution si le paramètre res est absent
Configure la résolution si le paramètre res est présent |
|
|
|
/api/temp/addr |
|
GET |
Affiche les adresses des thermomètres |
|
Configuration
Déclaration de cette API dans le fichier ApiConfigServer.cpp.
| URL | Corps | Verbe | Action | Code retour | Implémentée |
|---|---|---|---|---|---|
|
/api/conf |
|
GET |
Permet d'afficher la configuration |
|
|
|
/api/conf/apply |
|
GET |
Permet d'appliquer une configuration (redémarre simplement le module) |
|
|
|
/api/conf/save |
|
GET |
Permet de modifier la configuration du module |
|
|
|
/api/conf/reset |
|
GET |
Efface la configuration et redémarre le module |
|
Firmware
Déclaration de cette API dans le fichier ApiUpdateServer.cpp.
| URL | Corps | Verbe | Action | Code retour | Implémentée |
|---|---|---|---|---|---|
|
/api/firmware/update |
|
GET |
Met à jour le micrologiciel du module avec le fichier présent à http://ip_du_serveur/nom_du_firmware |
|
|
|
/api/firmware/info |
|
GET |
Affiche des informations sur la mise à jour. En cas de mise à jour réussie, comme le module redémarre automatiquement, l'état n'est pas cohérent (affiche une erreur) |
|
