The BME680 sensor measures humidity, air pressure, temperature and air quality (IAQ). The BME280 ? is the little sister of the BME680 ? and does not measure air quality. The cost of the BME680 is about 20 Euro. The BME280 costs about 7 Euro.
The BME680 requires the I2C bus of the Raspberry Pis. The I2C bus is located at the Raspberry Pi on pins 3 and 5. Several sensors can be connected to the I2C bus. Each sensor type has its own address. The BME680 has the address 0x76. Since each address can only occur once, only sensors of different types or with different addresses can be connected.
Air quality (IAQ)
The air quality index is calculated from a measured gas value and the air humidity. Further information about Index Air Quality (IAQ) and how the air quality is calculated can be found here: BST-BME680-DS001-00
Data sheet
Humidity sensor
Response time (τ63%) 8s
Accuracy tolerance ± 3 % relative humidity
Hysteresis ≤ 1,5 % relative humidityPressure sensor
Pressure range 300 … 1100 hPa (equiv. to +9000…-500 m above/below sea level)
Relative accuracy ±0.12 hPa, equiv. to ±1 m (950 … 1050hPa @25°C)
Absolute accuracy typ. ±1 hPa (950 …1050 hPa, 0 …+40 °C)Temperature sensor
Operating range Operational -40°C – +85°C
Full accuracy 0°C – +65°CAir quality sensor
Response time (τ33-63%) 1s
Source of the data sheet: https://www.watterott.com/de/BME680-Breakout
Indoor air quality (IAQ) index output
Translated 28.07.2019 by JK
Im Protokoll habe ich für meinen BME280 nachstehende Fehlermeldung obwohl die Messwerte angezeigt werden:
ERROR | HoneyPi.read_bme280 | Unhandled Exception in measure_bme280
Traceback (most recent call last):
File “/home/pi/HoneyPi/rpi-scripts/read_bme280.py”, line 43, in measure_bme280
if isinstance(temperature, (int, float)) and isinstance(humidity, (int, float)) and isinstance(absoluteHumidity, (int, float)) and isinstance(air_pressure, (int, float)):
UnboundLocalError: local variable ‘absoluteHumidity’ referenced before assignment
Raspi Zero W, firmware 1.4.1
Danke für die Info, ich schaue mir das an.
Hallo Javan,
hier das Protokoll direkt nach einem Neustart, also nicht aus dem Wartungsmodus heraus. Der Wägesensor ist gerade nicht angeschlossen:
2024-02-06 17:58:31,877 | INFO | HoneyPi | HoneyPi v1.4.1 Started on Raspberry Pi Zero W Rev 1.1 as User root
2024-02-06 17:59:04,324 | WARNING | HoneyPi | Thread to syncronize time with NTP Server is still not finished!
2024-02-06 17:59:05,009 | INFO | HoneyPi.main | Time syncronized to NTP – difference was: 18.12s
2024-02-06 17:59:08,536 | ERROR | HoneyPi.read_hx711 | HX711 DT: 12 SCK: 13 Channel: A initializing failed, Please check cabling and configuration! Returning empty HX711.
2024-02-06 17:59:44,593 | INFO | HoneyPi.read_and_upload_all | First time doing a measurement. Time is now: 2024-02-06 17:59
2024-02-06 17:59:44,874 | ERROR | HoneyPi.read_bme280 | Unhandled Exception in measure_bme280
Traceback (most recent call last):
File “/home/pi/HoneyPi/rpi-scripts/read_bme280.py”, line 43, in measure_bme280
if isinstance(temperature, (int, float)) and isinstance(humidity, (int, float)) and isinstance(absoluteHumidity, (int, float)) and isinstance(air_pressure, (int, float)):
UnboundLocalError: local variable ‘absoluteHumidity’ referenced before assignment
Dann nehm den Sensor aus der Liste der konfigurierten Sensoren, solange er nicht angeschlossen ist. Vielleicht ist das die Ursache für den Logeintrag.
Hallo,
ich habe einen Adafruit BM680. Wenn ich diesen im Wartungsmodus anschließe, fängt mein Raspi Zero zum blinken an und wechselt in den Normalbetrieb. Was mache ich falsch?
Starte nochmal den Wartungsmodus und schau ins Protokoll. Eventuell warst du zu lange im Wartungsmodus?
Gibt es jemanden der die Firmwar auf den BMP280 umgeschrieben hat? Damit könnte man doch einen Wetterumschwung messen, wegen des geänderten Luftdrucks? In Kombi mit dem DHT22, habe ich doch eine günstigere Alternative als den BME680. Oder sehe ich das falsch?
Hallo!
Erstmal vielen Dank an alle die an diesem tollen Projekt mitarbeiten.
Ich hoffe ich darf mein Problem mit den SHT31 Sensoren hier posten.
Wenn ich einen Sensor hinzufüge werden die Werte ausgelesen, Adresse 0x44 oder 0x45
Sobald ein zweiter SHT31 hinzugefügt wird, werden keine Werte, der SHT31 Sensoren, ausgelesen
Ob der 2.Sensor angeschlossen ist oder nicht macht keinen unterschied.
Die Softwareversion ist 1.3.6.
Im Protokoll ist kein Eintrag der den SHT31 betrifft.
Kann mir da jemand helfen? Könnte die Ursache eventuell an der Software liegen?
Schöne Grüße
Robert
Hi Robert,
aktuell wird nur der SHT31 Sensor mit der Adresse 0x44 ausgelesen. Im Webinterface fehlt das Feld, um die I2C-Adresse auszuwählen. Das Auswahlfeld kommt in der nächsten Softwareversion.
Viele Grüße
Javan
Geht auch bmp180?
Auf dieser Seite sind alle unterstützten Sensoren aufgelistet: https://honey-pi.de/schaltplan-und-sensoren/
Sollte von der Community ein weiterer Sensor implementiert werden (der Quellcode ist Open-Source auf GitHub) werden wir diesen Sensor dort hinzufügen.
Hallo,
sehe ich das auf dem Schaltplan richtig, das eine Brücke beim BME680 zwischen GND und SD0 gesetzt werden muss??? Im Moment habe ich da nichts.
Ich bin seit Tagen dabei den BME680 zum laufen zu bringen, ohne Erfolg. Ich habe schon einen Raspberry PI3 sowie den Raspberry Zero ausprobiert und verzweifel gerade.
Vielen lieben Dank für ein Antwort.
René
Die Brücke ist nur notwendig, wenn du zwei BME680 anschließen möchtest. Die ISC2-Adresse (0x76) ist je nach Hersteller deines Sensors anders. Steht aber auch im Datenblatt deines Sensors. Im HoneyPi Wartungsmodus/Webinterface kannst du die Adresse auswählen.
Hallo zusammen,
sehe ich das richtig, dass sowohl der BME680 also auch AD/DA-Wandler für die Spannungsmessung der Batterie an GPIO2 (Pin 3) angeschlossen werden? Funktioniert das mit 2 “Geräten” an einem GPIO oder muss ich für eines der beiden Geräte einen andern GPIO benutzen und wo würde ich das umkonfigurieren?
Schon jetzt vielen Dank für Eure Unterstützung,
Beste Grüße
Kluas
Hi, ja beide an SDA und SCL. Musst nix weiter umkonfigurieren.
Grüße Florian
Hallo zusammen,
ich beobachte leider einen fast regelmässigen Absturz meines BME680. Er liefert keine Werte mehr. Nach einem Reboot (sorry “stromlos” schalten des Raspberry, reboot reicht nicht), läuft er weiter für ein paar Tage.
Habt ihr diesen Effekt auch schon beobachtet?
Ich bin etwas unsicher, glaube aber das der Effekt erst nach Installation eurer neuen Version auftrat. Das muss aber nicht zusammenhängen.
Kann so etwas durch Kondenswasser geschehen? Eigentlich ist er gut belüftet, ich habe ihn aus dem Brutraum herausgenommen und lasse ihn die Außenwerte einlesen. Die Brutraumtemperatur übernimmt jetzt ein DS18B20.
Ich bin etwas ratlos..
Achja, ich würde mich, wie andere auch, sehr darüber freuen wenn jemand den kleinen günstigen Bruder BME280 als Sensor mit in die HoneyPi Software einbauen würde. Die Luftgüte ist für mich kein wichtiges Merkmal, zumal die Werte über den Tag derart unterschiedlich sind das ich keinen Nutzen daraus ziehen kann.
Leider kann ich nicht programmieren 🙁 könnte aber einen falsch bestellten und bei mir liegenden BME280 als Spende zur Verfügung stellen…
Weiter so HoneyPi Team!!!!! Ich bin immer noch schwer von euch begeistert!!
Gruss, Thomas
Vielen Dank Thomas, wir suchen nun gemeinsam nach der Ursache. Wenn das bei jemanden noch auftritt gerne Email an mich.
Hallo Martin, ja Ausreißer treten derzeit vereinzelnd auf. Ich hoffe mit dem kommenden Firmwareupdate diese nun endgültig eliminiert zu haben. Version v0.1.1 kommt heute.
Vielen Dank! Wir haben die Pins vertauschen müssen, da das nun unterstütze WittyPi Modul die GPIO4 und GPIO 17 (BCM) für sich beansprucht.
Bin gespannt wie sich das mit der neuen Firmware nun verbessert.
Hallo Javan,
Ist es vielleicht möglich, den BME280 einzubinden. Dieser Sensor ist deutlich billiger und hat die gleichen Funktionen wie der BME680 allerdings ohne die “Luftqualität” zu messen, die m.E. ja nur in Innenräumen eine Rolle spielt .
Übrigens funzt der neue Umschalter hervorragend! Gute Arbeit!!
Vielen Dank! ja, das wäre möglich. Die beiden Sensoren unterscheiden sich nur in der Chip-ID für den SMBus. Ich habe keinen BME280 zu Hause.
Nachtrag: Inzwischen unterstützt die Firmwareversion auch den BME280 Sensor.
Hallo,
habt ihr auch einen Tipp für ein passendes Gehäuse, in das der BME680 in der Beute verbaut werden kann?
Viele Grüße
Andreas
In einen Lockenwickler: https://www.bienenzuchtbedarf-seip.de/images/product_images/popup_images/lockenwickler_680_0.jpg
Hallo, ich verwende den BlueDot BME680 und bekomme beim abrufen der Messwerte über das Webinterface immer folgende Fehlermeldung:
BME680 is connected to SMBus
Measurement: BME680 Not Found. Invalid CHIP ID: 0x60
None
SD0 ist mit GND verbunden, wenn das nicht der Fall ist bekomme ich eine andere Fehlermeldung. Ist das ein bekanntes Problem, oder habt ihr eine Idee wie ich den Sensor angesprochen bekomme?
Ich verwende die Version v0.4 mit RPi3B
Wo hast du den Sensor bestellt? Am besten mit Produktlink.
Das Problem hatten wir bislang noch nicht, die von uns verlinkten Sensoren von PIMORONI und Blue Dot wurden getestet.
Diese haben die Chip-ID “0x61”.
Hast du vielleicht statt dem BME680 den BME280 angeschlossen? Denn dieser hat die CHIP-ID 0x60
Ich habe den BlueDot BME680 bei Ebay bestellt, ich habe leider nie auf das Board geschaut. Das habe ich dann mal nach deiner Antwort getan und musste feststellen das ich ein falsches Board geschikt bekommen habe(es handelt sich tatsächlich um ein BME280). Der Händler tauscht mir den Sensor um, dann sollte alles gut sein.