盛思锐SEN66 - ArtPi2+RTOS 数据记录/开源

下午,周例会, 我提出,考虑把空气质量相关传感器,纳入车载产品规划,大家还蛮有兴趣的; 估计年后会有一些动作. 一个是进一步的小型化,再有一个是商务上的可行性.

传感器套件的稳定性如何呢?正好用手头的 ArtPi2测试一下, 默认使用RT-Thread.

1/ 项目背景 -

  • 已确定开发板 A - art-pi-2(stm32h7r7)

  • 已确定模组 B - Sen66(i2c)

  • I2C interface -

I2C地址:0x6B

VDD range: 3.15 to 3.45 V

Peak current @ 3.3 V: 350 mA

  • 使用 RPI_I2C接口 (PB8 (SCL)、PB9 (SDA))

SDK配置:BSP_I2C1_SCL_PIN=24, BSP_I2C1_SDA_PIN=25

GPIO配置:GPIO_InitStruct.Pull = GPIO_NOPULL

硬件上拉:底板有4.7kΩ上拉电阻

2/ 项目需求 -

  • 项目模板/开发根目录 ./art_pi2_sen66_i2c/ ;

  • 使用rt-thread系统,相关调试信息console输出;

  • 采集传感器发来的i2c数据(目前的设置是1hz, 也就是每秒采集一次数据),存储到SD-Card的.csv文件上(yyyy-mm-dd-hh-mm.csv 作为文件名);

  • 每分钟的数据单独一个文件(如果时间不到1分钟就停止传输则单列一个);

3/ 修改配置,编译,下载 -

复制代码
# scons --target=mdk5 -j8
scons: Reading SConscript files ...
Keil5 project is generating...
Keil Version: 0.0
Keil-MDK project has generated successfully!

linking...
Program Size: Code=115148 RO-data=12720 RW-data=1004 ZI-data=23244  
After Build - User command #1: fromelf --bin .\build\rt-thread.axf --output rtthread.bin
".\build\rt-thread.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:00:09
Load "D:\\ST\\workspace\\sdk-bsp-stm32h7r-realthread-artpi2\\projects\\art_pi2_sen66_i2c\\build\\rt-thread.axf" 
Erase Done.
Programming Done.
Verify OK.
Application running ...
Flash Load finished at 19:32:57

有图有真相 -

因为没有接屏幕,所以从串口打印看运行状况 -

复制代码
System Clock information
SYSCLK_Frequency = 600000000
HCLK_Frequency   = 300000000
PCLK1_Frequency  = 150000000
PCLK2_Frequency  = 150000000
PLL2S_XSPI1_2_Frequency  = 200000000
PLL2T_Frequency  = 133333333

   ___  ______  _____         ______  _   ______  _____  _____  _____
  / _ \ | ___ \|_   _|        | ___ \(_)  | ___ \/  _  \/  _  \|_   _|
 / /_\ \| |_/ /  | |   ______ | |_/ / _   | |_/ /| | | || | | |  | |
 |  _  ||    /   | |  |______||  __/ | |  | ___ \| | | || | | |  | |
 | | | || |\ \   | |          | |    | |  | |_/ /\ \_/ /\ \_/ /  | |
 \_| |_/\_| \_|  \_/          \_|    |_|  \____/  \___/  \___/   \_/

 Powered by RT-Thread.

[I/XSPI] Read Flash ID success:0xef 0x5b 0x1a
msh >[I/XSPI] Recondiv Flash clock

[I/XSPI] Flash Re-Enter Octal DTR and Read ID success:ef 1a 00
[I/XSPI] PSRAM MR0: 0x08, MR1: 0x8d
[I/XSPI] PSRAM MR0 SET
[I/XSPI] PSRAM MR4 SET
[I/XSPI] PSRAM MR8 SET
[I/XSPI] Flash XIP success
[I/XSPI] PSRAM XIP Success


Jump to APP...
[I/I2C] I2C bus [i2c1] registered

 \ | /
- RT -     Thread Operating System
 / | \     5.1.0 build Jan 26 2026 19:32:42
 2006 - 2024 Copyright by RT-Thread team

========================================
 SEN66 Air Quality Data Logger
 Hardware: ART-Pi-2
 Sensor: SEN66 (I2C)
 Storage: SD Card (CSV format)
========================================

[I/logger] Data logger initialized
[I/logger] Time set to: 1769439600 (from tick=24)
[I/main] Default time set: 2026-01-26 20:00:00
[I/main] Use 'set_time <timestamp>' to update

msh />[I/SDIO] SD card capacity 31166976 KB.
found part[0], begin: 4194304, size: 29.736GB
[I/app.filesystem] sd card mount to '/sdcard'
[I/logger] Logger thread created
[I/logger] Logger thread started
I2C HAL initialized on i2c1
[I/logger] Product: SEN66
[I/logger] Serial: 20054780F3BE84C8
[I/logger] Measurement started
[W/time] Cannot find a RTC device!
[I/logger] File: /sdcard/20260126_1500.csv
[I/logger] PM2.5=42.7 T=24.9 H=56.6 [10]
[I/logger] PM2.5=40.7 T=24.9 H=56.6 [20]
msh />ls /sdcard
Directory /sdcard:
System Volume Inform<DIR>
20260126_1500.csv   0
... ...
msh />cat /sdcard/20260210_1500.csv
Second,PM1.0,PM2.5,PM4.0,PM10,Humidity,Temperature,VOC,NOx,CO2
0,6553.5,6553.5,6553.5,6553.5,53.50,26.38,0.0,3276.7,65535
1,23.8,27.3,29.4,30.4,53.50,26.38,0.0,3276.7,65535
2,23.5,26.9,29.0,30.0,53.50,26.38,0.0,3276.7,65535
3,6.8,14.5,20.6,23.6,53.50,26.38,0.0,3276.7,65535
4,8.9,16.5,22.5,25.4,53.50,26.38,0.0,3276.7,642
5,10.8,18.0,23.7,26.4,53.50,26.38,0.0,3276.7,642
6,10.9,18.2,23.8,26.5,53.50,26.38,0.0,0.0,642
7,12.5,19.5,24.8,27.4,53.50,26.38,0.0,0.0,642
8,11.1,18.5,24.3,27.0,53.50,26.38,0.0,0.0,637
9,11.5,19.1,25.0,27.8,53.50,26.38,0.0,0.0,632
10,9.8,17.9,24.4,27.5,53.50,26.38,0.0,0.0,627
11,9.9,18.1,24.7,27.8,53.50,26.38,0.0,0.0,622
12,10.0,18.2,24.8,28.0,53.50,26.37,0.0,0.0,617
13,10.4,18.9,25.6,28.8,53.50,26.37,0.0,0.0,619
14,10.5,19.1,25.8,29.1,53.50,26.37,0.0,0.0,622
15,10.6,19.3,26.1,29.4,53.50,26.36,0.0,0.0,625
16,10.8,19.5,26.4,29.7,53.50,26.36,0.0,0.0,628
17,10.8,19.6,26.5,29.9,53.50,26.35,0.0,0.0,631
18,10.9,19.8,26.8,30.2,53.50,26.34,0.0,0.0,629
19,11.0,19.9,26.9,30.3,53.50,26.33,0.0,0.0,628
20,11.0,20.0,27.1,30.5,53.50,26.32,0.0,0.0,626
21,11.1,20.1,27.2,30.6,53.50,26.31,0.0,0.0,625
22,11.1,20.2,27.3,30.8,53.50,26.29,0.0,0.0,624
23,11.1,20.1,27.3,30.8,53.51,26.27,0.0,0.0,622
24,11.1,20.2,27.4,31.0,53.51,26.25,0.0,0.0,621
25,11.1,20.3,27.6,31.1,53.51,26.22,0.0,0.0,620
26,11.1,20.3,27.6,31.1,53.51,26.18,0.0,0.0,619
27,11.1,20.3,27.5,31.1,53.51,26.13,0.0,0.0,619
28,11.1,20.3,27.5,31.1,53.52,26.08,0.0,0.0,619
29,11.2,20.4,27.7,31.2,53.52,26.01,0.0,0.0,619
30,11.1,20.4,27.7,31.2,53.53,25.94,0.0,0.0,619
31,11.3,20.8,28.2,31.8,53.54,25.85,0.0,0.0,620
32,11.4,20.9,28.3,32.0,53.56,25.75,0.0,0.0,621
33,11.5,21.0,28.6,32.3,53.58,25.64,0.0,0.0,622
34,11.5,21.1,28.7,32.4,53.62,25.53,0.0,0.0,623
35,11.6,21.3,29.0,32.7,53.68,25.41,0.0,0.0,624
36,11.7,21.4,29.2,32.9,53.79,25.28,0.0,0.0,626
37,11.7,21.5,29.3,33.0,53.98,25.16,0.0,0.0,626
38,11.7,21.6,29.4,33.2,54.26,25.03,0.0,0.0,626
39,11.8,21.7,29.5,33.4,54.61,24.91,0.0,0.0,626
40,11.8,21.8,29.7,33.5,54.98,24.80,0.0,0.0,626
41,11.8,21.9,29.8,33.6,55.34,24.69,0.0,0.0,627
42,11.9,21.9,29.9,33.8,55.70,24.58,0.0,0.0,627
43,11.9,21.9,29.9,33.8,56.06,24.48,0.0,0.0,628
44,11.8,21.9,29.9,33.8,56.42,24.39,1.0,0.0,628
45,11.8,21.9,29.9,33.7,57.12,24.22,1.0,0.0,630
47,11.8,21.9,29.9,33.7,57.46,24.15,3.0,0.0,630
48,11.8,21.9,29.9,33.7,57.79,24.08,5.0,0.0,630
49,11.7,21.9,29.9,33.7,58.12,24.01,8.0,0.0,630
50,11.7,21.7,29.7,33.6,58.43,23.95,11.0,0.0,630
51,11.7,21.8,29.9,33.7,58.73,23.90,14.0,0.0,631
52,11.8,21.9,30.0,33.9,59.02,23.84,17.0,1.0,630
53,11.8,21.9,30.0,33.9,59.30,23.79,20.0,1.0,630
54,11.7,21.9,30.0,33.9,59.57,23.74,23.0,1.0,630
55,11.7,21.9,30.0,33.9,59.83,23.69,26.0,1.0,630
56,11.7,21.9,30.0,33.9,60.08,23.65,28.0,1.0,630
57,11.7,21.9,30.0,33.9,60.32,23.61,31.0,1.0,630
58,11.7,21.9,30.0,33.9,60.55,23.57,33.0,1.0,630
59,11.7,21.9,30.0,33.9,60.77,23.54,35.0,1.0,630
msh>

开源地址 - https://gitee.com/jomoly/art_pi2_sen66_i2c

看都看到这里了,小伙伴给三连一下呗!

相关推荐
Wallystech-Linda8 小时前
DR9574 vs DR9574S — Choosing the Right IPQ9574 WiFi 7 Platform for Your Network
嵌入式硬件
森利威尔电子-8 小时前
森利威尔SL8700 降压型大功率 LED 恒流驱动器:5A/95%效率,支持 PWM/模拟调光
单片机·嵌入式硬件·集成电路·芯片·电源芯片
三佛科技-187366133978 小时前
GP8892SEH贴片SOP7省外围5V2A隔离型原边反馈芯片直接替代MT3723
单片机·嵌入式硬件
Quinn279 小时前
正点原子 STM32MP257 修复异核 FreeRTOS 例程 osDelay() 函数比 HAL_Delay() 延时快的问题
stm32·单片机·嵌入式硬件
周周记笔记9 小时前
【元器件专题】三极管性能
单片机·嵌入式硬件
扬帆破浪9 小时前
免费开源AI软件.桌面单机版,可移动的AI知识库,察元 AI桌面版:Windows装包被防病毒拦了 看安装日志和签名链的实战
人工智能·windows·开源·知识图谱
十六年开源服务商10 小时前
2026年用开源CMS建站完整步骤指南
开源
扬帆破浪10 小时前
免费开源AI软件.桌面单机版,可移动的AI知识库,察元 AI桌面版:本地离线知识库的妥协与收益 老电脑跑察元AI的可行边界
人工智能·windows·开源·电脑·知识图谱
不会武功的火柴10 小时前
ModelSim入门实战(三): 批处理一键仿真与波形调试
嵌入式硬件·fpga·仿真·modelsim·ic验证·rtl
xmdy586610 小时前
Flutter+开源鸿蒙实战|校园易生活Day7 个人中心完善+我的发布/收藏+退出登录+主题切换+全局UI美化(项目闭环)
flutter·开源·harmonyos