BME688, Gas-Sensor mit Artificial Intelligence (AI)

Nachdem unser Versuch ein System zur Messung der Ameisensäure-Konzentration im Bienenstock bei der Varroa-Behandlung zu entwickeln 2019 doch auf diverse Schwierigkeiten gestoßen ist – lange Aufwärmzeit, viel Wärmeeintrag ins Volk durch “Sensorheizung”, aufwändiger Aufbau durch notwendige 5 V für Heizung vs. 3 V für Microcontroller-Betrieb u.a. – könnte das Ganze mittlerweile deutlich einfacher realisierbar sein, und zwar mit dem BME688, der Sensor wird als Nachfolger des BME680 genannt, er ist konzeptionell allerdings anders.

Der BME688 misst unterschiedliche Gase und kann – das ist das tolle und neue daran – mit sample-Messungen trainiert werden, z.B. Kaffe vs. Tee vs. Luft. Die Trainingsergebnisse können dann auf den Microcontroller zurückgespielt werden und dienen als individuelle Kategorisierungsalgorithmen. Der Sensor und Microcontroller kann damit schon auf dem node Gase / Gerücke klassifizieren ohne Rohdaten o.ä. an einen Server schicken zu müssen, also wirklich on the edge schon Dinge “berechnen”!

Im Bienenvolk könnte man so neben Ameisensäure ggf. auch CO2 als Stoffwechselindikator des Bienenstocks messen oder auch einen Waldbrand (oder Smokereinsatz :-) detektieren. Vielleicht riechen Bienenvölker mit Königin auch anders als weisellose Völker und das ist mit dem Sensor unterscheidbar, Faulbrut (der Name sagt’s schon!) hat auch eine olfaktorische Komponente, zumindest im klinischen Stadium, mal schauen was der Sensor alles kann!

Ein fertiges dev-Kit gibt es für ca. 100 EUR:

Da ist ein ESP32 Feather von Adafruit dabei und das 8x (!) BME688 board, man kann auch was günstigeres nehmen, z.B. den BME688 solo auf einem breakout, was der Vorteil der 8 verbauten BME688 ist, erschließt sich mir noch nicht ganz.

Software und weitere PDFs

Das Tutorial unten zeigt wie man den Sensor trainiert:

  • Zuerst werden Sensor-Daten für verschiedenen Stoffgruppen gesammelt
  • Diese auf SD gesammelten Roh-Daten importiert man dann auf einem Rechner auf dem BME AI-Studio installiert ist, das ist eine Software vom Bosch über die der Nutzer die Klassifikation der gesammelten Daten angeben kann, wie im Beispiel etwa Kaffee vs. Raumluft.
  • BME AI-Studio berechnet dann das Modell und spuckt (Arduion?-)Code aus den man wieder für den ESP32 verwenden kann.
  • Mit dem neu geflashten code können dann neue samples kategorisiert werden.

Erläuterungen zum BME688 von Lady Ada

Ebenfalls gute Erklärung (im zweiten Teil), wenn mans etwas skuril (erster Teil) mag:

Hier noch ein Tutorial zu Bosch BME AI Studio:

[edit] Das Sensor-Kit kann auch per (Android und iOS) App per bluetooth ausgelesen werden:

Note for us: Der BME688 muss einmalig 24 h “eingebrannt” werden um die Genauigkeit zu erhöhen, sollte man nicht vergessen!

Danke an Thorsten / @tox für die Idee sich mit dem Teil einmal näher zu beschäftigen.

1 Like