跳到主要内容

Environment X6 Sensor

esp3s3_Matrix_MAIN

产品特性

Environment X6 Sensor 基于德国 EC Sense 固态聚合物电化学技术,采用多电极集成结构与固态电解质体系,通过气体在工作电极表面的电化学反应输出电流信号,实现对目标气体浓度的高灵敏度检测。相比传统的气体传感器,固态聚合物设计具备无漏液、无中毒、基本无漂移、长寿命等优势。

应用场景

  • 智能家居
  • 环境空气质量监测
  • 车载空气净化器
  • 手持空气质量检测仪
  • 工厂车间新风系统

工作原理

固态聚合物电化学传感器内部采用经典三电极体系结构(工作电极 WE、参比电极 RE、对电极 CE),多层印刷式工艺技术,通过单一电极多层催化活性位点设计、扩散调控层结构及智能信号解耦算法,实现了对多种气体的并行检测与识别。

产品参数

Environment X6 Sensor
供电电压5V逻辑电压3.3V
通信接口UART通信波特率9600 bps
测量范围
  • HCHO: 0-1 ppm
  • TVOC: 0-5 ppm
  • CO: 0-100 ppm
分辨率
  • HCHO: 0.001 ppm(有效检出值:0.015 ppm)
  • TVOC: 0.001 ppm(有效检出值:0.050 ppm)
  • CO: 0.001 ppm(有效检出值:<8 ppm)
精度误差
  • HCHO: 0-0.15 ppm(±0.02 ppm);0.16 ppm+(< ±2% FS)
  • TVOC: 0-0.2 ppm(±0.05 ppm);0.2 ppm+(< ±2% FS)
  • CO: 0-8 ppm(±2.5 ppm);8 ppm+(< ±1% FS)
响应时间
  • HCHO: T10 <5 s;T90 <90 s
  • TVOC: T10 <3 s;T90 <120 s
  • CO: T10 <3 s;T90 <15 s
产品尺寸23 × 25.5 × 9.5 mm固定孔径2.0 mm
工作电流6.5 mA工作温度-40 ℃ ~ +55 ℃
工作湿度>15%RH使用寿命10 年
  • 传感器的IO电平为3.3V,如果使用5V的IO电平,需要经过电平转换,否则传感器会损坏

引脚说明

引脚标识管脚描述
1VCC5V 电源正极
2GND地址引脚
3RXDUART 输入
4TXDUART 输出

协议解析

点击展开

UART 通信流程

  • 串口默认配置为:数据位 8bit,停止位 1bit,无奇偶校验,无流控制,默认波特率 9600
  • 协议由 指令头、Data(数据)和 0-add8(校验和)组成
  • 说明:协议包遵循大端模式原则,即高字节在前,低字节在后

指令介绍

通用说明

  • 校验和算法:0-add8(将报文所有字节相加,取低 8 位后按位取反再加 1)
  • 字节序:大端模式(高字节在前,低字节在后)

参考信息

气体浓度单位表

编码单位说明
0x00IAQ室内空气质量指数
0x02ppm百万分比浓度

IAQ 数值等级说明(遵循 EPA 标准):

范围等级
0–50良好
51–100中等
101–150对敏感人群不健康
151–200不健康
201–300非常不健康
301–500危险

传感器类型编号表

气体类型编码
IAQ0x33
TVOC0x18
HCHO0x17
CO0x19

查询当前浓度(0x70)

读取所有气体的实时浓度、温度和湿度。

发送(Tx)

指令头校验和
Byte0Byte1
700-add8

返回(Rx)

指令头IAQ 数据TVOC 数据HCHO 数据CO 数据温度数据湿度数据校验值
Byte0Byte1-Byte4Byte5-Byte8Byte9-Byte12Byte13-Byte16Byte17-Byte18Byte19-Byte20Byte21
7042 30 00 003D 35 64 F03D 53 D2 5B3D 08 19 550A C827 0FE0

示例解析

发送: 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)

指令头气体编号校验和
Byte0Byte1Byte2
72000-add8

气体编号对照:0x00 = IAQ、0x01 = TVOC、0x02 = HCHO、0x03 = CO

返回(Rx)

指令头气体编号气体名称量程单位校验和
Byte0Byte1Byte2Byte3-Byte4Byte5Byte6
72001903 E80287

示例解析

发送: 0x72 0x00 0x8D
│ │ └── 校验和
│ └── 气体编号: IAQ
└── 指令头

返回: 0x72 0x00 0x19 0x03E8 0x02 0x87
│ │ │ │ │ └── 校验和
│ │ │ │ └── 浓度单位: 0x02 = ppm(参见气体浓度单位表)
│ │ │ └── 量程: 0x03E8 = 500
│ │ └── 气体名称: 0x19 = CO(参见传感器类型编号表)
│ └── 气体编号: IAQ
└── 指令头

读取 LED 状态(0x74)

查询运行指示灯的当前状态。

发送(Tx)

指令头校验和
Byte0Byte1
740-add8

返回(Rx)

指令头LED 状态校验值
Byte0Byte1Byte2
74018B

示例解析

发送: 0x74 0x8C
│ └── 校验和
└── 指令头

返回: 0x74 0x01 0x8B
│ │ └── 校验和
│ └── LED 状态: 0x01 = 闪烁(0x00 为关闭,其他值为闪烁)
└── 指令头

设置运行灯状态(0x56)

控制运行指示灯的开关。

发送(Tx)

指令头LED 控制校验和
Byte0Byte1Byte2
56000-add8

LED 控制值:0x00 = 关闭,0x01 = 开启

返回(Rx)

指令头保留返回值校验值
Byte0Byte1Byte2-Byte3Byte4
56004F 4B10

示例解析

发送: 0x56 0x00 0xAA
│ │ └── 校验和
│ └── LED 控制: 关闭运行灯
└── 指令头

返回: 0x56 0x00 0x4F4B 0x10
│ │ │ └── 校验和
│ │ └── 返回值: "OK"(设置成功)
│ └── 保留
└── 指令头

进入休眠模式(0x54)

使传感器进入低功耗休眠状态。

发送(Tx)

指令头休眠命令校验和
Byte0Byte1-Byte5Byte6
5473 6C 65 65 70(ASCII: sleep)0-add8

返回(Rx)

指令头保留返回值校验值
Byte0Byte1Byte2-Byte3Byte4
54004F 4B12

示例解析

发送: 0x54 0x73 0x6C 0x65 0x65 0x70 0x93
│ │ └── 校验和
│ └── ASCII: "sleep"
└── 指令头

返回: 0x54 0x00 0x4F4B 0x12
│ │ │ └── 校验和
│ │ └── 返回值: "OK"(执行成功)
│ └── 保留
└── 指令头

退出休眠模式(0x55)

唤醒传感器,恢复正常工作状态。

发送(Tx)

指令头唤醒命令校验和
Byte0Byte1-Byte5Byte6
5561 77 61 6B 65(ASCII: awake)0-add8

返回(Rx)

指令头保留返回值校验值
Byte0Byte1Byte2-Byte3Byte4
55004F 4B11

示例解析

发送: 0x55 0x61 0x77 0x61 0x6B 0x65 0xA2
│ │ └── 校验和
│ └── ASCII: "awake"
└── 指令头

返回: 0x55 0x00 0x4F4B 0x11
│ │ │ └── 校验和
│ │ └── 返回值: "OK"(执行成功)
│ └── 保留
└── 指令头

获取传感器序列号(0x71)

读取传感器的 6 字节唯一序列号。

发送(Tx)

指令头校验和
Byte0Byte1
710-add8

返回(Rx)

指令头Sensor SN校验值
Byte0Byte1-Byte6Byte7
7112 34 56 78 91 23C7

示例解析

发送: 0x71 0x8F
│ └── 校验和
└── 指令头

返回: 0x71 0x12 0x34 0x56 0x78 0x91 0x23 0xC7
│ │ └── 校验和
│ └── 传感器序列号: 123456789123
└── 指令头

获取软件版本号(0x73)

读取传感器的固件版本信息。

发送(Tx)

指令头校验和
Byte0Byte1
730-add8

返回(Rx)

指令头Firmware Version校验值
Byte0Byte1-Byte19Byte20
7369 4E 6F 73 65 58 36 32 30 32 35 31 31 31 32 31 34 33 39A2

示例解析

发送: 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 TO TTL (B)
  • 开始测试

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

  • ②获取实时数据

    USB TO TTL (B)