Ligne 1 : |
Ligne 1 : |
| {{Spark-Core-Hacking-NAV}} | | {{Spark-Core-Hacking-NAV}} |
− |
| |
− | {{traduction}}
| |
| | | |
| == Mesurer la température == | | == Mesurer la température == |
− | {{bloc-etroit|text=Jusqu'ici nous avons appris comment envoyer des commandes personnalisée à note Core et comment contrôler la matériel. | + | {{bloc-etroit|text=Jusqu'ici nous avons appris comment envoyer des commandes personnalisée à note Core et comment contrôler le matériel. |
| | | |
| Mais comment lire des données sur notre Core? | | Mais comment lire des données sur notre Core? |
Ligne 95 : |
Ligne 93 : |
| | | |
| Le {{pl|59|TMP36}} est un senseur de température très facile à trouver. | | Le {{pl|59|TMP36}} est un senseur de température très facile à trouver. |
− | Il s'agit d'un périphérique analogique (la tension en sortie du senseur dépend de la température). Ce senseur est également inclus dans le {{pl|519|Spark Core Maker Kit}}! | + | Il s'agit d'un périphérique analogique (la tension en sortie du senseur dépend de la température). Ce senseur est également inclus dans le {{pl|519|Particle Core Maker Kit}}! |
| | | |
| Vous pouvez [http://www.analog.com/en/mems-sensors/digital-temperature-sensors/tmp36/products/product.html télécharger la fiche technique] ici. | | Vous pouvez [http://www.analog.com/en/mems-sensors/digital-temperature-sensors/tmp36/products/product.html télécharger la fiche technique] ici. |
Ligne 110 : |
Ligne 108 : |
| | | |
| == Le code == | | == Le code == |
− | Voici le code proposé par Spark que nous avons traduit pour faciliter la compréhension. | + | Voici le code proposé par Particle que nous avons traduit pour faciliter la compréhension. |
| | | |
| Notez que ce montage utilise le deuxième schéma de raccordement (lecture sur la broche analogique A7 et filtrage). | | Notez que ce montage utilise le deuxième schéma de raccordement (lecture sur la broche analogique A7 et filtrage). |
Ligne 124 : |
Ligne 122 : |
| void setup() | | void setup() |
| { | | { |
− | // Enregistrer la variable sur Spark Cloud | + | // Enregistrer la variable sur Particle Cloud |
| Spark.variable("temperature", &temperature, DOUBLE); | | Spark.variable("temperature", &temperature, DOUBLE); |
| | | |
Ligne 157 : |
Ligne 155 : |
| GET /v1/devices/{DEVICE_ID}/temperature | | GET /v1/devices/{DEVICE_ID}/temperature |
| | | |
| + | === Appel d'API avec CURL === |
| Voici un exemple de requête Curl, Core_ID est 0123456789abcdef et un Access Token 123412341234. | | Voici un exemple de requête Curl, Core_ID est 0123456789abcdef et un Access Token 123412341234. |
| | | |
Ligne 178 : |
Ligne 177 : |
| } | | } |
| }</nowiki> | | }</nowiki> |
| + | |
| + | === Appel d'API avec navigateur === |
| + | Cette fois-ci, il sera facile d'utiliser votre navigateur favoris pour faire un appel d'API et obtenir le contenu d'une variable. |
| + | |
| + | Dans le cas présent, il s'agit d'une requête de type GET, ce que fait exactement votre navigateur internet lorsque vous visitez un site internet. |
| + | |
| + | Ouvrez donc votre navigateur favori et saisissez: |
| + | |
| + | <nowiki>https://api.spark.io/v1/devices/54fyyyyyyyyyyyyyyyyyyy67/temperature?access_token=1dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxf8</nowiki> |
| + | |
| + | Cet exemple ci utilise le Particle Core de MCHobby... raison pour laquelle le CORE ID et l'ACCESS TOKEN sont différents |
| + | |
| + | {{SPARKImage|Spark.IO-Core-TMP36-10.jpg|640px}} |
| | | |
| == Les petits curieux : Découvrir l'API de votre Core == | | == Les petits curieux : Découvrir l'API de votre Core == |
Ligne 184 : |
Ligne 196 : |
| Pour la petite histoire, avant d'opter pour l'utilisation d'un montage avec filtrage (cfr début de ce tutoriel), j'ai essayé de comprendre pourquoi mon Core prétendait qu'il faisait -20°C dans mon salon! | | Pour la petite histoire, avant d'opter pour l'utilisation d'un montage avec filtrage (cfr début de ce tutoriel), j'ai essayé de comprendre pourquoi mon Core prétendait qu'il faisait -20°C dans mon salon! |
| | | |
− | J'ai donc modifié le programme pour publier toutes les variables du programme sur l'API Spark Cloud et c'est là qu'on apprend des choses intéressantes. | + | J'ai donc modifié le programme pour publier toutes les variables du programme sur l'API Particle Cloud et c'est là qu'on apprend des choses intéressantes. |
| + | |
| + | {{underline|Note:}} |
| + | |
| + | Depuis la première rédaction de cet article, nous avons également traduit [[Spark.IO-CLI|le tutoriel sur "Particle CLI"]] (Interface en ligne de commande) où l'on apprend comment lister les Cores et leur interface. |
| | | |
| === Le code === | | === Le code === |
− | Le code ci-dessous déclare toutes les variables utilisées par le programme... variables que je publie sur l'API Spark Cloud. | + | Le code ci-dessous déclare toutes les variables utilisées par le programme... variables que je publie sur l'API Particle Cloud. |
| | | |
| <nowiki>// ----------------- | | <nowiki>// ----------------- |
Ligne 202 : |
Ligne 218 : |
| void setup() | | void setup() |
| { | | { |
− | // Enregistrer la variable sur Spark Cloud | + | // Enregistrer la variable sur Particle Cloud |
| Spark.variable("temperature", &temperature, DOUBLE); | | Spark.variable("temperature", &temperature, DOUBLE); |
| Spark.variable("voltage", &voltage, DOUBLE ); | | Spark.variable("voltage", &voltage, DOUBLE ); |
Ligne 256 : |
Ligne 272 : |
| | | |
| === Désobéissons: énumérer l'API === | | === Désobéissons: énumérer l'API === |
− | Vous vous doutez certainement que votre programme Spark publie les éléments de votre interface sur Spark Cloud. | + | Vous vous doutez certainement que votre programme Spark publie les éléments de votre interface sur Particle Cloud. |
| | | |
| C'est en faisant preuve de curiosité que j'ai remarqué qu'il était possible de consulter l'interface disponible en faisant une {{underline|requête CURL sur le Core (sans préciser l'API)}}. | | C'est en faisant preuve de curiosité que j'ai remarqué qu'il était possible de consulter l'interface disponible en faisant une {{underline|requête CURL sur le Core (sans préciser l'API)}}. |
Ligne 280 : |
Ligne 296 : |
| * '''id''': Identification de votre Core. Superflux à la base mais peut grandement faciliter l'écriture de votre code. | | * '''id''': Identification de votre Core. Superflux à la base mais peut grandement faciliter l'écriture de votre code. |
| * '''name''': Le nom que vous avez donné à votre Core. En utilisant une nomenclature adéquate, vous pourriez identifier | | * '''name''': Le nom que vous avez donné à votre Core. En utilisant une nomenclature adéquate, vous pourriez identifier |
− | * '''connected''': permet de savoir si votre Core est actuellement connecté sur Spark Cloud. | + | * '''connected''': permet de savoir si votre Core est actuellement connecté sur Particle Cloud. |
| * '''variables''': contient les entrées (et type) correspondant aux {{underline|variables}} d'API déclarées dans notre programme avec <code>Spark.variable()</code> | | * '''variables''': contient les entrées (et type) correspondant aux {{underline|variables}} d'API déclarées dans notre programme avec <code>Spark.variable()</code> |
| * '''functions''': contient les entrées correspondant aux {{underline|fonctions}} d'API déclarées dans votre programme avec <code>Spark.function()</code> | | * '''functions''': contient les entrées correspondant aux {{underline|fonctions}} d'API déclarées dans votre programme avec <code>Spark.function()</code> |