盛思锐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

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

相关推荐
冬奇Lab13 小时前
每日一个开源项目(第145篇):Trellis - 把项目记忆、规范和任务上下文持久化进代码仓库
人工智能·开源·资讯
小爷毛毛_卓寿杰20 小时前
我把一个 3B 模型塞进了 Xinference,然后它干掉了 DeepSeek V3.2
人工智能·开源·github
饼干哥哥1 天前
扣子3.0测评:我让 Codex 和 Claude Code 住同一个桌面,结果它们打架了!
人工智能·开源·代码规范
HelloGitHub1 天前
《HelloGitHub》第 123 期
开源·github
修己xj1 天前
基于 Datasheet 二次开发:一个纯浏览器端的 PostgreSQL 数据分析工具
开源
冬奇Lab2 天前
每日一个开源项目(第144篇):ai-website-cloner-template - 一条命令、多 Agent 并行,把任意网站逆向成 Next.js 代码
前端·人工智能·开源
冬奇Lab4 天前
每日一个开源项目(第142篇):android/skills - Google 官方 Android 开发 AI Skill 库
人工智能·开源·资讯
冬奇Lab4 天前
Skill 系列(06):Skill 工程化与治理——路由准确率 38%、压缩节省 76%
人工智能·开源·agent
冬奇Lab5 天前
Skill 系列(05):Skill 工作流串联——4 种模式实测,并发加速 1.5x
人工智能·开源