RASP-MCP9808-LOGICIEL

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.

Intro

Suivez les étapes suivantes pour installer et utiliser la bibliothèque Python du MCP9808.

Avant de démarrer, assurez-vous que votre carte soit connectée sur Internet (via la prise Ethernet ou WiFi) de façon à télécharger les dépendances.

Vous avez également besoin d'être accoutumé avec la connexion terminal sur un Raspberry Pi ou BeagleBone Black avec SSH.

Dépendances

Commençons par installer les dépendances en exécutant les commandes suivantes dans un terminal:

sudo apt-get update
sudo apt-get install build-essential python-dev python-pip python-smbus git

Vous pouvez ignorer les "warnings" à propos des dépendances qui sont déjà installées.

Raspberry Pi

Sur un Raspberry Pi exécuter la commande suivante pour être certain que la bibliothèque RPi.GPIO soit installées:

sudo pip install RPi.GPIO

BeagleBone Black

Sur un BeagleBone Black exécuter la commande suivante pour être certain que la bibliothèque Adafruit_BBIO soit installée:

sudo pip install Adafruit_BBIO

Installer la bibliothèque

Télécharger la bibliothèque Python pour MCP9808 dans votre répertoire personnel (home) puis installer cette bibliothèque en exécutant la commande:

cd ~
git clone https://github.com/adafruit/Adafruit_Python_MCP9808.git
cd Adafruit_Python_MCP9808
sudo python setup.py install

Pas besoin de plus pour installer la bibliothèque Python!

Utilisation

Pour savoir comment utiliser la bibliothèque Python du MCP9808, le plus simple est encore d'exécuter et réviser le programme d'exemple fournit avec la bibliothèque. Pour exécuter l'exemple, naviguez jusqu'au répertoire d'exemple (nommé examples) et exécutez le script simpletest.py:

cd examples
sudo python simpletest.py

Si tout se passe bien, vous devriez voir la température du senseur affichée toutes les secondes:

Press Ctrl-C to quit.
Temperature: 23.750*C / 74.750*F
Temperature: 25.688*C / 78.237*F
Temperature: 27.000*C / 80.600*F
...

Si vous constatez une erreur, assurez-vous d'avoir exécuté le programme comme super-utilisateur (root) avec la commande sudo et que toutes les dépendances et bibliothèques soient installées correctement.

Nous allons maintenant ouvrir le fichier simpletest.py dans un éditeur de texte pour comprendre comment le programme fonctionne. Voyons, ci-dessous, ce qu'il contient.

import Adafruit_MCP9808.MCP9808 as MCP9808

Pour commencer, le module MCP9808 est importé avec la commande python import.

# Le constructeur de defaut utilise l'adresse I2C (0x18) et le bus par I2C par defaut.
#
# Pour un Raspberry Pi cela signifie que vous devez utiliser le seul bus I2C expose 
# sur le connecteur GPIO. La bibliotheque determine le numero de bus (0 ou 1) depuis
# le numero de révision du Pi.
#
# Su un beaglebone black, le bibliotheque utilise le bus 1 par defaut (bus expose
# sur les broches SCL = P9_19 et SDA = P9_20 ).
sensor = MCP9808.MCP9808()
 
# Vous pouvez accessoirement changer l'adresse et le bus par défaut:
#sensor = MCP9808.MCP9808(address=0x20, busnum=2)</nowiki>

Ensuite, une instance de la classe MCP9808 est créé avec l'instructionsensor = MCP9808.MCP9808().

Notez que si aucun argument est passé à la fonction d'initialisation, la bibliothèque utilise l'adresse I2C par défaut (0x18) et le numéro de bus par défaut. Si vous avez besoin de spécifier une autre adresse (ou autre numéro de bus) vous pouvez le faire en passant des valeurs pour les paramètres optionnels.

# Initialize communication with the sensor.
sensor.begin()

Après la création de l'instance de la classe MCP9808, la fonction begin() est appelée pour initialiser la communication avec le périphérique/senseur.

# boucle qui affiche des mesures toutes les secondes.
print 'Press Ctrl-C to quit.'
while True:
    temp = sensor.readTempC()
    print 'Temperature: {0:0.3F}*C / {1:0.3F}*F'.format(temp, c_to_f(temp))
    time.sleep(1.0)

Pour finir, l'exemple entre dans une boucle infinie qui lit la température du senseur, affiche la valeur puis attend une seconde. La chose important à voir est la mesure de la température à l'aide de la fonction readTempC(). La fonction readTempC() la lire la température du senseur et retourne sa valeur en degré Celsius.

Voila toute l'information nécessaire pour l'utilisation de la bibliothèque Python MCP9808!

En cas de problème

Si vous rencontrez un problème avec la bibliothèque OU si vous désirez contribuer à son développement, vous pouvez également suivre les évolutions de la bibliothèque sur la page Github (Adafruit).


Source: Use a MCP9808 precision temperature sensor on a BeagleBone Black or Raspberry Pi!. Créé par Tony Dicola pour AdaFruit Industries.

Traduction et corrections réalisée par Meurisse D pour MCHobby.be.

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.

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com