Environment X6 Sensor

来自Waveshare Wiki
跳转至: 导航搜索
Environment X6 Sensor
{{{name2}}}
{{{name3}}}
功能简介
特性 环境传感器
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 UART

说明

产品简介

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电平,需要经过电平转换,否则传感器会损坏

引脚说明

引脚号 标识 管脚描述
1 VCC 5V 电源正
2 GND 电源地
3 RXD UART 输入
4 TXD UART 输出

协议解析

UART 通信流程

  • 串口默认配置为:数据位 8bit,停止位 1bit,无奇偶校验,无流控制,默认波特率 9600。
  • 协议由 指令头、Data(数据)和 0-add8(校验和)组成。

说明:协议包遵循大端模式原则,即高字节在前,低字节在后。

指令介绍

  • 气体浓度单位
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
  • 查询当前浓度
    • 读取当前浓度命令格式如下:
指令头 校验和
Byte0 Byte1
70 0-add8
  • 查询数据解码
    • 当发送查询当前浓度的命令后,模组会返回如下数据:
指令头 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----------------------指令头
0x42 0x30 0x00 0x00---------0x42300000 IAQ 被检测气体浓度值 转换成浮点数后的值为: 44.000f
0x3D 0x35 0x64 0xF0---------0x3D3564F0 TVOC 被检测气体浓度值 转换成浮点数后的值为: 0.044f
0x3D 0x53 0xD2 0x5B---------0x3D53D25B HCHO 被检测气体浓度值 转换成浮点数后的值为: 0.052f
0x3D 0x08 0x19 0x55---------0x3D081955 CO 被检测气体浓度值 转换成浮点数后的值为: 0.033f
0x0A 0xC8-----------------0x0AC8 = 2760 小数位数为2位,温度为:27.6 ℃
0x27 0x0F-----------------0x270F = 9999 小数位数为2位,湿度为:99.99% rh
0xE0----------------------校验和
  • 读取传感器参数
    • 读取传感器参数命令格式如下:
指令头 气体编号 校验和
Byte0 Byte1 Byte2
72 00 0-add8
  • 查询数据解码
    • 当发送读取传感器参数命令后,模组会返回如下数据:
指令头 气体编号 气体名称 量程 单位 校验值
Byte0 Byte1 Byte2 Byte3-Byte4 Byte5 Byte6
72 00 19 03 E8 02 87
  • 解析表
发送解析:
0x72----------------------指令头 

0x00----------------------IAQ
0x01----------------------TVOC
0x02----------------------HCHO
0x03----------------------CO

0x8D----------------------校验和

接收解析:
0x72----------------------指令头
0x00----------------------IAQ
0x33----------------------被检测气体名称
0x03 0xE8-----------------0x01F4 = 500,量程: 500
0x00----------------------浓度单位,从表【气体浓度单位表】中得出: IAQ
0x87----------------------校验和
  • 读取LED状态
    • 读取LED状态命令格式如下:
指令头 校验和
Byte0 Byte1
74 0-add8
  • 查询数据解码
    • 当发送读取LED状态命令后,模组会返回如下数据:
指令头 LED状态 校验值
Byte0 Byte1 Byte2
74 01 8B
  • 解析表
发送解析:
0x74----------------------指令头
0x8C----------------------校验和

接收解析:
0x74----------------------指令头
0x01----------------------LED闪烁状态(0x00:关闭,其他:闪烁)
0x8B----------------------校验和
  • 设置运行灯状态
    • 下行指令 (Tx) 格式:
指令头 LED控制 校验和
Byte0 Byte1 Byte2
56 00 0-add8
    • 上行数据 (Rx) 格式:
指令头 保留 返回值 校验值
Byte0 Byte1 Byte2-Byte3 Byte4
56 00 4F 4B 10
  • 解析表
发送解析:
0x56----------------------指令头
0x00----------------------关闭运行灯
0xAA----------------------校验和

接收解析:
0x56----------------------指令头
0x00----------------------保留
0x4F 0x4B-----------------设置成功
0x10----------------------校验和
  • 进入休眠模式
    • 进入休眠模式命令格式如下:
指令头 休眠命令 校验和
Byte0 Byte1-Byte5 Byte6
54 73 6C 65 65 70 0-add8
  • 查询数据解码
指令头 保留 返回值 校验值
Byte0 Byte1 Byte2-Byte3 Byte4
54 00 4F 4B 12
  • 解析表
发送解析:
0x54----------------------指令头
0x73 0x6C 0x65 0x65 0x70----ASCII: sleep
0x93----------------------校验和

接收解析:
0x54----------------------指令头
0x00----------------------保留
0x4F 0x4B-----------------执行成功
0x12----------------------校验和
  • 退出休眠模式
指令头 唤醒命令 校验和
Byte0 Byte1-Byte5 Byte6
55 61 77 61 6B 65 0-add8
  • 查询数据解码
指令头 保留 返回值 校验值
Byte0 Byte1 Byte2-Byte3 Byte4
55 00 4F 4B 11
  • 解析表
发送解析:
0x55----------------------指令头
0x61 0x77 0x61 0x6B 0x65----ASCII: awake
0xA2----------------------校验和

接收解析:
0x55----------------------指令头
0x00----------------------保留
0x4F 0x4B-----------------执行成功
0x11----------------------校验和
  • 获取传感器序列号
指令头 校验和
Byte0 Byte1
71 0-add8
  • 查询数据解码
指令头 Sensor SN 校验值
Byte0 Byte1-Byte6 Byte7
71 12 34 56 78 91 23 C7
  • 解析表
发送解析:
0x71----------------------指令头
0x8F----------------------校验和

接收解析:
0x71----------------------指令头
0x12 0x34 0x56 0x78 0x91 0x23---传感器序列号: 123456789123
0xC7----------------------校验和
  • 获取软件版本号
指令头 校验和
Byte0 Byte1
73 0-add8
  • 查询数据解码
指令头 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----------------------指令头
0x69 0x4E 0x6F 0x73 0x65 0x58 0x36 0x32 0x30 0x32 0x35 0x31 0x31 0x31 0x32 0x31 0x34 0x33 0x39
转换成ASCII码:
iNoseX6202511121439
0xA2----------------------校验和

快速测试

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

①发送查询命令
②获取实时数据

Env x6 usb ttl.jpg

产品尺寸

  • Environment-X6-Sensor-size.jpg

树莓派使用

  • 关于树莓派系统安装与使用可以参考这个链接
  • 成功开机后,进行树莓派环境配置

下载程序

sudo apt install gpiod libgpiod-dev
cd ~
git clone https://gitee.com/waveshare/Environment-X6-Sensor.git
cd Environment-X6-Sensor/examples/raspberrypi

UART示例使用

开启树莓派 UART

  • 在树莓派终端输入命令:sudo raspi-config nonint do_serial 2
  • 再弹出的窗口中第一个选择NO,第二个选择YES,最后选择OK.

硬件连接

  • 参考下图进行连接:

Environment-X6-Sensor-details-5.jpg

运行C程序

cd ~/environment-x6-sensor/examples/raspberrypi/c/
make
./main

运行Python程序

cd ~/environment-x6-sensor/examples/raspberrypi/python/example
python main.py

ESP32S3使用

  • 环境搭建完成后,即可连接传感器,下载示例

硬件连接

  • 参考下图进行连接:

Environment-X6-Sensor-details-6.jpg

Arduino esp32示例使用

  • 进入到Environment-X6-Sensor\examples\esp32s3\arduino\environment_x6_sensor_test,双击environment_x6_sensor_test.ino文件
  • 选择开发板:

TOF Laser Range Sensor C 19.png

  • 选择ESP32S3的端口,然后进行编译上传
  • 上传完成后,打开串口监测器,就会输出相关的信息。

esp-idf示例使用

  • 进入到Environment-X6-Sensor\examples\esp32s3\esp-idf,通过vs code打开此路径
  • 选择开发板:

Env x6 esp idf config.jpg

  • 选择ESP32S3的端口,然后进行编译上传
  • 上传完成后,打开串口监测器,就会输出相关的信息。

Micropython示例使用

  • 进入到Environment-X6-Sensor\examples\esp32s3\Micropython,双击environment_x6_sensor_test.py文件
  • 设置芯片型号为esp32,选择好对应的端口:

Env x6 esp mpy config.jpg

  • 选择ESP32S3的端口,然后运行程序
  • Shell就会输出相关的信息。

Raspberrypi Pico使用

硬件连接

  • 参考下图进行连接:

Environment-X6-Sensor-details-7.jpg

arduino pico 示例使用

  • 进入到Environment-X6-Sensor\examples\pico\arduino\environment_x6_sensor_test,双击 environment_x6_sensor_test.ino 打开工程
  • 选择好芯片型号跟端口:

Env x6 pico arduino.jpg

  • 上传完成后,打开串口监测器,就会输出相关的信息。

Micropython示例使用

  • 先给Raspberrypi Pico刷入micropython固件
  • 进入到Environment-X6-Sensor\examples\pico\micropython,双击environment_x6_sensor_test.py文件
  • 选择开发板:

Env x6 pico mpy config.jpg

  • 选择Raspberrypi pico的端口,然后运行程序
  • Shell就会输出相关的信息。

Arduino使用

  • Arduino开发板的IO电平必须为3.3V,如果使用5V的IO电平,需要经过电平转换,否则传感器会损坏
  • 使用waveshare R3/R4需要将以下的跳线帽设置成3.3V,才能使用
  • 关于Arduino的环境搭建跟基本使用,请参考这个R4链接、R3是默认安装。
  • 环境搭建完成后,即可连接传感器,下载示例

Arduino示例使用

硬件连接

  • 参考下图进行连接:

运行程序

  • 进入到Environment-X6-Sensor\examples\arduino\environment_x6_sensor_test,双击environment_x6_sensor_test.ino文件
  • 选择开发板:
  • 选择开发板的端口,然后进行编译上传
  • 上传完成后,打开串口监测器,就会输出相关的信息。

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():获取版本号

效果展示

  • 默认输出实时浓度,如果需要使用其他示例,将不同示例值设置成1即可:
  • Arduino

Env x6 uno.jpg

  • Micropython

Env x6 pico mpy.jpg

  • RPI

Env x6 rpi c.jpg

资料

程序

软件

FAQ

Q1. 波特率是固定9600吗?

是的,目前默认是9600波特率。

技术支持


联系人:黄工
QQ:2850151199
EMAIL:2850151199@qq.com
电话:0755-83040712
微信:扫下方二维码添加
Service20-Weichat.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证