Différences entre versions de « Rasp-Hack-BMP085-Python-Lib »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 41 : Ligne 41 :
  
 
== Modifier le code ==
 
== Modifier le code ==
The BMP085 library is organized as two seperate classes. There is one class to handle the low-level SMBus/I2C calls (Adafruit_I2C), and another class that handles the BMP085-specific functionality.
+
La bibliothèque BMP085 (BMP180) est organisé en deux classes séparée. Il y a une classe qui gère la communication de bas niveau sur le SMBus/I2C (Adafruit_I2C), et une autre classe pour gérer les fonctionnalités spécifiques au BMP085/BMP180.
  
The library includes the basic example shown above, but you can also customize the code a bit to provide full debug output if you're having any problems, change the address, or use the BMP085 in one of it's four different modes (ULTRALOWPOWER, STANDARD, HIRES, and ULTRAHIRES), as seen in the commented out initializors in the sample code below:  
+
La bibliothèque inclus l'exemple ci-dessous, mais vous pouvez également adapter un peu le code pour obtenir des informations de débug (utile au cas où vous auriez des problèmes), ou modifier l'adresse ou utiliser le BMP085/180 dans l'un des 4 différents modes (ULTRALOWPOWER, STANDARD, HIRES, and ULTRAHIRES). Voyez les différents commentaires dans le code ci-dessous:  
  
 
  <nowiki>#!/usr/bin/python
 
  <nowiki>#!/usr/bin/python

Version du 9 avril 2014 à 19:42


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

Le code Python du BMP085 pour Raspberry Pi est disponible sur le le dépôt GitHub Adafruit-Raspberry-Pi-Python-Code

Même si une partie des pilotes et classes sont toujours en cours d'évolution -- AdaFruit investit beaucoup de temps pour accéder à la couche matériel de façon aussi simple que possible -- le code actuel est un excellent point de départ pour comprendre comment accéder aux périphériques SMBus/I2C de votre Pi, et obtenir des données depuis votre BMP085/BMP180.

Télécharger le code depuis GitHub

La façon la plus simple d'obtenir le code est de brancher un câble réseau et de cloner le code directement le code en utilisant 'git' ('git' est installé par défaut sur la plupart des distribution). Exécutez simplement les commandes suivante depuis un répertoire approprié (ex. "/home/pi"):

git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
$ cd Adafruit-Raspberry-Pi-Python-Code
$ cd Adafruit_BMP085

Rasp-Hack-BMP085-Python-Lib-01.png
Crédit: AdaFruit Industries www.adafruit.com

Tester la bibliothèque

Si vous utiliser un Pi version 2 (512 Mega de RAM) alors vous aurez besoin de changer l'adresse du bus I2C (puisque ce dernier est passé de la broche #0 à #1 dans la version version 2).

Le code Adafruit_I2C.py est capable de détecter automatiquement la révision de votre Raspberry Pi.

Si pour une raison quelconque votre périphérique I2C ne répond pas, vous pouvez toujours HardCoder le numéro de broche à utiliser sur bus (c'est une méthode que nous avons déjà utilisé chez MCHobby).

Editez le fichier Adafruit_I2C.py avec la commande nano Adafruit_I2C.py et changez la ligne suivante

def __init__(self, address, busnum=-1, debug=False):

en

def __init__(self, address, busnum=1, debug=False):


Une fois que vous avez téléchargé le code dans le bon répertoire, et que vous avez votre BMP raccordé correctement ALORS vous pouvez commencer à lire quelques données en utilisant la commande suivante (le pilote inclus un simple programme d'exemple):

sudo python Adafruit_BMP085_example.py

Qui devrait produire un résultat similaire à ceci:

Rasp-Hack-BMP085-Python-Lib-02.png
Crédit: AdaFruit Industries www.adafruit.com

Modifier le code

La bibliothèque BMP085 (BMP180) est organisé en deux classes séparée. Il y a une classe qui gère la communication de bas niveau sur le SMBus/I2C (Adafruit_I2C), et une autre classe pour gérer les fonctionnalités spécifiques au BMP085/BMP180.

La bibliothèque inclus l'exemple ci-dessous, mais vous pouvez également adapter un peu le code pour obtenir des informations de débug (utile au cas où vous auriez des problèmes), ou modifier l'adresse ou utiliser le BMP085/180 dans l'un des 4 différents modes (ULTRALOWPOWER, STANDARD, HIRES, and ULTRAHIRES). Voyez les différents commentaires dans le code ci-dessous:

#!/usr/bin/python

from Adafruit_BMP085 import BMP085

# ===========================================================================
# Example Code
# ===========================================================================

# Initialise the BMP085 and use STANDARD mode (default value)
# bmp = BMP085(0x77, debug=True)
bmp = BMP085(0x77)

# To specify a different operating mode, uncomment one of the following:
# bmp = BMP085(0x77, 0)  # ULTRALOWPOWER Mode
# bmp = BMP085(0x77, 1)  # STANDARD Mode
# bmp = BMP085(0x77, 2)  # HIRES Mode
# bmp = BMP085(0x77, 3)  # ULTRAHIRES Mode

temp = bmp.readTemperature()
pressure = bmp.readPressure()
altitude = bmp.readAltitude()

print "Temperature: %.2f C" % temp
print "Pressure:    %.2f hPa" % (pressure / 100.0)
print "Altitude:    %.2f" % altitude

Source: Using BMP085 with Raspberry Pi. Créé par Kevin Townsend 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