APiP- BMP085

Rate this post

Instalation BMP085

Barometer mit dem APiP und dem I2C Luftdrucksensor BMP085

Bmp085 Bmp085

Du bist erneut am APiP als Benutzer pi angemeldet.
Die Kommunikation zwischen Raspberry Pi und Luftdrucksensor erfolgt über den I²C-Bus. Die dazu notwendigen Kernelmodule sind Bestandteil von Raspbian “wheezy”, man muss sie allerdings noch aktivieren. Dazu fügt man ihre Namen in die Datei /etc/modules ein:
sudo nano /etc/modprobe.d/raspi-blacklist.conf
Die beiden Zeilen

#blacklist spi-bcm2708 
#blacklist i2c-bcm2708

fügst du in die datei /etc/modprobe.d/raspi-blacklist.conf ein.
220 221
Danach speichern und schließen.
Tip zu nano – Speichern mit “Strg + x”, gefolgt von “j” “Enter”
Danach öffnest du
sudo nano /etc/modules
und fügst sofern noch nicht vorhanden die Zeilen

i2c-bcm2708
i2c-dev

ein.

Da das Messprogramm später unter Python laufen soll, installiert man jetzt auch gleich die erforderlichen Python-Module und Tools für die Arbeit mit dem I²C-Bus:
sudo apt-get install python-smbus i2c-tools
222
sudo apt-get install i2c-tools
Damit die Luftdruckmessung später nicht ständig mit Superuser-Rechten laufen muss,
sollte der entsprechende Benutzer (zum Beispiel der Standardbenutzer pi) Mitglied der Gruppe i2c sein:
sudo adduser pi i2c
Jetzt bootet man den APiP mit angeschlossenem Luftdrucksensor neu.
Dabei lädt der Kernel die I²C-Module.
Nach dem Einloggen als Benutzer pi lässt sich mittels i2cdetect überprüfen, ob die Hard- und Software soweit funktionieren.
Die Ausgabe zeigt, dass eine Kommunikation mit der I²C-Adresse 77 möglich ist.
Diese Adresse ist dem BMP085 und BMP180 fest zugewiesen:
i2cdetect -y 1
226

Nun installierst du das "Messprogramm".

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


224

./Adafruit_BMP085_example.py

./Adafruit_BMP085_example.py
Temperature: 23.10 C
Pressure:    1030.79 hPa
Altitude:    -146.00

Quellcode der Datei: Adafruit_BMP085_example.py

#!/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()

# Read the current barometric pressure level
pressure = bmp.readPressure()

# To calculate altitude based on an estimated mean sea level pressure
# (1013.25 hPa) call the function as follows, but this won’t be very accurate
altitude = bmp.readAltitude()

# To specify a more accurate altitude, enter the correct mean sea level
# pressure level.  For example, if the current pressure level is 1023.50 hPa
# enter 102350 since we include two decimal places in the integer value
# altitude = bmp.readAltitude(102350)

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

 

Print Friendly, PDF & Email

Kategorien

%d Bloggern gefällt das: