- 2024-12-25
-
发表了主题帖:
【英飞凌XENSIV™ PAS CO2 5V Sensor2Go套件】连接单片机
前面是使用的PAS CO2 5V Sensor2Go套件进行测试的,这次准备使用其它单片机直接对传感器进行测量。
根据文档中的要求将单片机和传感器的6个引脚按下图连接:
实物接好线后如下:
主要程序如下。
IIC地址定义:
#define CO2_READ_Addr 0X28
#define CO2_WRITE_Addr 0X29
IIC初始化:
void IIC0_Init(void)
{
struct bflb_device_s* gpio;
gpio = bflb_device_get_by_name("gpio");
/* I2C0_SCL */
bflb_gpio_init(gpio, GPIO_PIN_0, GPIO_FUNC_I2C0 | GPIO_ALTERNATE | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1);
/* I2C0_SDA */
bflb_gpio_init(gpio, GPIO_PIN_1, GPIO_FUNC_I2C0 | GPIO_ALTERNATE | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1);
/* 通信速率400K */
i2c = bflb_device_get_by_name("i2c0");
bflb_i2c_init(i2c, 400000);
}
读取主要几个寄存器值:
while (1)
{
IIC_ReadReg(CO2_READ_Addr, 0x01, Buff, 1);
printf("PASCO2 Reg 01: %d\r\n\r\n",Buff[0]);
bflb_mtimer_delay_ms(50);
IIC_ReadReg(CO2_READ_Addr, 0x02, Buff, 1);
printf("PASCO2 Reg 02: %d\r\n\r\n",Buff[0]);
bflb_mtimer_delay_ms(50);
IIC_ReadReg(CO2_READ_Addr, 0x03, Buff, 1);
printf("PASCO2 Reg 03: %d\r\n\r\n",Buff[0]);
bflb_mtimer_delay_ms(50);
IIC_ReadReg(CO2_READ_Addr, 0x04, Buff, 1);
printf("PASCO2 Reg 04: %d\r\n\r\n",Buff[0]);
bflb_mtimer_delay_ms(50);
IIC_ReadReg(CO2_READ_Addr, 0x05, Buff, 1);
printf("PASCO2 Reg 05: %d\r\n\r\n",Buff[0]);
bflb_mtimer_delay_ms(50);
IIC_ReadReg(CO2_READ_Addr, 0x06, Buff, 1);
printf("PASCO2 Reg 06: %d\r\n\r\n",Buff[0]);
bflb_mtimer_delay_ms(30000);
}
程序运行后,连续测量值如下:
具体分析下01-06寄存器值:
寄存器01:144,16进制:0x90.
根据文档描述:
按照上面的接线方式,ORVS位为何会报错?
寄存器02、03:60
这是缺省值,表示采集周期为60秒,也即一分钟采集一次。
寄存器04:38,16进制:0x26
根据文档描述:
04寄存器中缺省采集模式为空闲模式,之所以现在是连续采集模式,是因为PWM_DIS引脚接地了。
寄存器05、06:CO2浓度值。
根据文档描述:
浓度值为2个有符号补码短整型,从实际测量值来看,高字节为负数,和采用套件及配套软件测量值900ppm左右无法对应,后边将抽时间再继续研究下。
- 2024-12-09
-
回复了主题帖:
有奖活动 | 英飞凌新品情报站:最新5V XENSIV™ PAS CO2传感器
英飞凌CO2传感器实时监测视频:英飞凌CO2传感器
- 2024-12-02
-
上传了资料:
基于树莓派的幸福晚年辅助宝
- 2024-12-01
-
加入了学习《2024感知万物大赛》,观看 2024感知万物大赛作品视频
- 2024-11-30
-
发表了主题帖:
【英飞凌XENSIV™ PAS CO2 5V Sensor2Go套件】测评
XENSIV™ PAS CO2 5V Sensor2Go 套件是英飞凌公司提供的用于评估该公司出品的光声光谱(PAS)CO2传感器。该套件采用即插即用结构,带有I2C接口以及自动基线校正功能,非常方便用户快速评估该款产品的各项性能及技术指标。
该套件如下图所示:
CO2传感器模块本身带有一颗MCU,通过配套的测试底板,用户只要使用自带的micro-USB 电缆将套件连接到电脑上,就可以很方便的对该款传感器进行测评。
首先从官网上下载配套的测试软件ifxpasco2gui_3.3.2_Windows_x64,也可以通过launcher2_2024.8.0_Windows_x86-x64安装配套的测试软件,安装完成后,双击运行该测试软件,界面如下:
此时将传感器套件插入电脑USB口,软件自动检测到了插入的传感器:
点击传感器图标后,软件开始自动检测当前环境的CO2数值,并显示在屏幕上,此时对着传感器吹口气,就会发现检测数值爆表:
等几分钟后,传感器会恢复到正常检测数值:
从上面的测试可以看出,传感器检测还是非常灵敏的,正常情况下,CO2数值不太会有多大的波动。
使用官方套件测试CO2传感器还是非常方便的,后续将会通过官方提供的资料,直接使用自己的MCU来采集传感器数值。
- 2024-11-28
-
加入了学习《Cadence Allegro 17.4零基础入门66讲PCB Layout设计实战视频》,观看 PCB Editor软件向导创建封装介绍(BGA为例)
-
加入了学习《Cadence Allegro 17.4零基础入门66讲PCB Layout设计实战视频》,观看 PCB Editor软件创建插件封装(插针为例)
- 2024-11-27
-
加入了学习《Cadence Allegro 17.4零基础入门66讲PCB Layout设计实战视频》,观看 PCB Editor软件创建贴片封装(STM32为例)
-
加入了学习《Cadence Allegro 17.4零基础入门66讲PCB Layout设计实战视频》,观看 PCB封装库组成元素介绍
-
加入了学习《Cadence Allegro 17.4零基础入门66讲PCB Layout设计实战视频》,观看 Padstack Editor工具介绍
-
加入了学习《Cadence Allegro 17.4零基础入门66讲PCB Layout设计实战视频》,观看 Capture软件原理图输出网表常见错误解析
-
加入了学习《Cadence Allegro 17.4零基础入门66讲PCB Layout设计实战视频》,观看 Capture软件原理图输出各类PCB网表介绍
-
加入了学习《Cadence Allegro 17.4零基础入门66讲PCB Layout设计实战视频》,观看 Capture软件原理图PDF与BOM清单输出
-
加入了学习《Cadence Allegro 17.4零基础入门66讲PCB Layout设计实战视频》,观看 Capture软件原理图DRC检查工具介绍
-
加入了学习《Cadence Allegro 17.4零基础入门66讲PCB Layout设计实战视频》,观看 Capture软件原理图PCB Footprint处理
-
加入了学习《Cadence Allegro 17.4零基础入门66讲PCB Layout设计实战视频》,观看 Capture软件原理图添加差分属性
-
加入了学习《Cadence Allegro 17.4零基础入门66讲PCB Layout设计实战视频》,观看 Capture软件原理图添加Bus总线
-
加入了学习《Cadence Allegro 17.4零基础入门66讲PCB Layout设计实战视频》,观看 Capture软件原理图电源、地联通
-
加入了学习《Cadence Allegro 17.4零基础入门66讲PCB Layout设计实战视频》,观看 Capture软件原理图信号联通
- 2024-10-31
-
发表了主题帖:
【2024 DigiKey创意大赛】基于树莓派的幸福晚年辅助宝
基于树莓派的幸福晚年辅助宝
作者:sumoon_yao
一、项目简介
1、设计名称
基于树莓派的幸福晚年辅助宝
2、项目照片
3、项目用到的板卡
1)、Raspberry Pi 5
处理器:2.4GHz 4核 64位Cortex-A76
内存:4GB LPDDR4X-4267
通讯接口:Wi-Fi 6(802.11ac) 支持2.4GHz和5GHz频段
Bluetooth 5.2 支持低功耗蓝牙连接
1个2.5Gbps 1000M Ethernet
2个USB3.0
2个USB2.0
GPIO:标准40Pin GPIO插头
音视频接口:双micro HDMI接口,支持双4K@60fps视频输出
2-lane MIPI DSI
2-lane MIPI CSI
通过HDMI和3.5mm复合音频接口
MicroSD卡槽:支持更高速的MicroSD卡
PCIe接口: PCIe 2.0 x1接口,支持高速外设连接
2)、加速计传感器模块
加速计、陀螺仪、磁力计
通信接口支持:I2C
3)、BME680传感器模块
支持气压、温度、湿度、VOC检测
通信接口支持:I2C、SPI
计划是买了芯片自己做板子焊接,考虑到BME680芯片是LGA封装,手工焊接不是很方便,所以后来还是在得捷网站上购买了BME680传感器模块,方便测试。
4、项目功能
本项目旨在利用树莓派5的强大性能,作为本项目的主控,实现对前端各类传感器数据的采集、分析处理,然后通过WiFi上传到服务器,同时接收客户端(手机、PC等)发送过来的指令或其它数据(音频等)并做相应处理。从而达到对独居老人生活状况的实时监控,便于子女或亲人实时了解老人的当前状况,对突发事件如跌倒等及时告警并立即采取对应措施。对老人居住环境状况如温湿度、气压等数据可以实时了解,并在必要时可以通过电话等人工手段或者远程启停空调、抽湿机、制氧机等。
二、系统框图
1、设计思路
物联网的应用已经进入各行各业,本项目也是物联网应用的场景之一。
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于 TCP/IP 协议上,由 IBM 在 1999 年发布,并于 2013 年发布为开放标准。MQTT 协议专注于在低带宽、不稳定或高延迟的网络环境中,可靠地传输小型数据包。
MQTT协议具有以下特点:
轻量级:MQTT 的协议开销小,适用于资源受限的设备,如传感器、物联网设备等。
灵活和可扩展:MQTT 支持多种传输层协议,如 TCP/IP、WebSocket 等。它还提供了 QoS(Quality of Service)级别,以确保消息的可靠传输。
异步通信:MQTT 使用发布/订阅模型,发布者和订阅者之间不需要直接通信,使得系统的解耦更容易。
处理低带宽和高延迟网络:MQTT 协议可以在网络连接不稳定或带宽有限的环境中可靠地传输数据。
项目的总体设计思路就是利用树莓派强大的软件功能以及自身所带的丰富外设,通过I2C等接口完成对各类传感器数据的实时采集、分析处理,并通过WiFi等将数据上传到MQTT服务器,用户可以通过PC或者手机订阅MQTT服务器数据,从而达到及时了解老人生活状态,也可在需要时通过MQTT服务器发布控制指令,远程开启老人居住处的空调等设备,或者发送语音信息,提醒老人注意事项。
2、软硬件介绍
硬件部分:树莓派5作为主控器,外加各类传感器模块,如气压、温湿度传感器、加速计传感器等。
软件部分:操作系统采用树莓派自带的嵌入式Linux系统,占用空间不到0.5GB,给应用的开发和维护带来了极大便利;
应用软件主要采用C语言完成,主要功能包括各类传感器数据的采集、分析处理,并将处理后的数据定时或实时发布到MQTT服务器。同时订阅/接收服务器端下发的指令,并作出相应处理,如打开/关闭继电器,给家用电器供/断电,或者播放语音消息等。
3、系统框图
三、各部分功能说明
应用软件分为3大块:
主控:通过MQTT协议发布/订阅消息,也就是负责将各类传感器数据发布到MQTT服务器,并订阅MQTT服务器下发的消息;
传感器数据采集:负责定时采集各类传感器的数据,并做一定的分析处理后交由主控处理;
订阅消息处理:收到MQTT服务器下发的消息后做出相应的处理,如打开或关闭继电器等。
四、作品源码
https://download.eeworld.com.cn/detail/sumoon_yao/635168
五、作品功能演示视频
https://training.eeworld.com.cn/course/68819
六、项目总结
通过本次项目,对物联网的落地应用有了更直观的体会,同时对MQTT协议也有个更深一步的了解。对于项目本身总结如下:
1、由于时间关系,项目只是实现了部分功能,严格来讲原理样机的要求还达不到,后续还需要花时间进一步完善。
2、对于跌倒检测这块,应该属于可穿戴设备范畴,需要考虑电池供电,蓝牙低功耗数据传输等,还需好好规划下产品形态。
3、主控部分,对于成本敏感型产品还需考虑更换更具性价比的平台。