Modifications

Sauter à la navigation Sauter à la recherche
aucun résumé de modification
Ligne 1 : Ligne 1 :  
{{Spark.IO-Could-API-NAV}}
 
{{Spark.IO-Could-API-NAV}}
   −
{{traduction}}
+
== Vérifier et flasher un nouveau Firmware ==
 +
 
 +
{{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 ==
 +
{{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># 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.</nowiki>
 +
 
 +
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.
 +
 
 +
<nowiki># 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"</nowiki>
 +
 
 +
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.
 +
 
 +
<nowiki>// 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."]
 +
}</nowiki>
 +
 
 +
{{underline|'''note de MCHobby:'''}}<br />
 +
Lorsque la compilation et le Flash sont corrects, nous avons plutôt reçu le message suivant:
 +
<nowiki>{
 +
  "cmd": "Event",
 +
  "name": "Update",
 +
  "message": "Update started"
 +
}</nowiki>
 +
 
 +
== Flasher un Core avec un binaire pre-compilé ==
 +
Si vous voulez compiler le firmware par vous même et envoyer le binaire à la place du fichier source... et bien, vous pouvez également le faire! Ajoutez simplement le champ file_type=binary dans le corps de la requête (l'API sautera l'étape de compilation). Le format de la réponse devrait ressembler à ceci.
 +
 
 +
<nowiki># EXEMPLE DE REQUETE DANS UN TERMINAL POUR FLASHER UN BINAIRE
 +
curl -X PUT -F file=@my-firmware-app.bin -F file_type=binary \
 +
  "https://api.spark.io/v1/devices/0123456789abcdef01234567?access_token=1234123412341234123412341234123412341234"</nowiki>
    
{{Spark.IO-Could-API-TRAILER}}
 
{{Spark.IO-Could-API-TRAILER}}
29 917

modifications

Menu de navigation