Spark-Could-API-FirmwareCheckAndFlash

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


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."]
}

note de MCHobby:
Lorsque la compilation et le Flash sont corrects, nous avons plutôt reçu le message suivant:

{
  "cmd": "Event",
  "name": "Update",
  "message": "Update started"
}

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.

# 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"

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.