AirCube 是一个开源的环境状态监测设备,可以监测各种环境状态,例如温度、湿度、二氧化碳浓度、PM 2.5 浓度等,还可以与 Domoticz、Home Assistant 等智能家居系统集成,建立家庭环境数据监测系统。
- 概览页面,可以直观查看各种环境数据的当前数值,例如当前温度、湿度、PM 2.5 以及二氧化碳浓度
- 左右键切换传感器详情界面,可以查看具体细分项数值,例如 PM 1,PM 10 等
- 各项数据的历史趋势数据,通过记录过去 12 小时的数据并通过图表展示环境数据的变化趋势
- 特定传感器的详情数据,例如攀藤 PMS5003 可以同时检测 PM 1.0、PM 2.5、PM 10 浓度,在概览页面无法展示完全,就可以在详情页面展示出来
- 设备信息界面,可以展示当前设备的名称、Wi-Fi 连接情况、运行时间等基础信息
- 数据上报能力,可以通过 MQTT 将数据上报到 Domoticz 或 Home Assistant
- 批量部署能力,通过脚本批量部署设备固件
-
2023.03.31
- 禁用 MQTT 无法连接时自动重启,防止未配置 MQTT Broker 时 AirCube 定时重启
-
2023.02.24
- 与小米温湿度传感器对比后,BME280 温度校正 -2,湿度 +10
- 添加重启功能,长按右键 5 秒以上,会重启 AirCube
- 添加 CO2 传感器校准功能,长按左键 5 秒以上,开启 MH-Z19 或 SenseAir S8 校准功能,校准前请将 AirCube 在室外放置运行 20 分钟以上
- 使用自定义组件读取 BME280 数据,避免 ESPHome 初始化失败的问题
-
3D_Model - 设备外壳 3D 模型文件,可以通过 FDM 类型 3D 打印机打印
- AirCube_Back.stl - 后盖
- AirCube_Eink.stl - 使用 E-ink 屏幕时的外壳模型
- AirCube_Eink_Stand.stl - 使用 E-ink 屏幕时的屏幕支架
- AirCube_LCD.stl - 使用 LCD 屏幕时的外壳模型
- AirCube_LCD_Stand.stl - 使用 LCD 屏幕时的屏幕支架
-
Firmware - 基于 ESPHome 的设备固件,因传感器造型可变化,未编译成二进行,可以自行编译
-
Hardware - 包含用于制造 PCB 的 Gerber 文件和原理图
PCB 尺寸为 6cm x 6cm,四角安装孔直径为 2mm。
-
PCB 正面为屏幕及触摸按钮安装位置。
-
PCB 底面为传感器及 NodeMCU 安装位置,目前版本预留了 IR、433MHz 以及电源接头,但并未使用。
注:表格中的价格为淘宝上大致价格,随卖家不同价格也会不太相同。
建议母座焊接顺序
- 5P 弯针 2.54mm 排母
- 8P 1.25mm 直针座
- 8P 2.54mm 母座
- 3Px2 2.54mm 母座
- 15P 2.54mm 母座
- 5P 及 4P 2.54mm 母座
其中 BME280 预留位置为 6P,使用弯 5P 母座时,请使用下侧 5P,保留最上针脚留空。
建议参考 立创开源平台 AirCube 项目中的 PCB 来进行焊接。
3D 模型中,外壳和后盖均已预置 M2 螺丝孔,组装时使用 M2*5 自攻螺丝将 PCB 固定在外壳上,再将后盖固定在外壳上即可。
组装顺序
- 将 3D 打印的屏幕支架安装在 PCB 上
- 将屏幕安装到排母上,并且 M2 螺丝固定在屏幕支架上
- 将 2 个触摸传感器安装在排母上
- 将 PMS5003 传感器的连接线连接到 1.25mm 针座上
- 将 NodeMCU-32S 安装在排母上
- 将 MH-Z19B 安装在排母上
- 将 BH1750 安装在排母上
- 将 PCB 放进外壳中(可以倾斜着放进去),使用 M2 螺丝固定
- 将 PMS5003 固定在后盖上,有必要可以使用双面胶固定
- 将后盖使用 M2 螺丝固定在外壳上
- 将 BME280 在侧面安装在排母上
注意,BME280 预设安装位置为外壳外部,因此需要将其他部件安装完成,装入外壳固定好后,再从侧面将 BME280 插入 5P 母座。
另外,BH1750 的开孔是朝上的,如果需要避免积灰,可以使用透明胶带盖住。
Firmware 目录中已经提供了 build.sh
脚本用于快速编译及烧录固件,需要本地安装乐鑫 esptool.py
,另外 build.sh
还接受以下参数用于定制可替换部分元件型号或上报数据参数:
- DP - 屏幕类型,st7789v 或 eink,默认 st7789v
- CO2 - 二氧化碳传感器型号,mhz19 或 s8,默认 mhz19
- TEMP - 温湿度传感器型号,bme280 或 sht31,默认 bme280
- DOMOTICZ - 是否启用 Domoticz 支持,enable 或 disable,默认 disable
- ROOM - 当前节点所处房间名称,需要英文字符,例如 livingroom
- IP - 当前节点 IP,建议使用固定 IP,便于后续 OTA 更新固件
- IDX_BH1750,IDX_PM25,IDX_CO2,IDX_TEMP,IDX_PRESSURE,IDX_HOCO - Domoticz 中对应传感器的设备 ID
另外,如果设置了 IDX_HOCO
,将会将 PM 2.5 传感器类型设置为 PMS5003ST。
另外,build.sh
还提供了 upload
参数,可以在编译完成后马上烧录固件。
如果所有传感器类型与默认一致,可以直接使用以下命令编译及烧录固件,注意,需要提前将 NodeMCU-32S 连接到电脑上:
./build.sh upload
如果需要定制传感器型号,例如将温湿度传感器替换为 sht31,可以使用以下命令:
TEMP=sht31 ./build.sh upload
可以参考这篇文章 超简单 DIY - AirCube 空气检测站。