Luftdruck messen

  • Hallo zusammen,

    ich möchte mir eine kleine Wetterwarte selbst bauen und mit einigen Sensoren verschiedene Parameter messen.

    Nun bin ich beim Messen des Luftdrucks. Dafür nutze ich den BMP180.

    Die Anleitung für die Installation habe ich von hier: https://www.laub-home.de/wiki/Raspberry…uftdruck_Sensor

    Es funktioniert soweit alles, bis zum Finale. Wenn ich das Python-Script starte,

    #!/usr/bin/python3

    import board
    import busio
    import adafruit_bmp280

    i2c = busio.I2C(board.SCL, board.SDA)
    #bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c, address=0x77)
    bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c, address=0x77)

    print("Temperature: %0.1f C" % bmp280.temperature)
    print("Pressure: %0.1f hPa" % bmp280.pressure)
    print("Altitude = %0.2f meters" % bmp280.altitude)

    dann erhalte ich folgende Fehlermeldung:

    pi@Pi4B:/usr/local/sbin $ sudo python bmp280.py
    Traceback (most recent call last):
     File "bmp280.py", line 3, in <module>
       import board
    ImportError: No module named board

    Warum kann das Modul 'board' nicht geladen werden?

    Mit 'lsmod' erhalte ich folgende Meldung:

    pi@Pi4B:/usr/local/sbin $ lsmod | grep i2c_
    i2c_bcm2835            16384  0
    i2c_dev                20480  0
    i2c_bcm2708            16384  0

    Vielen Dank

    Thomas

    PS: wenn ich das Laden des Moduls 'board' auskommentiere, dann können auch die übrigen Module nicht geladen werden :(

  • Verwendest Du Bookworm?
    Wenn ja, solltest Du wahrscheinlich das Python-Pip3-Zeugs über virtual Environment installieren.
    Ich habe keine Ahnung von Python, aber den BME680 unter Bookworm am laufen. Da mußte ich über das virtual Environment gehen.
    Suche mal im Forum nach: python -m venv

    Wenns ner net G'wittern tun tut.

  • Moin Thomas220,

    auch ich habe mit Python nichts am Hut, aber ist es egal das du einen BMP280 importierst aber einen BMP180 nutzt?

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • pi@Pi4B:/usr/local/sbin $ sudo python bmp280.py

    Und warum startest du das mit sudo ?

    P.S. Ich würde es auch nicht bmp280.py nennen, denn falls es ein Modul mit dem Namen gibt, gibt es die bekannten Probleme.

    Auf Basis von smbus kannst du das probieren:

    bmp180sensor.py

    bmp180auslesen.py

    Code
    #!/usr/bin/env python3
    import bmp180sensor
    import time
    while True:
        temp, pressure, altitude = bmpsensor.readBmp180()
        print("Temperature is ",temp)  # degC
        print("Pressure is ",pressure) # Pressure in Pa 
        print("Altitude is ",altitude) # Altitude in meters
        print("\n")
        time.sleep(2)
  • Hallo zusammen,

    vielen Dank für die Hinweise.

    Bernd666 DerBMP180 und der BMP280 sind praktisch baugleich. Die Genauigkeit beim BMP280 ist größer und die Leistungsaufnahme geringer als beim BMP180.

    Bergwichtel Bei mir ist bullseye installiert. Muss ich da auch was beachten?

    fred0815 Habe den Inhalt kopiert und in eine Datei eingefügt. Das Ergebnis ist das gleiche, wie bei der anderen:

    pi@Pi4B:/home/scripts $ python bmp180sensor.py
    Traceback (most recent call last):
     File "bmp180sensor.py", line 3, in <module>
       import smbus
    ImportError: No module named smbus

    Ich kenn mich mit Python nicht aus, habe aber das Gefühl, dass die Module nicht geladen sind/werden.

    In der Datei '/etc/modules' werden aber die notwendigen Module geladen:

    # /etc/modules: kernel modules to load at boot time.
    #
    # This file contains the names of kernel modules that should be loaded
    # at boot time, one per line. Lines beginning with "#" are ignored.

    lirc_rpi
    lirc_dev

    #####neu 02.08.2024
    i2c-bcm2708
    i2c-dev

    Was mache ich für Fehler?

    Danke

    Thomas

  • Moinsen,

    Bezüglich der Anzeige- / Meßgenauigkeit ist der BME280 das falsche Instrument.

    besser wäre hier der AHT10 welcher Werkskalibriert geliefert wird.

    Die "göttliche Fügung" ist dieser I²C BUS Masterkram um Adafruit auch nicht.
    Besser, gescheiter, einfacher sowie Funktionssicherer wäre es hier Treiber-Bibliotheken zu verwenden welchen auf dem Python-Treiber für I²C SMBus oder SMBus2 aufbauen. Mit ein klein wenig Mehraufwand findet man bei GitHub für fast jeden Typ Sensor auch einen solchen Treiber, der nicht auf diesen Adafruit Treiberunterbau angewiesen ist.

    Allerdings ohne jetzt zu wissen wie deine Wertausgabe erfolgen soll, ob dieser nur dargestellt oder auch aufgezeichnet werden sollen, ist sowas eigentlich eine Sache für einen µC wenn es sich um einen reinen Außensensor, bzw eine solches System handelt, welche nur die aktuellen Werte anzeigen / Darstellen soll. Das kann man auch ganz Easy mit einem Pico machen, welchen es auch in der Version mit WLAN gibt, um mit einer Anzeige Werte von 2 räumlich getrennten Erfassungspunkten darzustellen.
    Ein RasPI ist für meine Begriffe, wenn keine Wertaufzeichnungen benötigt werden, selbst wenn es nur ein Zero -Modell ist mehr als Oversize für diese Aufgabe.

    Franky

  • Bei mir ist bullseye installiert. Muss ich da auch was beachten?

    Vermutlich nicht.
    Mache Dir eine Notiz, das es mit Betriebssystemwechsel anders sein wird. Siehe dazu: https://www.raspberrypi.com/documentation/…on-raspberry-pi bzw. https://peps.python.org/pep-0668/#backwards-compatibility

    Noch ein Tip zur Temperatur: Die Boschsensoren sind nicht geeicht und zeigen (zumindest bei mir) viel zu hohe Temperaturen an. Also messe mit einem brauchbaren Thermometer unmittelbar am Sensor und korrigiere den Wert des Sensors mit der Differenz (mußt Du natürlich auf Dein Skript anpassen).

    Python
    temperature_offset = -2.5
    myTemp = ("%0.1f" % (bme680.temperature + temperature_offset))

    Wenns ner net G'wittern tun tut.

  • Hallo zusammen,

    vielen Dank für die zahlreichen Hilfestellungen.

    Durch das viele experimentieren, war mein Raspi instabil geworden und ich habe ein Backup einspielen müssen.

    3 Tage war er krank - nun läuft er wieder, Gott sei Dank. :)

    Habe mit dieser Anleitung wieder angefangen:

    Raspberry Pi und I2C Luftdrucksensor BMP180
    Für Wetterstationen und ähnliche Projekte ist es oftmals wichtig den Luftdruck zu bestimmen. Wie man Temperatur und Luftfeuchtigkeit mit Sensoren bestimmt,…
    tutorials-raspberrypi.de

    Und nun geht alles.

    Franky07 Der Raspi ist noch für andere Sachen da. Die Wetterdaten sind nur ein "Abfallprodukt". Außerdem sollen die Daten in einer lokalen DB gespeichert werden.

    Vielen Dank nochmal und bis später

    Thomas

  • Moin Thomas220,

    danke für die Rückmeldung!

    Kannst du, bitte, dieses Theam als erledigt markieren.
    Das geht oben bei "Thema bearbeiten". Danke!!

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

    Edited once, last by Bernd666: Typo (August 22, 2024 at 11:50 PM).

  • Moinsen,

    Bezüglich der Anzeige- / Meßgenauigkeit ist der BME280 das falsche Instrument.
    ....

    Hier geht es um den BMP180 aber egal.
    Der BME280 ist ein sehr gutes Messinstrument in Sachen Temperatur, Luftdruck, Luftfeuchtigkeit und Höhe über NN.
    Ich habe 2 Stück in Betrieb und beide sind recht genau und m.M.n. auch bereits kalibriert.

    Einen BME280 würde ich einem AHT10 immer bevorzugen, selbst dem AHT20.

    ;) Gruß Outi :D
    Pis: 2x Pi B, 1x Pi B+, 1x Pi 2 B in Rente / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 / 2x Pi Zero 1.3 / 2x Pi Zero W 1.1 / 1x Pi Zero 2 (BW+CUPS/SANE) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (Tests) / Pi 400 (BW) / 1x Pi 5 8GB (BW) / 2x Pi Pico / 2x Pi Pico W
    HATs: Sense HAT / HM-MOD-RPI-PCB / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT / Pi 5 Kühler HAT / Pimoroni NVMe BASE / M.2 HAT+
    Cams: orig. Raspberry Pi Camera Module V1 & V3 / PS3 Eye

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!