Modifications

Sauter à la navigation Sauter à la recherche
2 220 octets ajoutés ,  3 janvier 2015 à 21:18
Ligne 37 : Ligne 37 :  
Lorsque le contact est fermé (la porte fermée), 3.3V est appliqué sur la broche D4... lorsque la porte est ouverte, le contact reed s'ouvre et la broche D4 est ramenée à la masse par la résistance pull-down.
 
Lorsque le contact est fermé (la porte fermée), 3.3V est appliqué sur la broche D4... lorsque la porte est ouverte, le contact reed s'ouvre et la broche D4 est ramenée à la masse par la résistance pull-down.
    +
== Faire un appel d'API avec CURL ==
 +
Nous allons maintenant tester notre programme... nous allons donc faire des appels d'API sur Spark Cloud.
 +
 +
Pour rappel, nous avons deux API dans notre programme:
 +
* '''counter''' (variable) - permet de savoir combien de fois le contact magnétique à été ouvert.
 +
* '''reset''' (function) - sans paramètre, permet de réinitialiser le compteur à 0.
 +
 +
Dans les exemples Curl ci-dessous, le Core_ID est fixé à 0123456789abcdef et l'Access Token fixé à 123412341234, notre tuto sur la LED internet explique [[Spark-Core-NetLED#Faire_une_requ.C3.AAte_sur_l.27API|comment identifier votre CORE_ID et votre ACCESS TOKEN]].
 +
=== Le compteur ===
 +
Pour commencer, nous allons récupérer le résultat du compteur en utilisant curl (voyez nos précédents tutoriels concernant CURL).
 +
 +
<nowiki>curl -G https://api.spark.io/v1/devices/0123456789abcdef/counter -d access_token=123412341234</nowiki>
 +
 +
Ce qui produit le résultat ci-dessous, où vous pouvez constater que nous avons ouvert 5 fois le contact:
 +
 +
<nowiki>{
 +
  "cmd": "VarReturn",
 +
  "name": "counter",
 +
  "result": 5,
 +
  "coreInfo": {
 +
    "last_app": "",
 +
    "last_heard": "2014-12-31T15:53:55.238Z",
 +
    "connected": true,
 +
    "deviceID": "0123456789abcdef"
 +
  }
 +
}</nowiki>
 +
 +
=== Réinitialiser le compteur ===
 +
Idéalement votre programme utilisant l'API Spark devrait prendre la valeur du compteur... puis surveiller le changement de cette valeur.
 +
 +
Si le compteur augmente... c'est que l'on a ouvert le contact (la porte) :-)
 +
 +
Restons pragmatique... cette façon de faire n'est pas forcement confortable.
 +
 +
En conséquence, nous avons ajouté une fonction '''reset''' sur Spark Cloud pour réinitialiser le compteur (ps: j'ai volontairement laissé le paramètre "params", même s'il est vide).
 +
 +
<nowiki>curl https://api.spark.io/v1/devices/0123456789abcdef/reset -d access_token=123412341234 -d params=</nowiki>
 +
 +
Ce qui produit le résultat suivant:
 +
 +
<nowiki>{
 +
  "id": "0123456789abcdef",
 +
  "name": "mch-demo",
 +
  "last_app": null,
 +
  "connected": true,
 +
  "return_value": 1
 +
}</nowiki>
 +
 +
La valeur 1 est retournée par l'exécution de la fonction sur le Spark... mais le compteur sera bien à zéro!
 +
 +
{{Spark-Core-Hacking-TRAILER}}
    
{{Spark-Core-Hacking-TRAILER}}
 
{{Spark-Core-Hacking-TRAILER}}
29 910

modifications

Menu de navigation