Différences entre les versions de « Domotech esp8266 api »

De mydil
Aller à la navigation Aller à la recherche
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/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 =

Version du 12 septembre 2018 à 14:00

Commandes

Déclaration de cette API dans le fichier ApiCommandServer.cpp.

URL Corps Verbe Action Code retour Implémentée

/api/cmd/locate

  • vide

GET

Fait clignoter la led (D4) présente sur le module

  • 200
Implemented green tick.png

/api/cmd/reboot

  • vide

GET

Redémarre le module

  • 200
Implemented green tick.png

/api/cmd/disable

  • vide

GET

Désactive le module. Un module désactivé ne répondra plus à aucun ordre, notamment de modification de GPIO.

  • 200
Implemented green tick.png

/api/cmd/enable

  • vide

GET

Active le module.

  • 200
Implemented green tick.png

GPIO

Déclaration de cette API dans le fichier ApiGpioServer.cpp.

URL Corps Verbe Action Code retour Implémentée

/api/gpio

  • vide

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 } } }
Implemented green tick.png

/api/gpio/mode

  • gpio : broche à modifier (D0 - D7)
  • mode : mode de la broche, iINPUT et oOUTPUT

GET

Modifie le mode d'une broche

  • 200 : si les deux paramètres sont présents
Implemented green tick.png

/api/gpio/state

  • gpio : broche à modifier (D0 - D7)
  • state : état désiré de la broche, 1HIGH et 0LOW

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
Implemented green tick.png

/api/gpio/toggle

  • gpio : broche à modifier (D0 - D7)

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
Implemented green tick.png

/api/gpio/time

  • gpio : broche à modifier (D0 - D7)
  • time : durée de changement d'état de la broche (0 - 65535)

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
Implemented green tick.png

/api/gpio/isr

  • gpio : broche à modifier (D0 - D7)
  • isr : le type d'interruption
    • 0 → pas d'ISR
    • 1 → CHANGE
    • 2 → RISING
    • 3 → FALLING

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
Implemented green tick.png

/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

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
Implemented green tick.png

Température

Déclaration de cette API dans le fichier ApiTempServer.cpp.

URL Corps Verbe Action Code retour Implémentée

/api/temp

  • vide

GET

Affiche les températures de tous les thermomètres ou false si aucun thermomètre n'est présent

  • 200 : { "temperatures" : [ 25.325, 38.152 ] }
Implemented green tick.png

/api/temp/res

  • id : le numéro du thermomètre
  • res : la résolution voulue

GET

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
  • 404 : si l'identifiant n'est pas valide
Implemented green tick.png

/api/temp/addr

  • vide

GET

Affiche les adresses des thermomètres

  • 200
Implemented green tick.png