Différences entre versions de « Spark-Could-API-FirmwareCheckAndFlash »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 5 : Ligne 5 :
 
== Vérifier et flasher un nouveau Firmware ==
 
== Vérifier et flasher un nouveau Firmware ==
  
{{bloc-etroit|text=All your Spark firmware coding can happen entirely in the build section of the website. However, if you prefer to use your own text editor or IDE, you can! It just means that instead of hitting the "Flash" or "Verify" buttons, you'll make API calls that reference a file.}}
+
{{bloc-etroit|text=Vous pouvez réaliser le coding et la mise-à-jour de vos firmware directement dans Spark Build. Cependant, vous pouvez également utiliser votre propre éditeur de texte ou IDE! Cela signifie que vous voulez Flasher ou Verifier votre code alors vous devrez faire un appel d'API qui référence ce fichier.}}
  
 
== Flasher un Core avec du Code Source ==
 
== Flasher un Core avec du Code Source ==
{{bloc-etroit|text=If you have written a source code file that defines setup() and loop() functions, you can flash it to your Spark Core with an HTTP PUT request.}}
+
{{bloc-etroit|text=Si vous avez écrit un fichier contenant du code source contenant une fonction setup() et loop(), vous pouvez le flasher sur votre Core avec une requête HTTP PUT.}}
  
  <nowiki># HTTP REQUEST DEFINITION
+
  <nowiki># DEFINITION DE LA REQUETE HTTP
PUT /v1/devices/{DEVICE_ID}
+
PUT /v1/devices/{CORE_ID}
 
Content-Type: multipart/form-data
 
Content-Type: multipart/form-data
  
Send the source code file as "file" in request body.</nowiki>
+
Envoyer le fichier code source en tant que "fichier" dans le corps de la requête.</nowiki>
  
The API request should be encoded as multipart/form-data with a file field populated. Your filename does not matter. In particular, the extension can be .c, .cpp, .ino, or anything else your prefer.
+
La requête d'API devrait être encodée en tant que multipart/form-data avec un champ 'file' remplit. Le nom du fichier n'a aucune important. En particulier l'extension peut être .c, .cpp, .ino, ou n'importe quoi d'autre si vous préférez.
  
This API request will submit your firmware to be compiled into a Spark binary, after which, if compilation was successful, the binary will be flashed to your Core wirelessly.
+
Cette requête d'API soumettra votre firmware au compilateur pour générer un binaire Spark, après quoi, si la compilation est réussie, le binaire sera flashé sur votre Core via la connexion WiFi.
  
  <nowiki># EXAMPLE REQUEST IN TERMINAL
+
  <nowiki># EXEMPLE DE REQUETE DANS UN TERMINAL
# Flash a Core with a file called "my-firmware-app.cpp"
+
# Flasher un Core avec un fichier qui s'appelle "my-firmware-app.cpp"
 
curl -X PUT -F file=@my-firmware-app.cpp \
 
curl -X PUT -F file=@my-firmware-app.cpp \
 
   "https://api.spark.io/v1/devices/0123456789abcdef01234567?access_token=1234123412341234123412341234123412341234"</nowiki>
 
   "https://api.spark.io/v1/devices/0123456789abcdef01234567?access_token=1234123412341234123412341234123412341234"</nowiki>
  
There are three possible response formats:
+
Il y a trois formats de réponse possible:
* A successful response, in which both compilation and flashing succeed.
+
* Une réponse positive (succès) dans laquelle la compilation et le flashage ont réussit.
** Note that the LED on your Core will blink magenta while updating.
+
** Notez que la LED de votre Core va clignoter en magenta pendant la mise-à-jour.
* A failure due to compilation errors.
+
* Un échec causé par une erreur de compilation.
* A failure due to inability to transmit the binary to the core.
+
* Un échec causé par l'impossibilité de transmettre le binaire sur le Core.
  
  <nowiki>// EXAMPLE SUCCESSFUL RESPONSE
+
  <nowiki>// EXEMPLE DE REPONSE POSITIVE (SUCCES)
 
{
 
{
 
   "ok": true,
 
   "ok": true,
Ligne 37 : Ligne 37 :
 
}
 
}
  
// EXAMPLE COMPILE FAILURE RESPONSE
+
// EXEMPLE DE REPONSE AVEC ERREUR DE COMPILATION
 
{
 
{
 
   "ok": false,
 
   "ok": false,
Ligne 44 : Ligne 44 :
 
}
 
}
  
// EXAMPLE FLASH FAILURE RESPONSE
+
// EXEMPLE DE REPONSE AVEC ERREUR DE FLASH
 
{
 
{
 
   "ok": false,
 
   "ok": false,

Version du 16 janvier 2015 à 16:12


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Vérifier et flasher un nouveau Firmware

Vous pouvez réaliser le coding et la mise-à-jour de vos firmware directement dans Spark Build. Cependant, vous pouvez également utiliser votre propre éditeur de texte ou IDE! Cela signifie que vous voulez Flasher ou Verifier votre code alors vous devrez faire un appel d'API qui référence ce fichier.

Flasher un Core avec du Code Source

Si vous avez écrit un fichier contenant du code source contenant une fonction setup() et loop(), vous pouvez le flasher sur votre Core avec une requête HTTP PUT.

# DEFINITION DE LA REQUETE HTTP
PUT /v1/devices/{CORE_ID}
Content-Type: multipart/form-data

Envoyer le fichier code source en tant que "fichier" dans le corps de la requête.

La requête d'API devrait être encodée en tant que multipart/form-data avec un champ 'file' remplit. Le nom du fichier n'a aucune important. En particulier l'extension peut être .c, .cpp, .ino, ou n'importe quoi d'autre si vous préférez.

Cette requête d'API soumettra votre firmware au compilateur pour générer un binaire Spark, après quoi, si la compilation est réussie, le binaire sera flashé sur votre Core via la connexion WiFi.

# EXEMPLE DE REQUETE DANS UN TERMINAL
# Flasher un Core avec un fichier qui s'appelle "my-firmware-app.cpp"
curl -X PUT -F file=@my-firmware-app.cpp \
  "https://api.spark.io/v1/devices/0123456789abcdef01234567?access_token=1234123412341234123412341234123412341234"

Il y a trois formats de réponse possible:

  • Une réponse positive (succès) dans laquelle la compilation et le flashage ont réussit.
    • Notez que la LED de votre Core va clignoter en magenta pendant la mise-à-jour.
  • Un échec causé par une erreur de compilation.
  • Un échec causé par l'impossibilité de transmettre le binaire sur le Core.
// EXEMPLE DE REPONSE POSITIVE (SUCCES)
{
  "ok": true,
  "firmware_binary_id": "12345"
}

// EXEMPLE DE REPONSE AVEC ERREUR DE COMPILATION
{
  "ok": false,
  "errors": ["Compile error"],
  "output": ".... lots of debug output from the compiler..."
}

// EXEMPLE DE REPONSE AVEC ERREUR DE FLASH
{
  "ok": false,
  "firmware_binary_id": "1234567",
  "errors": ["Device is not connected."]
}

Flasher un Core avec un binaire pre-compilé

If you want to compile the firmware yourself and send a binary instead of a source file, you can do that too! Just add file_type=binary to the request body, and we will skip the compilation stage altogether. The response format will look like those shown above.

# EXAMPLE REQUEST IN TERMINAL TO FLASH A BINARY
curl -X PUT -F file=@my-firmware-app.bin -F file_type=binary \
  "https://api.spark.io/v1/devices/0123456789abcdef01234567?access_token=1234123412341234123412341234123412341234"

Source: Cloud CODE (API) créé par Spark.IO.

Traduction réalisée par Meurisse D pour MCHobby.be - Translated by Meurisse D. for MCHobby.be

Traduit avec l'autorisation de Spark.IO - Translated with the permission from Spark.IO - Spark.IO

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.