Bosch BME680 感測器與 IAQ(室內空氣品質)說明

在環境感測應用中,Bosch Sensortec BME680 是一款整合多種量測功能的感測器。然而,要正確使用其數據以及理解 IAQ 的來源,開發者需要掌握其資料補償機制與相關軟體架構。

image

BME680 的四大輸出參數

BME680 感測器提供以下四種輸出:

  • 溫度(Temperature)
  • 相對濕度(Relative Humidity)
  • 絕對氣壓(Absolute Pressure)
  • 氣體電阻(Gas Resistance)

這四個輸出都需要透過補償(compensation)機制處理,才能轉換為準確的物理數值。

補償機制與 Sensor API

每個輸出的補償計算都依賴於儲存在感測器暫存器(register map)中的校正參數(calibration parameters)

Bosch Sensortec 提供的 BME680 Sensor API(原始碼,用來:

  • 讀取校正參數
  • 執行必要的補償運算
  • 輸出校正後的環境數據

這個 API 可大幅簡化開發流程,避免自行實作複雜的補償公式。

IAQ 並非 BME680 原生輸出

需要特別注意的是:

IAQ(Indoor Air Quality)並不是 BME680 感測器本身的輸出結果。

IAQ 是由另一套軟體產品所計算得出。

BSEC(Bosch Sensortec Environmental Cluster)

Bosch 提供一套名為 BSEC(Bosch Sensortec Environmental Cluster) 的軟體,用於處理 BME680 資料並輸出 IAQ。

其特點如下:

  • 提供專門為 BME680 調校的設定
  • 用於感測室內空氣品質(IAQ)
  • 預先編譯的二進位(binary library)
  • 可從 Bosch Sensortec 官方網站取得
  • 搭配 BME680 使用時可免費使用

平台支援與使用限制

在導入 BSEC 前,需特別注意:

務必確認你的處理器架構與編譯器是否在支援清單內。

系統資源需求

由於 IAQ 演算法本身較為複雜,BSEC 對系統資源有一定要求:

  • 需要較多的 RAM 與 ROM
  • 使用浮點運算(floating point calculation)
  • 不建議使用 8-bit 或 16-bit 平台

總結

  • BME680 提供四種環境感測輸出,但皆需補償處理
  • 官方 Sensor API 用於簡化補償計算
  • IAQ 並非感測器直接輸出,而是透過 BSEC 軟體產生
  • BSEC 為預編譯庫,需注意平台相容性與資源需求