Spark.IO-CLI-CommandReference

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.

Introduction

Bien que nous ayons traduit cette référence dans sa presque intégralité, vous trouverez ce document en version anglaise de CLI command reference sur le site de Spark.

Login & Wifi

spark setup wifi

Un raccourcis bien pratique pour ajouter un autre réseau wifi sur un Core connecté via USB. Assurez-vous d'avoir connecté votre Core via un câble USB et qu'il clignote lentement en bleu (en mode "listening")

# Comment mettre la config WiFi à jour.
# Assurez-vous dabord que votre Core soit connecté et en mode listening
$ spark setup wifi

spark login

Faire un Login et stocker l'ACCESS_TOKEN pour utiliser votre compte Spark pour interagir sur Spark Cloud.

# Comment se logger - créer et sauver l'access token pour votre session avec le CLI
$ spark login

spark logout

Se déconnecter (logout) du compte spark cloud et révoke l'access token de votre session CLI.

# Comment retirer l'access token stocké dans la session du cli
$ spark logout

Gestion des Cores

spark list

Affiche une liste de tous les cores en votre possession (ceux enregistrés sur votre compte Spark Cloud). La liste affiche pour chaque core: le statut, les variables et les fonctions disponibles

# Comment savoir lesquels de vos cores sont en ligne
# et quel sont les fonctions et variables disponibles
$ spark list

Checking with the cloud...
Retrieving cores... (this might take a few seconds)
my_core_name (0123456789ABCDEFGHI) 0 variables, and 4 functions
  Functions:
    int digitalWrite(string)
    int digitalRead(string)
    int analogWrite(string)
    int analogRead(string)

spark core add

Ajouter un nouveau Core sur votre compte

# Comment ajouter/associer un nouveau core sur votre compte
$ spark cloud claim 0123456789ABCDEFGHI
Claiming core 0123456789ABCDEFGHI
Successfully claimed core 0123456789ABCDEFGHI

spark core rename

Assigner un nouveau nom à un Core déja associé au compte Spark Cloud.

# Comment renommer votre core
$ spark core rename 0123456789ABCDEFGHI "pirate frosting"

Note de MCHobby: Evitez d'utiliser des espace dans le nom d'un Core... c'est souvent source de complication lorsque l'on veut utiliser des outils en ligne de commande. Aussi, "pirate-frosting" serait probablement plus indiqué.

spark core remove

Retire/désassocie un core de votre compte Spark. Cela permet à quelqu'un d'autre de l'associer à son propre compte.

Cette opération demande une confirmation "Are you sure? Please Type yes to continue:". Vous devrez entrer "yes" pour compléter l'étape.

# Comment retirer un Core de votre compte
$ spark core remove 0123456789ABCDEFGHI
Are you sure?  Please Type yes to continue: yes
releasing core 0123456789ABCDEFGHI
server said  { ok: true }
Okay!

Flasher

Envoyer le binaire d'un Firmware, un fichier source (du programme), un répertoire de fichiers sources OU une application connue sur votre Core.

Flasher un répertoire

Vous pouvez préparer un répertoire avec les fichiers sources et bibliothèques de votre projet. Le CLI utilisera ces fichiers lorsqu'il réalisera la compilation sur les serveurs de Spark (compilation en remote). Vous pouvez également créer un fichier spark.include et/ou un fichier spark.ignore dans ce répertoire, ces fichiers permettent d'indiquer plus spécifiquement les fichiers à inclure (include) et/ou à ignorer (ignore).

# Comment compiler et flasher un répertoire de code source dans votre Core
$ spark flash 0123456789ABCDEFGHI mon_projet

Flasher un ou plusieurs fichiers sources

# Comment compiler et flasher une liste de fichier source sur votre Core
$ spark flash 0123456789ABCDEFGHI app.ino library1.cpp library1.h

Flasher une application connue

Deux application pré-compilées sont incluses dans le CLI pour vous aider à dépanner certaines situations complexes. Tinker, et l'application patch (de correction) du CC3000.

A l'aide du CLI et vous pouvez flasher ces deux applications via le Cloud OU localement via USB et dfu-util.

# Comment flasher une "application connue" tel que tinker, ou le patcher cc3000 sur votre Core
$ spark flash 0123456789ABCDEFGHI tinker
$ spark flash 0123456789ABCDEFGHI cc3000

# Comment flasher si votre Core clignote en jaune et connecté via USB
# Nécessite dfu-util
$ spark flash --usb tinker
$ spark flash --usb cc3000

Compiler en remote et flasher en local

Pour un travail en local, tout en utilisant un compilateur sur le cloud, utilisez simplement la commande compile et ensuite la commande pour faire un flash en local.

Assurez-vous que votre Core est connecté via USB et de l'avoir placé en mode mode dfu (anglais, spark).

# Comment compiler un répertoire de code source et
# indiquer au CLI où sauver le binaire résultant
$ spark compile mon_repertoire_de_projet --saveTo firmware.bin
OU
# comment compiler une liste de fichier source
$ spark compile app.ino library1.cpp library1.h --saveTo firmware.bin

# Comment flasher un binaire pré-compilé sur votre Core via USB
# Assurez-vous que votre Core clignote en jaune et qu'il soit connecté via USB.
# Necessite que l'utilitaire dfu-util soit installé
$ spark flash --usb firmware.bin

Compiler

Compiler un ou plusieurs fichiers source, ou répertoire et télécharger le fichier binaire du firmware généré.

Compiler un répertoire

Vous pouvez compiler un répertoire de fichiers sources et de bibliothèques pour votre projet (et le CLI utilisera ces fichiers sur lorsqu'il fera la compilation en remote sur les serveurs de Spark).

Vous pouvez créer un fichier spark.include et/ou spark.ignore dans le répertoire. Ces fichiers indiquent au CLI quels sont les fichiers à inclure (include) et à ignorer (ignore). Ces fichiers sont de simples fichiers texte contenant une ligne par fichier.

# comment compiler un répertoire de fichiers sources
$ spark compile nom_du_repertoire_du_projet

Exemple de spark.include

spark.include est un fichier texte standard avec une ligne par fichier à inclure. Le CLI l'utiliseras pour essayer de déterminer ce qui doit être inclus lorsque vous compilerez votre application.

# spark.include
application.cpp
library1.h
library1.cpp

Exemple de spark.ignore

spark.ignore est un fichier texte standard avec une ligne par fichier à exclure. Le CLI l'utiliseras pour essayer de déterminer les fichier à exclure/ignorer lorsque vous compilerez votre application.

# spark.ignore
.ds_store
logo.png
old_version.cpp

Compiler un ou plusieurs fichiers

# Comment compiler une liste de fichier source
$ spark compile app.ino library1.cpp library1.h

Appels

L'un des plus grands intérêts de l'infrastructure Spark Cloud est de pouvoir appeler des fonctions sur votre Core ou obtenir la valeur de certaines variables publiées sur Spark Cloud.

spark call

Appel d'une fonction sur l'un de vos Cores (to call signifie appeler), utilisez spark list pour identifier les cores qui sont en ligne et les fonctions disponibles.

# Comment appeler une fonction sur votre Core
$ spark call 0123456789ABCDEFGHI digitalWrite "D7,HIGH"
1

spark get

Retrouver ka valeur d'une variable d'un de vos Cores, utilisez spark list pour identifier les cores qui sont en ligne et les fonctions disponibles.

# Comment obtenir une variable depuis un Core
$ spark get 0123456789ABCDEFGHI temperature
72.1

spark monitor

Entasser les différentes valeurs d'une variable à intervalle déterminé et optionnellement afficher le timestamp (timestamp: une valeur d'horodatage, wikipedia, français).

Le monitoring permet d'interroger un ou plusieurs cores.

  • Le délai minimum est 500 (le CLI vérifie la valeur encodée et rectifie si nécessaire)
  • Pressez CTRL + C dans la console pour pour sortie du monitoring
# Comment interroger la valeur d'une variable d'un ou plusieurs Cores continuellement
$ spark monitor 0123456789ABCDEFGHI temperature 5000
$ spark monitor 0123456789ABCDEFGHI temperature 5000 --time
$ spark monitor all temperature 5000
$ spark monitor all temperature 5000 --time
$ spark monitor all temperature 5000 --time > mes_temperatures.csv

Notes:

  • l'option --time ajoute le timestamp dans le résultat du monitoring.
  • l'option all permet d'interroger tous les Cores enregistré dans le compte (tout ceux visible dans "spark list").
  • l'option 5000 est le délai de mise-à-jour en millisecondes (donc 5 secondes)
  • l'option > mes_temperatures.csv permet de rediriger les informations vers un fichier csv (comma separated value, wikipedia, français) supporté par tous les tableurs.

Outils

spark identify

Permet d'obtenir le CORE ID lorsqu'il est connecté via USB et en mode listening (flash en bleu).

# Permet d'obtenir le CORE ID via USB et port série
# Assurez vous que le Core est connecté et clignote en bleu
$ spark identify
$ spark identify 1
$ spark identify COM3
$ spark identify /dev/cu.usbmodem12345

$ spark identify
0123456789ABCDEFGHI

spark subscribe

Souscrire à un événement publié sur le Cloud et l'envoyer (pipe) vers la console. Le nom de Core spécial "mine" (le mien) va souscrire aux événements de vos cores.

Si vous connaissez le nom de l'événement qui vous intéresse, vous pouvez le spécifier à l'emplacement 'eventName' (qui signifie littéralement nom de l'événement)

# Ouvrir une connexion sur l'API pour surveiller le flux des événements provenant de vos cores
$ spark subscribe
$ spark subscribe mine
$ spark subscribe eventName
$ spark subscribe eventName mine
$ spark subscribe eventName CoreName
$ spark subscribe eventName 0123456789ABCDEFGHI

Exemple:

Dans cet exemple, nous saisissons la commande:

spark subscribe mine

Puis nous faisons un Reset de notre Core en pressant le bouton "reset".... voici ce que nous obtenons en retour dans la console

$ spark subscribe mine
Subscribing to all events from my personal stream (my cores only) 
Listening to: /v1/devices/events
{"name":"spark/status","data":"online","ttl":"60","published_at":"2014-12-28T12:55:54.116Z","coreid":"54xxxxxxxxxxxxxxxxxxxx67"}
{"name":"spark/cc3000-patch-version","data":"1.29","ttl":"60","published_at":"2014-12-28T12:55:54.242Z","coreid":"54xxxxxxxxxxxxxxxxxxxx67"}

Vous noterez la structure des informations (format JSON) contenant par ailleurs le nom de l'événement (voyez l'élément name) ainsi que l'identification du core (voyez l'élément coreid).

spark serial list

Affiche le Spark Core actuellement connecté comme périphérique série via USB

# Affiche une liste des Cores connectés via USB Série
$ spark serial list

spark serial monitor

Commence l'écoute du périphérique série spécifié et renvoie les informations sur le terminal (Faire un écho sur le terminal)

# Ouvrir un moniteur série en lecture seule pour un Core spécifique
$ spark serial monitor
$ spark serial monitor 1
# Windows affiche le port série comme un COMx
$ spark serial monitor COM3
# Sous Mac, le port série est affiché comme un /dev/
$ spark serial monitor /dev/cu.usbmodem12345

spark keys (xxx)

CLI intègre plusieurs utilitaires de gestion des clés.

Les différents fonctions à votre disposition sont:

  • spark keys doctor
  • spark keys new
  • spark keys load
  • spark keys save
  • spark keys send
  • spark keys server

Source: Spark CLI (command line interface) créé par Spark.IO.

Traduction réalisée et augmentée par Meurisse D pour MCHobby.be - Translated and upsized 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.