基于CO2传感器CCS811在灯塔平台上的实践

2022-08-25 10:14:22 浏览数 (2)

导语

在工位坐久了,时常感觉呼吸不畅、脑瓜不灵、需求写不快。为了解工位上的空气质量情况、也为了提醒自己多开窗,于是我想到了传感器采集 灯塔平台处理的组合。

01.

数据采集|CCS811

这次使用的是维特智能的 CCS811 二氧化碳(CO2)和总可挥发有机物(TVOC)传感器,使用串口 ASCII 码通信,只需screen 命令就可以通过 UART 预览上报数据,用起来非常友好。再通过转接板焊接在一起就可以通过 USB 连接到电脑上。

因为需要 7x24 开机,我使用了更节能的树莓派代替我的开发机进行实时上报。

02.

数据上报|BLS

因为树莓派不能标准化,只能通过 GuestWiFi 联网。与办公网隔离的情况下就只能使用公网的上报服务,此时 Beacon Log Server(灯塔 SDK 日志上报服务,简称 BLS,下同)就帮我解决了网络隔离的难题。只需定义好 appkey 等少许字段,就可以通过 json 格式用 HTTPS 上报至 BLS。

更棒的是 BLS 支持 HTTP 2.0,减少了不少 TCP 重复握手/挥手带来的性能开销和数据延迟。

03.

数据链路|DataHub

二氧化碳数据上传至 BLS 后,可以在灯塔 DataHub 的「实时联调」上检查上报数据是否正常。要进入灯塔的 Impala 集群做进一步分析,或者是进入 CDMQ 进行实时事件分析,就需要在 DataHub 上建立数据链路。这样整个上报链路大致就出来了:

04.

数据图表|DataInsight

CO2 的数据入 Impala 集群后,就可以轻松玩转灯塔的平台工具了。第一件事自然是在 DataInsight灯塔分析上将当天的 CO2 和 TVOC 浓度曲线画出来(如下图,橙色为 CO2 数据、蓝色为 TVOC 数据、实线为当天数据、虚线为上一天数据)。

可以看到,在凌晨 0 点至 7 点,工位 CO2 浓度都接近平均大气浓度值 412.5 ppm,在早上 10 点至晚上 10 点,CO2 浓度值在 1500 - 2000 ppm 范围内上下,是室外空气的 4-5 倍,晚上 11 点过后,浓度渐渐降低至室外空气水平。

05.

数据可视化|DataTalk

如果简单的曲线图表现力略显不足,那么 DataTalk 就是个很好的数据可视化平台。

DataTalk 支持曲线图、柱状图、数值、表格、散点图等多种数据表现形式,让 CO2 和 TVOC 的数据更加通俗易懂、一目了然。

更棒的是,DataTalk 可以自动生成移动端小程序的图卡界面,这样在手机上也可以轻松查看指标图卡。

06.

数据分析|DataPy

通过观察 DataTalk 生成的散点图,可以看出 CO2 和 TVOC 在散点图上形成了一条折线——说明两个指标的相关性非常强。为了证实这一点,我打开了 DataPy 数据分析工具,在其自动生成的 Panda Profiling Report 中,其相关性为 1 (不管是Pearman's ρ、Pearson's r、Kendall's τ 还是 Phik (φk) 都为1),说明该传感器其中一条数据并不是原生采集的,而是推算出来的。

其实在传感器 CCS811 的文档上,已经说明了它通过加热金属板,与空气中的有机物进行氧化还原反应,并根据其电阻变化来测算出 TVOC 值,再由 TVOC 值计算出 CO2 值(eCO2, equivalent CO2,假定有机物都是人体呼出的)。所以该传感器只适合在办公室等室内场合使用。

07.

超标提醒|DataLink

保持低浓度的 CO2 浓度有利于身心健康、高效工作。除监控、展示与分析工位上的 CO2 浓度数据外,还需要在 CO2 浓度超标时,主动提醒自己开窗通风。

DataLink 就是个完美的选择 —— 通过简单拖拽的形式,自定义触发条件阈值、自定义推送消息格式、自定义工作流;并通过实时事件触发工作流,进行自定义的企微机器人私信/群聊推送,提醒自己和其他同事多多开窗通风。

提醒样例如下:

小结

传感器 灯塔平台不算是常见的使用场景,在实现的路上踩到了很多坑;加之平时也有需求要完成,零零碎碎弄了一个多月才陆续完成,有了大家的帮忙踩坑填坑速度就快了许多。

这次基于 CO2 传感器 CCS811 在灯塔平台上的实践,走马观花式地使用了灯塔平台的一些产品,其中有很多功能都没真正用到(例如 DataTalk 各式各样的图表,很多因为指标不足等原因没有用上)。优化点也有很多,例如树莓派可以用 ESP32 单片机替代、USB 调试板可以用 GPIO PCB 替代等等...

接下来我也会继续实验一些传感器(温湿度、压强传感器等,如下图),把指标数设置丰富一点,继续在灯塔平台上探索更好玩的应用场景。

供稿人:邓添

0 人点赞