MagPI 5 Page 8

De Le French MagPi
Aller à : Navigation, rechercher

Câblage:

 Tmp102 	PI GPIO
 GND		PIN 06 (Masse)
 SCL		PIN 05 (I2C0_SCL)
 SDA		PIN 03 (I2C0_SDA)
 V+		PIN 01 (Alimentation 3,3V)
 ALT		Ne pas connecter
 ADD0 		Masse

Maintenant vous devriez pouvoir communiquer avec la puce.

(code)

Cette commande devrait lire la valeur à l'adresse (0x48) du bus I2C (0), ce qui est la valeur de température du capteur. La datasheet mentionnée précédemment montre comment convertir cette valeur hexadécimale en degrés Celsius, et le script ci-dessous s'en charge.

(code)

Globalement ce script réorganise les bits (utilisant 'substr()') et met à l'échelle pour obtenir des degrés. Il peut être combiné à la première commande en utilisant un pipe '|', qui passera le résultat de 'i2cget' à awk, càd :

(code)

Le code ci-dessous encapsule tout ça dans un script bash, donc peut être exécuté en ligne de commande (avec une petite modification pour afficher uniquement deux décimales et revenir à la ligne). Créez un nouveau fichier appelé 'tmp102.sh' et ajoutez :

(code)

Pour calculer correctement les températures négatives, les changements ci-dessous doivent être faits dans le script awk :

(code)

Pour rendre le script exécutable vous devez entrer :

(code)

et vous pouvez l'exécuter en tapant :

(code)

Une chose amusante à faire avec ces données est de les envoyer à "L'internet des objets" du service COSM. Ce service va enregistrer vos données et en faire des graphiques qui peuvent être intégrés à une page web. Il est possible de lancer automatiquement la capture toutes les minutes et d'envoyer la valeur à COSM. Premièrement, vous devez créer un compte et vous connecter sur http://cosm.com. Une fois vérifié (par courriel), cliquez sur le lien "Adding" et après "Something else" pour créer un flux pour votre Pi. Sélectionnez "No, I will push data to COSM" et remplissez le reste de la configuration à votre convenance (un nom correct est quelque chose comme "Mon Raspberry Pi"). Vous recevrez un "feed ID" (càd identifiant du flux) sur lequel envoyer vos données. Dans le script "update.sh" ci-dessous, il faudra mettre cette valeur à la place des XXXXX.

Ensuite nous devons définir un "Datastream" (càd un flux de données) pour ce flux. Dans la console cliquez sur "+ Datastream" et remplissez ce qui est demandé (càd ID=Température; Symbole=°C). L'ID que vous avez entré devra être fourni pour envoyer les valeurs. Dans le modèle 'blank.json' ci-dessous, vous devrez le mettre à la place des YYYYY.

Enfin, nous avons besoin d'une clef qui nous donne la permission d'envoyer des valeurs aux serveurs de COSM. Allez dans la partie "Keys" (située dans l'angle en haut à droite du menu déroulant à côté de votre nom) et cliquez sur "+ Key". Choisissez un nom et laissez les restrictions par défaut "Use any public feed", et les privilèges d'accès peuvent être réglés sur tous. La clef ainsi générée est une longue chaîne de caractères et est nécessaire pour authentifier les données. Dans le script "update.sh" ci-dessous vous devrez la mettre à la place de ZZZZZ.

Le serveur COSM attend les données dans un format spécifique. Enregistrez le code ci-dessous dans un fichier "blank.json" (pensez bien à remplacer la valeur YYYYY par l'ID de votre flux).

(code)

Vous pouvez maintenant créer un nouveau script update.sh comme ci-dessous en remplaçant votre ID (XXXXX) et votre clef d'authentification (ZZZZZ). Le script est globalement le même que précédemment, avec quelques rajouts. Déjà, le fichier modèle "black.json" est envoyé à la commande "sed" qui remplace "T1" par la température du capteur. Ensuite, "curl" est utilisé pour envoyer le fichier ainsi créé (send.json) au serveur de COSM. Comme tout à l'heure, vous devez rendre le script exécutable (chmod +x update.sh) et le lancer (./update.sh). Si tout va bien votre Pi devrait envoyer des mises à jour régulières à votre flux COSM, vous pouvez demander à COSM de les afficher dans un graphique en cliquant sur la roue dentée et en sélectionnant "Graph builder".

(code)

Vous pouvez arrêter le script de mise à jour en appuyant sur "Ctrl+C". Si vous voulez laisser le script tourner en arrière plan une fois déconnecté, alors lancez plutôt le script de cette façon :

(code)

Et quand vous reviendrez, vous pouvez l'arrêter avec

(code)

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Boîte à outils