Environment X6 Sensor
产品特性
Environment X6 Sensor 基于德国 EC Sense 固态聚合物电化学技术,采用多电极集成结构与固态电解质体系,通过气体在工作电极表面的电化学反应输出电流信号,实现对目标气体浓度的高灵敏度检测。相比传统的气体传感器,固态聚合物设计具备无漏液、无中毒、基本无漂移、长寿命等优势。
应用场景
- 智能家居
- 环境空气质量监测
- 车载空气净化器
- 手持空气质量检测仪
- 工厂车间新风系统
工作原理
固态聚合物电化学传感器内部采用经典三电极体系结构(工作电极 WE、参比电极 RE、对电极 CE),多层印刷式工艺技术,通过单一电极多层催化活性位点设计、扩散调控层结构及智能信号解耦算法,实现了对多种气体的并行检测与识别。
产品参数
| Environment X6 Sensor | |||
|---|---|---|---|
| 供电电压 | 5V | 逻辑电压 | 3.3V |
| 通信接口 | UART | 通信波特率 | 9600 bps |
| 测量范围 |
| 分辨率 |
|
| 精度误差 |
| 响应时间 |
|
| 产品尺寸 | 23 × 25.5 × 9.5 mm | 固定孔径 | 2.0 mm |
| 工作电流 | 6.5 mA | 工作温度 | -40 ℃ ~ +55 ℃ |
| 工作湿度 | >15%RH | 使用寿命 | 10 年 |
- 传感器的IO电平为3.3V,如果使用5V的IO电平,需要经过电平转换,否则传感器会损坏
引脚说明
| 引脚 | 标识 | 管脚描述 |
|---|---|---|
| 1 | VCC | 5V 电源正极 |
| 2 | GND | 地址引脚 |
| 3 | RXD | UART 输入 |
| 4 | TXD | UART 输出 |
协议解析
点击展开
UART 通信流程
- 串口默认配置为:数据位 8bit,停止位 1bit,无奇偶校验,无流控制,默认波特率 9600
- 协议由 指令头、Data(数据)和 0-add8(校验和)组成
- 说明:协议包遵循大端模式原则,即高字节在前,低字节在后
指令介绍
通用说明
- 校验和算法:0-add8(将报文所有字节相加,取低 8 位后按位取反再加 1)
- 字节序:大端模式(高字节在前,低字节在后)
参考信息
气体浓度单位表
| 编码 | 单位 | 说明 |
|---|---|---|
| 0x00 | IAQ | 室内空气质量指数 |
| 0x02 | ppm | 百万分比浓度 |
IAQ 数值等级说明(遵循 EPA 标准):
| 范围 | 等级 |
|---|---|
| 0–50 | 良好 |
| 51–100 | 中等 |
| 101–150 | 对敏感人群不健康 |
| 151–200 | 不健康 |
| 201–300 | 非常不健康 |
| 301–500 | 危险 |
传感器类型编号表
| 气体类型 | 编码 |
|---|---|
| IAQ | 0x33 |
| TVOC | 0x18 |
| HCHO | 0x17 |
| CO | 0x19 |
查询当前浓度(0x70)
读取所有气体的实时浓度、温度和湿度。
发送(Tx)
| 指令头 | 校验和 |
|---|---|
| Byte0 | Byte1 |
| 70 | 0-add8 |
返回(Rx)
| 指令头 | IAQ 数据 | TVOC 数据 | HCHO 数据 | CO 数据 | 温度数据 | 湿度数据 | 校验值 |
|---|---|---|---|---|---|---|---|
| Byte0 | Byte1-Byte4 | Byte5-Byte8 | Byte9-Byte12 | Byte13-Byte16 | Byte17-Byte18 | Byte19-Byte20 | Byte21 |
| 70 | 42 30 00 00 | 3D 35 64 F0 | 3D 53 D2 5B | 3D 08 19 55 | 0A C8 | 27 0F | E0 |
示例解析
发送: 0x70 0x90
│ └── 校验和
└── 指令头
返回: 0x70 0x42300000 0x3D3564F0 0x3D53D25B 0x3D081955 0x0AC8 0x270F 0xE0
│ │ │ │ │ │ │ └── 校验和
│ │ │ │ │ │ └── 湿度: 0x270F = 9999 → 99.99% RH(小数位2位)
│ │ │ │ │ └── 温度: 0x0AC8 = 2760 → 27.60 ℃(小数位2位)
│ │ │ │ └── CO: IEEE754 浮点 → 0.033 ppm
│ │ │ └── HCHO: IEEE754 浮点 → 0.052 ppm
│ │ └── TVOC: IEEE754 浮点 → 0.044 ppm
│ └── IAQ: IEEE754 浮点 → 44.000
└── 指令头
读取传感器参数(0x72)
查询指定气体通道的检测范围和浓度单位。
发送(Tx)
| 指令头 | 气体编号 | 校验和 |
|---|---|---|
| Byte0 | Byte1 | Byte2 |
| 72 | 00 | 0-add8 |
气体编号对照:0x00 = IAQ、0x01 = TVOC、0x02 = HCHO、0x03 = CO
返回(Rx)
| 指令头 | 气体编号 | 气体名称 | 量程 | 单位 | 校验和 |
|---|---|---|---|---|---|
| Byte0 | Byte1 | Byte2 | Byte3-Byte4 | Byte5 | Byte6 |
| 72 | 00 | 19 | 03 E8 | 02 | 87 |
示例解析
发送: 0x72 0x00 0x8D
│ │ └── 校验和
│ └── 气体编号: IAQ
└── 指令头
返回: 0x72 0x00 0x19 0x03E8 0x02 0x87
│ │ │ │ │ └── 校验和
│ │ │ │ └── 浓度单位: 0x02 = ppm(参见气体浓度单位表)
│ │ │ └── 量程: 0x03E8 = 500
│ │ └── 气体名称: 0x19 = CO(参见传感器类型编号表)
│ └── 气体编号: IAQ
└── 指令头
读取 LED 状态(0x74)
查询运行指示灯的当前状态。
发送(Tx)
| 指令头 | 校验和 |
|---|---|
| Byte0 | Byte1 |
| 74 | 0-add8 |
返回(Rx)
| 指令头 | LED 状态 | 校验值 |
|---|---|---|
| Byte0 | Byte1 | Byte2 |
| 74 | 01 | 8B |
示例解析
发送: 0x74 0x8C
│ └── 校验和
└── 指令头
返回: 0x74 0x01 0x8B
│ │ └── 校验和
│ └── LED 状态: 0x01 = 闪烁(0x00 为关闭,其他值为闪烁)
└── 指令头
设置运行灯状态(0x56)
控制运行指示灯的开关。
发送(Tx)
| 指令头 | LED 控制 | 校验和 |
|---|---|---|
| Byte0 | Byte1 | Byte2 |
| 56 | 00 | 0-add8 |
LED 控制值:0x00 = 关闭,0x01 = 开启
返回(Rx)
| 指令头 | 保留 | 返回值 | 校验值 |
|---|---|---|---|
| Byte0 | Byte1 | Byte2-Byte3 | Byte4 |
| 56 | 00 | 4F 4B | 10 |
示例解析
发送: 0x56 0x00 0xAA
│ │ └── 校验和
│ └── LED 控制: 关闭运行灯
└── 指令头
返回: 0x56 0x00 0x4F4B 0x10
│ │ │ └── 校验和
│ │ └── 返回值: "OK"(设置成功)
│ └── 保留
└── 指令头
进入休眠模式(0x54)
使传感器进入低功耗休眠状态。
发送(Tx)
| 指令头 | 休眠命令 | 校验和 |
|---|---|---|
| Byte0 | Byte1-Byte5 | Byte6 |
| 54 | 73 6C 65 65 70(ASCII: sleep) | 0-add8 |
返回(Rx)
| 指令头 | 保留 | 返回值 | 校验值 |
|---|---|---|---|
| Byte0 | Byte1 | Byte2-Byte3 | Byte4 |
| 54 | 00 | 4F 4B | 12 |
示例解析
发送: 0x54 0x73 0x6C 0x65 0x65 0x70 0x93
│ │ └── 校验和
│ └── ASCII: "sleep"
└── 指令头
返回: 0x54 0x00 0x4F4B 0x12
│ │ │ └── 校验和
│ │ └── 返回值: "OK"(执行成功)
│ └── 保留
└── 指令头
退出休眠模式(0x55)
唤醒传感器,恢复正常工作状态。
发送(Tx)
| 指令头 | 唤醒命令 | 校验和 |
|---|---|---|
| Byte0 | Byte1-Byte5 | Byte6 |
| 55 | 61 77 61 6B 65(ASCII: awake) | 0-add8 |
返回(Rx)
| 指令头 | 保留 | 返回值 | 校验值 |
|---|---|---|---|
| Byte0 | Byte1 | Byte2-Byte3 | Byte4 |
| 55 | 00 | 4F 4B | 11 |
示例解析
发送: 0x55 0x61 0x77 0x61 0x6B 0x65 0xA2
│ │ └── 校验和
│ └── ASCII: "awake"
└── 指令头
返回: 0x55 0x00 0x4F4B 0x11
│ │ │ └── 校验和
│ │ └── 返回值: "OK"(执行成功)
│ └── 保留
└── 指令头
获取传感器序列号(0x71)
读取传感器的 6 字节唯一序列号。
发送(Tx)
| 指令头 | 校验和 |
|---|---|
| Byte0 | Byte1 |
| 71 | 0-add8 |
返回(Rx)
| 指令头 | Sensor SN | 校验值 |
|---|---|---|
| Byte0 | Byte1-Byte6 | Byte7 |
| 71 | 12 34 56 78 91 23 | C7 |
示例解析
发送: 0x71 0x8F
│ └── 校验和
└── 指令头
返回: 0x71 0x12 0x34 0x56 0x78 0x91 0x23 0xC7
│ │ └── 校验和
│ └── 传感器序列号: 123456789123
└── 指令头
获取软件版本号(0x73)
读取传感器的固件版本信息。
发送(Tx)
| 指令头 | 校验和 |
|---|---|
| Byte0 | Byte1 |
| 73 | 0-add8 |
返回(Rx)
| 指令头 | Firmware Version | 校验值 |
|---|---|---|
| Byte0 | Byte1-Byte19 | Byte20 |
| 73 | 69 4E 6F 73 65 58 36 32 30 32 35 31 31 31 32 31 34 33 39 | A2 |
示例解析
发送: 0x73 0x8D
│ └── 校验和
└── 指令头
返回: 0x73 0x694E6F736558363230323531313132313433390 0xA2
│ │ └── 校验和
│ └── ASCII: "iNoseX6202511121439"(固件版本号)
└── 指令头
API简介
点击展开
environment_x6_init():Environment X6 Sensor初始化environment_x6_get_concentration():获取实时浓度值environment_x6_get_sensor_param():获取传感器参数,包括检测范围跟单位environment_x6_get_led():获取LED的状态,开还是关environment_x6_set_led():设置LED的状态environment_x6_sleep():使传感器进入休眠environment_x6_wakeup():唤醒传感器environment_x6_get_serial():获取SN码environment_x6_get_version():获取版本号
快速测试
-
测试准备
- Windows电脑
- USB TO TTL (B) 1PCS
- Environment X6 Sensor 1PCS
- 配套线材
-
硬件连接
-
参考下图进行连接

-
-
开始测试
- 把串口连接电脑 USB 口
- 使用串口调试助手(SSCOM),选择好对应的端口号,波特率选9600,打开串口,并将校验位选择0-add8
- 以十六进制发送命令:70,则可读取数据:
- 把串口连接电脑 USB 口
-
①发送查询命令
-
②获取实时数据

