Ligne 100 : |
Ligne 100 : |
| Le [https://github.com/mchobby/SparkCoreTuto/blob/master/PyCall/buttoncounter.py script dans le dépôt] est très abondamment (trop) documenté pour faciliter la prise en main. Je vais donc en proposer une version allégée pour se concentrer sur l'essentiel. | | Le [https://github.com/mchobby/SparkCoreTuto/blob/master/PyCall/buttoncounter.py script dans le dépôt] est très abondamment (trop) documenté pour faciliter la prise en main. Je vais donc en proposer une version allégée pour se concentrer sur l'essentiel. |
| | | |
− | <nowiki></nowiki> | + | <nowiki>#!/usr/bin/env python |
| + | # -*- coding: utf-8 -*- |
| + | # |
| + | """buttoncounter.py |
| + | |
| + | Version épurée du script. Merci de vous rapporter à la version |
| + | GitHub pour les infos et licence applicable. |
| + | https://github.com/mchobby/SparkCoreTuto/blob/master/PyCall/buttoncounter.py |
| + | |
| + | Voir tutoriel: |
| + | http://wiki.mchobby.be/index.php?title=Spark-Core-Bouton |
| + | |
| + | Ou acheter Spark Core -- et soutenir nos travaux -- |
| + | http://shop.mchobby.be/category.php?id_category=54 |
| + | """ |
| + | |
| + | from sparkapi.sparkapi import SparkApi |
| + | from sparkapi.config import Config |
| + | |
| + | # Ouvre le fichier sparkapi.ini pour éviter de Hard Coder des données |
| + | # sensible comme l'access_token dans les programmes d'exemple publié sur |
| + | # le Net. |
| + | # |
| + | # Créez votre propre fichier sparkapi.ini à partir du fichier |
| + | # sparkapi-sample.ini |
| + | config = Config() |
| + | |
| + | |
| + | def main(): |
| + | # Execute le programme qui récupère le nombre de pression sur |
| + | # le Spark Core |
| + | api = SparkApi( access_token = config.access_token, debug = False ) |
| + | # ou utiliser directement votre access_token |
| + | #api = SparkApi( access_token = '123412341234', debug = False ) |
| + | |
| + | # Créer un objet Core à partir du core_id |
| + | # le core_id provient du fichier de configuration sparkapi.ini |
| + | # dans la section [CORES] |
| + | core = api.get_core( config.cores['core0'] ) |
| + | # ou utiliser directement votre core_id |
| + | #core = api.get_core( '0123456789abcdef' ) |
| + | |
| + | # Lire une variable sur le core |
| + | # retourne un tuple (connected, valeur) |
| + | value = core.value_of( 'counter' ) |
| + | |
| + | if( value[0] == False ): |
| + | print( 'le Core n est pas connecté' ) |
| + | else: |
| + | print( 'compteur = %i' % value[1] ) |
| + | |
| + | # Si connecté et 'valeur > 5' ??? |
| + | if( value[0] and value[1]>5 ): |
| + | print( 'Envoyer ordre "reset" compteur' ) |
| + | # Faire un reset du compteur sur le core. |
| + | # En utilisant sa fonction "reset" publier sur Spark Cloud |
| + | result = core.call( 'reset' ) |
| + | print( "connecté=%s, résultat=%i" % result ) |
| + | if( result[0] == False ): |
| + | print( 'le Core n est pas connecté' ) |
| + | else: |
| + | print( 'La fonction à répondu %i' % result[1] ) |
| + | |
| + | return 0 |
| + | |
| + | if __name__ == '__main__': |
| + | main()</nowiki> |
| | | |
| Ce qui produit le résultat suivant: | | Ce qui produit le résultat suivant: |