Fhem: Temperaturen und Luftdruck messen mit dem BMP085-Sensor am Raspberry Pi

fhemEigentlich ist Sonntag mein Basteltag, nur habe ich meine Aufgabe nicht geschafft. Ich wollte einen preisgünstigen BMP085-Sensor an meinem Raspberry Pi anschließen. Der Sensor kann Temperatur und Luftdruck messen und ist für unter 5 Euro zu kaufen. Er wird direkt am i2c-Bus des Raspberry Pi gehangen. Ich hebe ich mal kurz meinen Finger zur Vorsicht: Ein Kurzschluss oder falsche Spannung befördert Euren Raspberry Pi endgültig in den Silizium-Himmel. Der BMP085-Sensor verträgt nur Spannungen bis 3,3 V. Ideal, denn am GPIO vom Raspberry-Pi liegen genau 3.3V am ersten Pin an. Es werden nur noch 3 zusätzliche Pins am Raspberry Pi benötigt: 3,5,6. 3 ist der SDA-Pin, 5 der SCL und 6 die Masse. XCLR und EOC werden nicht benötigt.Eine gute Installations-Doku findet ihr wie immer im fhem-Forum.
Bei mir unterscheidet sich die Dokumentation nur davon, das bei mir der Kanal 1 des i2c-Bus verwendet wird. Wenn alles gut geht sieht es in der Konsole so aus.

Last login: Tue Oct 15 16:45:23 2013 from compaqnc6320.local
i2croot@raspberrypi:~# i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77

Wichtig ist hier die 77 am Ende.
Nach einem Reboot kann man auch das ganze auch unter fhem final scripten

[sourcecode language=“text“ gutter=“false“]
attr global altitude 60
define BMP180 I2C_BMP180 /dev/i2c-1
attr BMP180 oversampling_settings 1
attr BMP180 poll_interval 5
attr BMP180 room Temperaturen
[/sourcecode]

Wenn der Sensor erkannt wurde, bekommt man sofort die aktuelle Temperatur und den Luftdruck angezeigt, welcher alle 5 Minuten neu gemessen wird.

bmp085

rpi 085bmp sensor

Hier nochmal der BMP085 – Sensor mit einem Arduino-Uno Board verknüpft. Den nehme ich ab und zu zum testen.

arduino uno mit bmp085 sensor
snip3

Die Zutatenliste:

Wenn ihr so weit gekommen seid, dann steht Euch eine professionelle Auswertung mit fhem nichts mehr im Wege. Beispielsweise eine grafische Darstellung der Temperatur oder auch Anzeige des Luftdrucks als Graph. Ebenso könnt ihr dann bei Temperaturänderungen Aktionen vornehmen, beispielsweise e-Mails versenden usw.

Den Temperatur- / Luftdrucksensor habe ich übrigens mit in das Gehäuse des Raspberry Pi eingebaut. Er mißt die Gehäusetemperatur und natürlich den Luftdruck. Die Platine ist so klein, das sie ohne Probleme dort hineinpasst.

Viel Spaß beim Nachbau.

Das könnte Euch auch noch interessieren:

War der Beitrag für Dich sinnvoll?
  • Genial (0)
  • Interessant (0)
  • Nützlich (0)
  • Langweilig (0)
  • Schlecht (0)
Dieser Beitrag wurde unter Fhem-Hausautomation abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

6 Kommentare zu Fhem: Temperaturen und Luftdruck messen mit dem BMP085-Sensor am Raspberry Pi

  1. Robin sagt:

    ja klappt! Das war einer meiner ersten Sachen, die ich mit Fhem gemacht habe!

    LG
    /robin

  2. Robin sagt:

    im Forum schauen, habe ich auch irgendwo im blog mal aufgeschrieben.

  3. tom sagt:

    ach und noch ein Frage: Wie hast du den schicken farbigen Graphen erzeugt? Gefällt mir sehr, sehr gut 😉

  4. tom sagt:

    Ahhhh, hier (auch bei Dir) finde ich eine Lösung 😉 😉 🙂
    Nur eine Frage dazu: Im FHEM Forum verwendet Betateilchen ein neues Image. Geht das nicht auch mit einer bestehenden FHEM Installation auf dem Raspberry – meine damit: Einfach den Sensor auf dem Breadboard an den Raspberry Pi verbinden, den Sensor in fhem definieren – fertig?
    Oder doch nicht?

    Schritt 19: Sensor in fhem definieren
    define test I2C_BMP180 /dev/i2c-0

  5. Robin sagt:

    Hallo Stefan,

    danke für die Rückinfo. Du nutzt auch ein anderes Modul. Mein Blog-Beitrag ist schon etwas älter. Möglicherweise wurde da was geändert.
    Ich werde Deinen Code-Snippet bei mir im blog mal einbauen.

    LG
    /robin

  6. Stefan sagt:

    Deine Anleitung hat so bei mir nicht funktioniert. Der Sensor wurde zwar erkannt, aber es kamen keine Daten.

    Die Lösung für mich war:

    #I2C Schnittstelle
    define I2CBus RPII2C 1

    #Luftdrucksensor 0x77 Adresse
    define Luftdruck I2C_BMP180
    attr Luftdruck IODev I2CBus
    attr Luftdruck oversampling_settings 3
    attr Luftdruck poll_interval 5

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.