BME688 – czujnik gazu, wilgotności, temperatury i ciśnienia z wbudowaną sztuczną inteligencją
Firma Bosch Sensortec jest znana z produkcji wysokiej klasy czujników środowiskowych. Popularnymi produktami firmy są wielofunkcyjne czujniki BME280 oraz BME680. Oba zawierają sensor temperatury, wilgotności oraz ciśnienia. BME680 ma też dodatkową funkcję, a jest nią możliwość wykrywania stężenia gazów w powietrzu. Sensor reaguje na tzw. lotne związki organiczne, takie jak aceton czy formaldehyd, obecne w farbach, lakierach, klejach itd.
Dzięki tak bogatej funkcjonalności czujniki te są powszechnie stosowane m.in. w stacjach pogodowych. Dodatkowy czujnik lotnych związków organicznych w BME680 może się przydać podczas pomiaru jakości powietrza oraz poziomu zanieczyszczeń.
Czujnik BME688
Najnowszym czujnikiem z tej grupy w ofercie Bosch Sensortec jest BME688. Podobnie jak wyżej wymienione układy łączy w sobie czujniki wilgotności, temperatury oraz ciśnienia atmosferycznego. Jednak czwarty element, czujnik gazu jest już o wiele bardziej zaawansowany niż w BME680. Jest bowiem w stanie wykrywać nie tylko lotne związki organiczne, ale także lotne związki siarki (VSC) oraz inne gazy takie jak tlenek węgla czy wodór w zakresie cząstek na miliard (ppb).
W kwestii czujników temperatury, wilgotności oraz ciśnienia czujnik BME688 oferuje bardzo podobne parametry co BME280 oraz BME680. Pomiar temperatury ma zakres od -40°C do +85°C i dokładność ±1,0°C. Ciśnienie można mierzyć w zakresie od 300 do 1100 hPa z dokładnością w typowych warunkach ±0,6 hPa. Natomiast czujnik wilgotności ma zakres od 0% do 100% i dokładność ±3%.
Dodatkową funkcją czujnika BME688 jest tzw. skaner gazów. Dzięki szerokiemu zakresowi wykrywanych gazów moduł jest w stanie wykryć obecność specyficznych związków chemicznych w powietrzu oraz wyciągnąć z tego faktu wnioski. Przykładowo obecność związków siarki może służyć jako wskaźnik rozwoju bakterii. Pracę czujnika gazów można dostosować do potrzeb aplikacji i ustalić selektywność, czułość, częstotliwość pomiarów, a także pobór mocy.
Czujnik jest dostępny w obudowie LGA o wymiarach 3,0 x 3,0 x 0,93 mm z metalową pokrywą. Układ można zasilać napięciem od 1,71 V do 3,6 V. Udostępnia komunikację I2C do 3,4 MHz oraz SPI, 3- lub 4-przewodową, do 10 MHz. Dopuszczalne napięcie logiczne interfejsów zawiera się od 1,2 V do 3,6 V.
Oprogramowanie Bosch AI-Studio
Bosch Sensortec umożliwia także wykorzystanie możliwości sztucznej inteligencji do wykrywania substancji za pomocą wydzielanych przez nią związków lotnych. W prostszych słowach – może działać jak nos i identyfikować substancję po „zapachu”. Do tego celu producent udostępnia oprogramowanie Bosch AI-Studio.
Oprogramowanie jest w stanie zebrać dane z czujnika, na ich podstawie wytrenować model i zaimplementować algorytm , który umożliwi czujnikowi wykrycie zaprogramowanego zapachu. Program umożliwia odpowiedni dobór profilu grzania sensora MOX, co z kolei pozwala na dostosowanie parametrów do potrzeb aplikacji. Mało tego, oprogramowanie umożliwia testowanie różnych profili grzania i samodzielne sprawdzenie jak zachowuje się czujnik przy różnych ustawieniach.
Rys. 2. Oprogramowanie Bosch AI-Studio – ustawianie profilu grzania
Kolejną opcją jest możliwość ustawienia sekwencji okresów pomiarów oraz okresów oczekiwania. Dobór odpowiedniej kolejności umożliwia oszczędność energii oraz ustalenie długości sekwencji pomiarów.
Aktualnie, oprogramowanie AI-Studio współpracuje jedynie z płytką rozwojową BME Board x8 z ośmioma czujnikami BME688 oraz płytką główną Adafruit Huzzah32 z układem ESP32. Tym niemniej producent zapowiada, że już w najbliższej przyszłości wprowadzona zostanie obsługa również innych modułów z sensorem.
Biblioteka BSEC
Do obsługi czujnika producent udostępnia bibliotekę BSEC (Bosch Sensortec Environmental Cluster). Biblioteka umożliwia przetwarzanie danych uzyskiwanych z sensora oraz łatwą integrację z resztą oprogramowania. Pobiera skompensowane wartości danych z czujnika za pomocą API sensora. Jest też w stanie dzięki innym sensorom dokonać dodatkowej kompensacji danych.
Biblioteka BSEC pozwala dokonać precyzyjnych obliczeń poza sensorem, np. współczynnika IAQ dotyczącego jakości powietrza. Pracuje na platformach 8-, 16- i 32-bitowych, w tym AVR, ESP32, ARM, a także Raspberry Pi.
Więcej informacji na stronie https://www.bosch-sensortec.com/software-tools/software/bsec/
Moduł BME688 Breakout Board firmy pi3g
Aby przetestować możliwości czujnika możesz zaopatrzyć się w moduł BME688 Breakout Board produkowany przez niemiecką firmę pi3g. Moduł umożliwia stworzenie prototypu aplikacji wykorzystującej sensor.
Rys. 4. Moduł z czujnikiem BME688
Moduł zaprojektowano do współpracy z minikomputerami Raspberry Pi w taki sposób, aby czujnik znajdował się jak najdalej od elementów emitujących ciepło, co eliminuje w znacznym stopniu zakłócenia pomiaru temperatury. Zawiera specjalne złącze umożliwiające nałożenie na złącze Raspberry Pi i komunikację przez interfejs I2C.
Rys. 5. Moduł BME688 nałożony na Raspberry Pi
Na płytce zainstalowano także przelotowe złącze Grove. Pozwala to na dołączenie czujnika do systemów wyposażonych w złącza Grove I2C firmy Seesd Studio. Natomiast nakładki ze złączami, takie jak Base Shield V2, pozwalają na połączenie modułu z płytkami rozwojowymi Arduino, STM32 Nucleo i innymi ze złączami w standardzie Arduino.
Moduł zawiera także standardowe złącze szpilkowe pozwalające na połączenie z modułami lub płytką stykową za pomocą standardowych przewodów. Dodatkową zaletą tego złącza jest kompatybilność z płytką Raspberry Pi Pico, co oznacza, że czujnik można łatwo dołączyć bezpośrednio przez płytkę stykową w sposób zaprezentowany poniżej.
Rys. 6. Moduł pi3g z czujnikiem BME688 dołączony do Raspberry Pi Pico
Moduł udostępnia magistralę I2C. Domyślny adres sensora to 0x77. Adres można zmienić na 0x76 lutując zworkę w miejscu J1, lub zwierając wyprowadzenie ADDR (obecne na złączu szpilkowym) do masy.
Złącze szpilkowe na płytce jest asymetryczne – otwory na płytce nie są ułożone równo w linii, ale są delikatnie przesunięte względem siebie. Po włożeniu w te otwory złącza szpilkowego trzyma się ono dość mocno nawet bez lutowania. Daje to możliwość wypróbowania różnych złącz i proste testowanie modułu.
Rys. 7. Otwory na złącze szpilkowe na module BME688
Podsumowanie
Sensor BME688 to wielofunkcyjny moduł MEMS ze zintegrowanym czujnikiem gazów, ciśnienia, temperatury i wilgotności umieszczony w jednej obudowie. Opracowano go specjalnie z myślą o aplikacjach mobilnych i urządzeniach wearables, gdzie rozmiar i niskie zużycie energii są kluczowymi wymaganiami. Czujnik gazu może wykrywać szeroki zakres gazów do pomiaru jakości powietrza, w tym lotne związki organiczne (VOC) z farb (takich jak formaldehyd), lakiery, produkty do usuwania farby, środki czyszczące, meble, sprzęt biurowy, kleje, alkohol. Moduł ma też możliwości pracy w systemach wykorzystujących algorytmy sztucznej inteligencji np. do wykrywania zapachów. W tym celu producent przygotował oprogramowanie Bosch AI-Studio.
Moduł pi3g BME688 Breakout Board umożliwia łatwe skorzystanie z możliwości czujnika. Pozwala on na podłączenie do dowolnej platformy, przetestowanie możliwości oraz zaprojektowanie prototypu aplikacji.




Koniec ery defiladowej. Cykl życia technologii na froncie skrócił się do kilku tygodni
Czym jest czytnik e-booków i jak działa?
O suwerenności Europy mówią gen. Sławomir Żakowski, gen. Paweł Bielawny, dr. Jacek Pawlak, Adam Cudny i dr Daniel Więzik 




