« Domotech esp8266 api » : différence entre les versions

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