0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自适应曲线缩放传感器显示终端

我快闭嘴 来源:嵌入式应用研究院 作者:嵌入式应用研究院 2022-09-05 15:02 次阅读

周末两天深圳由于疫情开启了静默模式,因此没办法出去玩耍啦!既然没法出去,躺平是不可能的,那么,肝起来!此次给大家带来的一个开源项目:自适应曲线缩放传感器显示终端,废话不多说,上视频

这是刚开始做的效果:

新增加功能:

开源仓库:

https://github.com/Yangyuanxin/QT-Sensor
https://gitee.com/morixinguan/QT-Sensor

获取方法:

gitclonehttps://github.com/Yangyuanxin/QT-Sensor
gitclonehttps://gitee.com/morixinguan/QT-Sensorg

该项目功能仍不完善,还需持续维护,敬请期待!

1、上位机部分

0775fcc0-2c69-11ed-ba43-dac502259ad0.png

078530aa-2c69-11ed-ba43-dac502259ad0.png

项目的上位机部分采用QT5开发,QT在嵌入式跨平台应用来说真的是YYDS啦,因此界面和逻辑都可以在Window端开发完成,整体代码结构如下:

07aad6a2-2c69-11ed-ba43-dac502259ad0.png

最终选择移植到的是韦东山老师的百问网imx6ull开发板,通信方式选择USB虚拟串口来实现,即通过在Linux内核中配置虚拟串口,如下图所示:

07c886b6-2c69-11ed-ba43-dac502259ad0.png

重新编译内核,下载到开发板后,USB口就可以当串口来使用了!具体体现的设备节点是:

/dev/ttyUSB0
/dev/ttyACM0
/dev/tty...

我自己的板子上看到的是这样的:

07fe4f58-2c69-11ed-ba43-dac502259ad0.png

QT的上位机编写完成以后需要进行交叉编译,这样才能够移植到开发板上使用,具体步骤参考:

手把手之如何在嵌入式Linux上运行QT应用程序(以百问网imx6ull开发板为例)

另外,在使用这个程序的过程中发现LCD的背光太亮了,于是我就实现了一个调节背光的函数,这样就可以让背光降到较为舒适的亮度,具体实现如下:

intMainWindow::SetBacklight(intLevel)
{
intRet=-1;
FILE*Fp=NULL;
charBuf[10]={0};

Fp=fopen("/sys/class/backlight/backlight/brightness","w");
if(NULL==Fp)
{
printf("fopenbacklightdevfail!
");
return-1;
}

snprintf(Buf,sizeof(Buf),"%d",Level);
Buf[strlen(Buf)]='';

Ret=fwrite(Buf,strlen(Buf)+1,1,Fp);
if(1!=Ret)
{
printf("fwritefail!
");
return-1;
}

fflush(Fp);
fclose(Fp);
Fp=NULL;

return0;
}

背光设置的亮度设置为3就可以了,不会因为屏幕太亮而伤眼睛。

2、设备端部分

设备端采用小熊派开发平台+E53传感器扩展板+自定义十六进制通信协议实现。整体代码结构如下:

081fa036-2c69-11ed-ba43-dac502259ad0.png

目录设计思路请参考我之前的文章:

开发者成长激励计划-基于TencentOS Tiny FDM 3D打印机云控制系统方案

2.1、通信协议
帧头 数据长度 传感器类型 数据高位 数据低位 校验和高位 校验和低位
1 Byte 1 Byte 1 Byte 1 Byte 1 Byte 1 Byte 1 Byte

帧头:固定为0xAA

数据长度:从传感器模式一直到数据低位

传感器类型:默认为0,即为MQ-2气体传感器,具体类型如下表所示:

传感器类型 含义
0 E53_SF1 MQ-2气体传感器
1 E53_SC1 Bh750光强传感器
2 待添加
3 待添加

数据高位:(AD_Value &0xFF00) >> 8

数据低位:AD_Value &0x00FF

校验和高位:((传感器模式 + 数据高位 + 数据低位) &0xFF00) >> 8

校验和低位:(传感器模式 + 数据高位 + 数据低位) &0x00FF

设备端默认以100ms频率上报。

2.2、结构体定义与数据打包
2.2.1、结构体定义
typedefstructSensorProtocol
{
uint8_tFrameHeader;//帧头
uint8_tLength;//数据长度
uint8_tType;//传感器类型
uint8_tValueHBit;//数据高位
uint8_tValueLBit;//数据低位
uint8_tChecksumHBit;//校验和高位
uint8_tChecksumLBit;//校验和低位
}SensorProtocol;
SensorProtocolProtocol;
2.2.2、数据打包
voidSensorProcolPacket(uint8_tType,uint16_tval)
{
Protocol.FrameHeader=0xAA;
Protocol.Length=sizeof(Protocol.Type)+
sizeof(Protocol.ValueHBit)+
sizeof(Protocol.ValueLBit);
Protocol.Type=Type;
Protocol.ValueHBit=(val&0xFF00)>>8;
Protocol.ValueLBit=val&0x00FF;
Protocol.ChecksumHBit=((Protocol.Type+
Protocol.ValueHBit+
Protocol.ValueLBit)&0xFF00)>>8;
Protocol.ChecksumHBit=(Protocol.Type+
Protocol.ValueHBit+
Protocol.ValueLBit)&0x00FF;
}

目前设备端仅支持E53_SF1(MQ-2气体传感器)以及E53_SC1(光强传感器),后续待持续添加。

后续,请持续关注Git仓库,敬请期待,好了,我要继续干活了!

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2550

    文章

    51035

    浏览量

    753063
  • 开源
    +关注

    关注

    3

    文章

    3309

    浏览量

    42471
  • Qt
    Qt
    +关注

    关注

    1

    文章

    302

    浏览量

    37899

原文标题:开源项目-十六进制协议传感器自适应缩放曲线显示终端(百问网imx6ull & 小熊派结合)

文章出处:【微信号:嵌入式应用研究院,微信公众号:嵌入式应用研究院】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    图片和显示框分别自适应缩放

    两种情况:显示框大小不变,自动缩放图片显示框随着图片的大小显示
    发表于 03-23 12:03

    自适应数字传感器设计

    试验结果及结论振动实验测试数据结果如表2所示。结果分析:(1)当被测加速度传感器输出电压信号在10 mV以下时,万用表无法显示实际电压信号。而自适应数字传感器能够完整地测得试验数据。
    发表于 11-08 16:23

    基于LMS自适应噪声抵消法的无位置传感器研究

    反电动势而获得过零点进行位置检测。  1设计原理  1.1 自适应噪声基本原理  信号源被传送到信号传感器,会附加不相关的噪声n(k),合并的信号为y(k)=s(k)+n(k)进入抵消。噪声
    发表于 11-14 14:57

    自适应可变磁阻传感器LM1815的下载资料推荐

    自适应可变磁阻传感器LM1815的资料下载内容包括:LM1815引脚功能和内部方框图LM1815典型应用电路
    发表于 03-22 06:32

    LabVIEW开发自适应降噪ANC

    )+v1(n),从s(n)+v1(n)删除v1(n),可以使用自适应过滤器。 首先,必须使用传感器来仅获取喷气发动机噪声v2(n),并将此信号送到自适应滤波。如果s(n)与喷气发动机
    发表于 11-30 19:38

    传感器特性曲线自适应分段最佳拟合及应用

    为了减小传感器的非线性误差问题,提出了一种传感器的非线性传输曲线自适应分段最佳逼近拟合方法, 介绍了该方法的数学模型和应用实例,实验结果表明, 应用本方法, 使
    发表于 06-22 13:24 37次下载

    称重传感器自适应动态补偿设计

    为满足快速称重的要求,采用一种简单的跟踪参考序列的模型参考自适应方案,设计出一种新型的称重传感器自适应动态补偿. 仿真表明,有效地提高了称重传感器
    发表于 07-03 08:42 28次下载

    传感器在线自适应加权融合跟踪算法

    针对多传感器机动目标的跟踪问题, 提出了一种多传感器在线自适应加权融合跟踪算法Z该算法依据估计的各传感器的方差的变化, 及时调整参与融合的各传感器
    发表于 07-04 08:54 16次下载

    称重传感器自适应补偿器的设计

    为适合快速称重的要求,采用一种简单的跟踪参考序列的模型参考自适应方案,设计出一种新型的称重传感器自适应动态补偿,仿真结果,该补偿有效的提
    发表于 07-09 13:29 22次下载

    自适应可变磁阻传感器放大器及其应用

    自适应可变磁阻传感器放大器及其应用 LM1815是省略门电路的自适应传感放大器,适用于马达控制。LM1
    发表于 02-08 23:16 888次阅读
    <b class='flag-5'>自适应</b>可变磁阻<b class='flag-5'>传感器</b>放大器及其应用

    基于低能耗自适应的水下传感器网络定位算法

    基于低能耗自适应的水下传感器网络定位算法_张敏
    发表于 01-03 17:41 1次下载

    基于自适应滑模观测的永磁同步电机无位置传感器控制

    基于自适应滑模观测的永磁同步电机无位置传感器控制_陈炜
    发表于 01-05 15:34 22次下载

    无线传感器网络的系统化自适应建模_钟杰卓

    无线传感器网络的系统化自适应建模_钟杰卓
    发表于 01-08 10:47 0次下载

    基于无源传感器协同的机载雷达自适应辐射控制算法_戴春亮

    基于无源传感器协同的机载雷达自适应辐射控制算法_戴春亮
    发表于 01-08 10:57 0次下载

    基于自适应曝光的CMOS图像传感器的设计与实现

    关键词:CMOS , 图像传感器 从硬件结构、曝光策略和模拟结果入手,在传统滚筒式曝光基础上,通过对用户设定区域像素饱和值的统计和曝光时间选择算法,提出了一种CMOS图像传感器大动态范围自适应曝光
    发表于 02-14 14:37 507次阅读