BME688 AirMeter应用程序:使用树莓派监测空气质量、空气压力、温度、湿度。

使用这个BME688空气流量计的应用程序是为了 码头,你可以阅读一个 BME688 或BME680传感器使用I2C连接到Raspberry Pi。我们(pi3g e.K.)提供一个 即插即用的BME688分线模块,你可以把它直接连接到Raspberry Pi的头。

该应用程序有三种不同的视图,使你能够以你想要的方式将数据可视化。

安装和设置

关闭Raspberry Pi的电源,并连接BME688模块。请参考你的供应商的说明如何做。

pi3g-bme688-breakout-board-raspberry-pi
pi3g BME688分线模块连接到Raspberry Pi 3B+:它可以简单地连接到GPIO头。注意这个特殊的方向,这样SoC就不会扭曲BME688的热量测量值了。

注意:BME688和BME680也支持SPI操作。但是,这个应用程序只支持I2C操作。

给你的Raspberry Pi重新上电。到这个时候,希望 码头 是已经安装的。除了PiCockpit之外,你不需要安装任何软件,这个应用程序就可以工作。(不客气 :-))

打开BME688 AirMeter应用程序,并点击设置按钮。

BME688 AirMeter应用程序提供不同的视图。设置按钮位于顶部。
等待数据,因为还没有收到来自传感器的数据

通过点击 "启用传感器 "的切换键,启用BME688传感器。

检查I2C地址是否正确。(对于pi3g BME688分线板,默认情况下是0x77 - 这对其他供应商可能有所不同)。

如果可以到达传感器,下面的消息应该更新为 "收到数据。...",并标明最近收到的数据包的时间戳。

注意:数据包的频率取决于设置--如果你启用IAQ计算,它们的接收频率可能会降低。

启用IAQ计算

博世提供了一个名为BSEC 2的软件。为了您的方便,我们已经将其包含在PiCockpit中。这个软件可以获取传感器测量的原始值,并计算出额外的数值。

其中之一是IAQ。(室内空气质量)--这将使你能够测量室内空气质量。

要启用它,请点击 "启用IAQ计算 "的切换按钮,并点击 "我同意"。 博世BSEC许可协议 对话。

接受博世BSEC许可协议

这将自动指示PiCockpit也要计算IAQ。

高级视图(显示所有数据)

启用高级视图将显示BSEC2软件能够计算的所有参数。

重置所有设置

这个按钮将允许你将设置重置为出厂默认设置。

显示线状图

线图中显示的空气温度(原始)。

使用 "显示我 "按钮,选择你想看的测量值。

使用搜索,只关注你感兴趣的价值。

开始输入你感兴趣的值的名称,以缩小选择范围。

图表底部和右侧的元素允许你深入到你感兴趣的特定数据区域和价值区域。它们是放大图表的好帮手。

放大以更清楚地看到温度的波动

请注意,历史数据值只有在应用程序打开时才会在你的网络浏览器中保存下来。一旦你导航离开,或关闭标签,数据就会丢失。

仪表视图

在仪表盘视图中,你会得到漂亮的仪表盘来显示当前值。在这里,你可以监测以下数值。

  • 空气湿度
  • 空气温度
  • 气压
  • 抗气性
  • 空气质量(IAQ) - 如果启用

仪表视图还包含一个底部有数据的表格。

表视图

对于我们中的纯粹主义者来说,他们喜欢他们的数据以表格的方式呈现,表格视图提供了合适的选择。

你可以使用搜索功能,将视野缩小到你感兴趣的项目上。

开始输入你感兴趣的值的名称,以缩小选择范围。

"高级视图 "的完整列表

这些是PiCockpit中BME688空气质量应用程序中的所有测量值,如果你启用高级视图的话。

  • 空气湿度
  • 空气湿度(原始)
  • 气压
  • 空气质量 (IAQ)
  • 空气质量(IAQ)的准确性
  • 空气温度
  • 气温(原始)
  • 呼出的VOC当量
  • 口气VOC当量的准确性
  • 二氧化碳当量
  • 二氧化碳当量精度
  • 压缩气体值
  • 压缩气体值的准确性
  • 气体百分比
  • 气体百分比精度
  • 耐气性(原始)
  • 样本数
  • 静态IAQ(原始)
  • 静态IAQ精度
  • 时间戳

注意:为了提高二氧化碳的测量精度,我们还提供了一个 二氧化碳传感器应用!

常见问题

BME680是否也支持?

是的,BME680也被支持。

BME688的人工智能功能如何?

我们目前正在为PiCockpit开发一个 "数字鼻子 "应用程序,它将允许你使用BME688识别气味。

我在哪里可以买到兼容的传感器?

我们(pi3g e.K.)已经开发了 一个即插即用的BME688模块 用于Raspberry Pi的GPIO端口。

其他供应商,如Pimoroni和Adafruit,也出售BME688和BME680分线板。

错误处理

关键错误'status'。

前台的症状。设置中显示 "等待数据",但没有数据到达。

调查日志(使用 sudo journalctl -u picockpit-client -n 250),你会发现以下条目。

Nov 01 17:00:43 jaya picockpit-client[4591]:回溯(最近一次调用)。
Nov 01 17:00:43 jaya picockpit-client[4591]:文件 "/usr/lib/python3.9/threading.py", 第954行, in _bootstrap_inner
Nov 01 17:00:43 jaya picockpit-client[4591]: self.run()
Nov 01 17:00:43 jaya picockpit-client[4591]:文件 "/usr/lib/python3.9/threading.py", 第892行, in run
Nov 01 17:00:43 jaya picockpit-client[4591]: self._target(*self._args, **self._kwargs)
Nov 01 17:00:43 jaya picockpit-client[4591]:文件 "/usr/share/picockpit-client/lib/python3.9/Site-packages/com_picockpit/bme688airmeter/bme688airmeter.py", 136行, in stats_thread
Nov 01 17:00:43 jaya picockpit-client[4591]: stats=self.get_stats()
Nov 01 17:00:43 jaya picockpit-client[4591]:文件 "/usr/share/picockpit-client/lib/python3.9/Site-packages/com_picockpit/bme688airmeter/bme688airmeter.py", 行 231, in get_stats
Nov 01 17:00:43 jaya picockpit-client[4591]: stats['s'] = data['status'] 。
Nov 01 17:00:43 jaya picockpit-client[4591]:KeyError: 'status' 。

发生这种情况是因为前端处于错误的状态--除了启用传感器,你还应该 启用IAQ计算:

我怎样才能验证I2C地址是否正确?

以root身份运行i2cdetect。

 i2cdetect -y 1

这将向你展示BME688和其他可以用这种算法检测的I2C附件。

的默认地址是 我们自己的BME688分线板0x77