一种使用Qt的姿态传感器显控设计与实现

合集下载

基于Qt的汽车车速仪表盘的设计

基于Qt的汽车车速仪表盘的设计

研究生课程论文基于Qt的汽车车速仪表盘的设计学院:信息工程学院专业:交通信息工程及控制课程:嵌入式系统及应用姓名:学号:授课教师:一研究背景仪表作为汽车整个系统中十分重要的部分,是提高汽车综合性能的重要方面之一。

随着计算机软硬件技术、总线技术、电子技术等的快速发展,控制系统臃肿、接线布线复杂、占用空间大的传统电磁机械仪表渐渐被淘汰,虚拟仪表正以传统机械仪表无法比拟的速度迅猛发展。

目前虚拟仪表通常包括纯数字仪表和虚拟仪表盘仪表两种:纯数字仪表成本较低,但功能和界面比较简单,满足不了一般驾驶员的需求;而现有的虚拟仪表盘仪表虽然功能和界面比较丰富,但又存在着开发成本高、可移植性和可重绘性差、可扩展性不足等缺点,不利于大范围的推广与应用。

针对传统仪表和现有仪表存在的不足,本文提出了一种新型的车载虚拟仪表设计方案,采用ARM处理器S3C6410为核心的硬件平台和以嵌入式Linux系统为核心的软件平台,并在此基础上采用开放源代码的图形界面库QT开发仪表终端应用程序。

该虚拟仪表可读性好,读数精度高,在可移植性、可维护性和成本方面都得到了良好的改善,具有较大的科研价值和商业使用价值。

本文目前只实现了仪表中关于车速的终端应用程序。

二开发环境2.1 Ubuntu与Qt简介Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。

Ubuntu 拥有很多优点。

相对于其他版本的Linux,Ubuntu也有着自己的优势。

首先,安装系统非常简单,只需要非常少的设置即可,完全可以和Windows桌面系统相媲美;其次,图形界面很人性化,模仿了在xp下常用的快捷键;还有,安装和升级程序时,可以通过网络,由系统自行安装依赖的文件包,从此不必再为Linux系统的依赖关系大伤脑筋。

Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

基于qt的传感器上位机软件设计与应用开题报告

基于qt的传感器上位机软件设计与应用开题报告

基于qt的传感器上位机软件设计与应用开题报告基于Qt的传感器上位机软件设计与应用开题报告研究背景•传感器技术的发展与应用•上位机软件在传感器数据采集与处理中的重要性目标与意义•设计一款基于Qt的传感器上位机软件•实现传感器数据的实时采集、显示和分析•提升传感器数据处理效率与准确性研究内容1.Qt框架及其特点2.传感器的种类和工作原理3.上位机软件的设计与实现方法4.传感器数据的采集与处理算法5.软件界面的设计与优化研究方法•文献综述:对Qt框架、传感器技术和上位机软件进行深入调研•软件开发:使用Qt Creator开发环境进行软件编程与界面设计•数据分析:使用Python进行传感器数据的处理与分析预期成果•开发一款稳定、可靠的基于Qt的传感器上位机软件•实现传感器数据的实时监测与可视化•提供数据分析与报表功能•验证软件的功能性、稳定性和实用性计划安排1.第一阶段:调研与需求分析。

时间:1个月2.第二阶段:软件设计与开发。

时间:3个月3.第三阶段:软件测试与优化。

时间:2个月4.第四阶段:数据处理与分析。

时间:1个月5.第五阶段:撰写论文与准备答辩。

时间:1个月可能面临的挑战1.数据传输与通信的稳定性问题2.界面设计的易用性与用户体验问题3.数据处理算法的优化与效率问题4.软件的兼容性与可扩展性问题预期影响与应用•提升传感器数据的采集与处理效率•为各行业提供可靠的传感器数据监测与分析工具•推动传感器技术在科学研究和工业生产中的应用结束语本文开题报告介绍了基于Qt的传感器上位机软件的设计与应用研究。

通过研究传感器技术、Qt框架和上位机软件设计方法,我们将致力于开发一款稳定、可靠的传感器上位机软件,并提供数据的实时监测、处理与分析功能,以满足不同行业的需求。

预计完成时间为8个月,如期实现预期成果,将为传感器技术的推广与应用做出贡献。

研究背景随着科技的不断进步和应用领域的拓展,传感器技术在各个行业中起到越来越重要的作用。

基于QT图像显示系统课程设计

基于QT图像显示系统课程设计

基于QT图像显示系统课程设计一、教学目标本课程的教学目标是使学生掌握QT图像显示系统的基本原理和应用方法,具备使用QT进行图像显示编程的能力。

具体目标如下:1.知识目标:•掌握QT图像显示系统的基本概念和原理。

•了解QT图像显示系统的应用领域和发展趋势。

•熟悉QT图像显示系统的主要功能和特性。

2.技能目标:•能够使用QT图像显示系统进行图像显示编程。

•能够运用QT图像显示系统解决实际问题。

•具备对QT图像显示系统进行简单的优化和调试能力。

3.情感态度价值观目标:•培养学生对新技术的敏感性和好奇心,激发学生对QT图像显示系统的兴趣。

•培养学生具备创新精神和团队合作意识,鼓励学生积极参与QT图像显示系统的开发和应用。

•培养学生具备良好的职业道德和责任感,使学生认识到QT图像显示系统在实际应用中的重要性和影响力。

二、教学内容根据课程目标,本课程的教学内容主要包括以下几个方面:1.QT图像显示系统的基本概念和原理:介绍QT图像显示系统的定义、发展和应用领域,解释QT图像显示系统的工作原理和关键技术。

2.QT图像显示系统的主要功能和特性:讲解QT图像显示系统的各项功能和特性,包括图像显示、图像处理、图像分析等,并通过实例进行展示和解释。

3.QT图像显示系统的应用方法:教授如何使用QT图像显示系统进行图像显示编程,包括QT图像显示系统的安装和配置、基本编程方法和技巧等。

4.QT图像显示系统的实际应用案例:分析和学习一些QT图像显示系统的实际应用案例,使学生了解QT图像显示系统的应用范围和潜力。

三、教学方法为了实现课程目标,本课程将采用多种教学方法相结合的方式进行教学,包括:1.讲授法:通过教师的讲解和演示,向学生传授QT图像显示系统的基本概念、原理和功能。

2.案例分析法:通过分析和学习实际应用案例,使学生了解QT图像显示系统的应用方法和实际效果。

3.实验法:安排实验课程,让学生亲自动手进行QT图像显示编程实践,培养学生的实际操作能力和解决问题的能力。

基于Qt的小目标探测声纳显控软件设计

基于Qt的小目标探测声纳显控软件设计
524
软件工程与应用
何睿 等
Figure 2. Display and control software interface 图 2. 显控软件界面
A 信息显示区:包含当前时间、光标位置信息、航速、航向、纵横摇信息、工作状态及报警状态显 示。
B 跟踪目标信息显示区:显示当前手动或自动跟踪目标的批号、距离、方位、速度信息。 C 放大区:以光标为中心将回波放大显示。 D 回波显示区:显示回波信息数据。 E 发射参数设置区:包含显示方式、量程、发射方式、脉宽、频率、俯仰角度、功率控制、扇面发 射角度设置、发射启动、发射停止控制。 F 接收参数设置区:包含门限、TVG、MGC、归一化、静目标抑制、多帧累积、自动跟踪、警戒区 域设置、幅度放大、幅度缩小控制。 G 画面记录及回放区:包含画面记录及画面回放显示。 F 参数设置及关机区:参数设置及关机按钮。
关键词
小目标探测声纳,Qt,图像处理,静态目标抑制
Display and Control Software Design of Small Target Detection Sonar Based on Qt
Rui He1, Yanpeng Wang1*, Qirui Feng1, Huifeng Wang1, Bo Yan2 1CNOOC Safety Technology Service Co., Ltd., Tianjin 2CNOOC Oilfield Services Co., Ltd., Beijing
QPushButton 控件是一个非常常用的按钮控件,它继承自 QABstractButton。采用 clicked()实现发射控 制、幅度控制。
3. UDP 数据传输
数据发送方通过源端口发送 udp 数据报文[4]。Udp 协议使用标头中的校验和来确保数据安全。 校验 和是由数据发送者的一个特殊算法计算出来的,如果一批数据在传输过程中损坏,发送者和接收者的计 算值将不匹配,并将检查传输是否有错误。

基于Qt的手持式监测接收机人机交互界面设计与实现

基于Qt的手持式监测接收机人机交互界面设计与实现

随着无线电通信技术以及无线电子设备的发展,城市环境下的电磁环境越来越复杂,不同无线电系统间干扰以及人为干扰频发,非法异常信号干扰人们正常生活的现象频繁发生。

为了更加高效的利用频谱资源、保护人们的信息安全,就需要对无线电信号进行监测和管理,对非法的无线电干扰信号进行查处。

监测接收机是进行无线电频谱监测、查找干扰源的重要工具。

其中,小型化的手持式监测接收机是进行现场干扰源搜索与查找的必备工具,具备一个友好的人机交互界面将有助于其发挥更好的作用。

干扰就是使用非法的信号占用合法信号的频率资源,造成合法信号通信的中断,对信号频域的分析是查找干扰信号的有效手段。

利用手持式监测接收机进行干扰信号的现场查找时,就是使用接收机扫描一定频段内的信号,分析得到信号频谱,通过观察频谱图来发现干扰信号,对于间歇性的干扰信号可通过三维瀑布图进行查找。

由此可见,频谱图和瀑布图的显示是手持式监测接收机人机界面必须具备的功能。

同时,由于扫描速度是手持式监测接收机的一项重要指标,扫描速度越快越有利于发现干扰信号,这就对频谱图和瀑布图的刷新速度提出了很高的要求。

本文将基于Qt开发环境设计一款人机交互软件,实现手持式监测接收机频谱图和瀑布图的高效刷新显示。

1 人机交互界面设计■1.1 开发工具选择Qt是一个跨平台的用于创建精彩用户界面和强大原生应用的框架,它包括一套跨平台的类库、一套整合的开发工具和一个跨平台的集成开发环境Qt Creator,是进行人机交互界面开发的最佳选择之一,与其他图形界面开发工具相比,它具有更优秀的跨平台特性,能够实现“一次编写,随处编译”。

Qt中提供了两种开发人机交互界面的方式:Qt 高级用户界面工具包,它包括描述性语言QMl、大量的用户界面元素、C++与QMl混合编程等众多技术,使用它可轻松完成移动应用、嵌入式设备等用户界面的开发。

本文所要设计的手持式监测接收机人机交互界面需要具备频谱图与瀑布图的高效刷新显示,还需要具备友好的人机交互,支持触控以及手势操作,方便用户操控设备,对显示图形进行缩放操作,观看频谱细节。

嵌入式系统虚拟仪表设计

嵌入式系统虚拟仪表设计

专业综合实践报告——嵌入式系统虚拟仪表设计学生姓名学号教学院系电气信息学院专业年级自动化2011级指导教师完成日期2015 年 3 月20 日摘要针对传统仪表和现有仪表存在的不足,本文提出了一种新型的虚拟仪表设计方案,采用arm处理器为核心的硬件平台和以嵌入式linux系统为核心的软件平台,并在此基础上采用开放源代码的图形界面库qt开发仪表终端应用程序。

该虚拟仪表可读性好,读数精度高,在可移植性、可维护性和成本方面都得到了良好的改善,具有较大的科研价值和商业使用价值本文所介绍的车载虚拟仪表的基本设计思想是将司钻监控系统上安装的各种传感器采集到的数据进行智能化的处理,然后在运行于嵌入式linux系统的使用qt设计的虚拟仪表盘上进行显示,以便于监测各系统的工作状况,如悬重钻压钻速泥浆返回流量泥浆泵冲速立管压力转盘转速转盘扭矩游车高度等,并在某状态出现异常或存在危险时向操作员提示报警。

【关键词】:虚拟仪器、司钻监测系统、Linux系统目录一.绪论 (1)1.1虚拟仪器的发展 (1)1.2 专业综合实践的主要内容 (1)二.嵌入式系统虚拟仪表开发环境 (3)2.1 嵌入式系统虚拟仪表设计目标 (3)2.2 开发环境 (3)2.2.1 Qt Creator简介 (3)2.2.2 Fedora 简介 (3)三.基于ARM处理器的便携式仪表人机接口的设计 (5)3.1 设计原理及说明 (5)3.1.1 A/D转换器 (5)3.1.2 A/D转换重要指标 (5)3.2 接口总体设计 (6)3.3 ADC及触摸屏接口特殊寄存 (7)3.3.1 ADC 控制寄存器 (7)3.3.2 ADC 开始延时寄存 (8)3.3.3 ADC转换数据寄存器 (8)3.4 AD转换程序 (9)四.嵌入式系统虚拟仪表开发 (21)4.1 Qt Creator开发 (22)4.2 Qt Create编程 (24)4.3 虚拟仪表运行界面 (29)五.基于Linux操作系统的程序编译和烧写 (30)5.1 Linux操作系统及其常用命令 (30)5.2 Linux内核配置 (31)5.3 终端编译 (33)六.课程设计收获与体会 (35)参考文献 (36)一.绪论1.1虚拟仪器的发展现代仪器仪表技术是计算机技术和多种基础学科紧密结合的产物。

基于Qt的通用态势显示系统的构架及关键技术研究

基于Qt的通用态势显示系统的构架及关键技术研究

加密的。

其中,采用的AES是美国从全球几十种算法中
图1 IOS网络通信分析实验环境
模拟了一个对苹果自称最“坚硬”iMessage的加密通信的信息截获攻击过程:由配置了镜像端口的交换机把正常通信的网络通信流量进行复制并转发,可以通过“监视计算机”对通信过程中的数据进行“获取”。

iMessage的加密有两个功能:一是通信过程的加密,主要是保护证书和密钥在传输过程中不会被人得到;二是iMessage消息体具体内容的传输保护,一旦被监听,所获取的内容是人无法看懂的乱码。

供了较好的安全性特征。

在设置得当的情况下,仅从外部是较难攻击进入的。

但是,IOS系统依然在系统中存在设置后门的可能性。

另外,存储在iCloud上面的信息是可以被苹果“交出去”的。

所以,如果设置和使用得当,我们手中拿的还是一个看起来较为“坚硬”的苹果。

参考文献
[1]官方文档.iCloud 安全性与隐私政策概览。

《基于QT的智能无人战车人机交互软件设计》

《基于QT的智能无人战车人机交互软件设计》

《基于QT的智能无人战车人机交互软件设计》一、引言随着科技的飞速发展,智能无人战车在军事、救援、勘探等领域的应用越来越广泛。

为了实现智能无人战车的有效控制和操作,人机交互软件的设计显得尤为重要。

本文将介绍基于QT框架的智能无人战车人机交互软件设计,旨在提高战车的操作便捷性、实时性和智能化水平。

二、软件设计概述本软件设计采用QT框架,以C++作为主要开发语言,结合图形界面和交互式操作,实现智能无人战车的人机交互功能。

软件设计主要包括以下几个部分:界面设计、交互逻辑设计、通信协议设计以及算法优化。

三、界面设计界面设计是软件设计的重要组成部分,直接影响到用户的使用体验。

本软件采用QT的Widget和QML等工具,设计出直观、友好的图形界面。

界面包括主控制界面、战车状态显示界面、任务规划界面等。

主控制界面用于显示战车的实时视频、控制战车的行动;战车状态显示界面用于展示战车的各项参数和状态;任务规划界面用于设定战车的行动路线和任务。

四、交互逻辑设计交互逻辑设计是实现人机交互功能的核心。

本软件通过QT 的信号与槽机制,实现用户操作与战车行为的对应关系。

用户通过界面上的按钮、滑块等控件,发送控制指令,软件根据指令和战车的实时状态,通过算法计算出战车的行动策略,并发送给战车执行。

同时,软件还能实时显示战车的状态和任务完成情况,使用户能够了解战车的运行状况。

五、通信协议设计通信协议是智能无人战车与人机交互软件之间的桥梁。

本软件采用TCP/IP协议,实现与战车之间的数据传输。

通信协议包括数据格式、数据传输速率、数据校验等方面。

通过合理的通信协议设计,保证数据传输的稳定性和可靠性,从而实现人机交互的实时性和准确性。

六、算法优化算法优化是提高软件性能的关键。

本软件采用多种优化算法,包括路径规划算法、目标跟踪算法、图像处理算法等。

通过优化算法,提高战车在复杂环境下的自主导航能力、目标识别能力和任务执行能力。

同时,通过对软件的性能进行测试和调优,保证软件的运行效率和稳定性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一种使用Qt的姿态传感器显控设计与实现作者:王潇卢如意李博来源:《声学与电子工程》2019年第02期摘要 为缩短软件开发周期,提出了一种在Windows 平台下基于Qt 图形用户界面设计框架的姿态传感器显控软件设计思路,通过Qt 串口控件实现显控终端与姿态传感器的指令传送及信息交互,通过Qt绘图控件实现姿态数据及图线的实时显示,并实现姿态数据的实时存储。

该方法具有信息实时显示和程序架构简单的优点,以较小的代码量实现软件全部功能需求。

关键词 Qt;串口通信;姿态传感器;显控;实时姿态传感器显控软件是连接计算机终端与传感器的桥梁,其将控制指令发送给传感器并使计算机终端接收到测量数据,使整个测量系统构成回路。

以传统的MFC( Microsoft Foundation Classes)方法开发复杂的图形界面,需要程序员编写大量的代码,对控件的实现需要调用底层的作图函数进行绘制,开发时间长。

而Qt具有跨平台性能[1],可以一次编写多处编译,具有良好的封装机制、友好的信号一槽连接事件驱动机制,并提供Qt Designer图形界面开发工具[2],可进行拖拽式的界面控件排布,便于程序开发。

本文介绍了一种使用Qt的姿态传感器显控软件设计方法,以较小的代码量以及较短的开发周期实现了计算机终端与姿态传感器的控制指令及测量信息的交互,以及测量数据实时显示保存的功能需求。

1 姿态传感器概述本文所使用的姿态传感器通过RS485串口与外部设备通信,可同时上传偏航角、俯仰角、横滚角以及温度数据,将其封装在一个15 Byte数据包中。

测量数据通信协议如表1所示。

若干个姿态传感器由下位单片机串联在RS485通信总线上,共用一个串口与显控终端通信,通过姿态传感器的通信地址寻址通信,即可同时测量一个阵列中各节点处的姿态数据,上传的测量数据即为若干个15 Byte数据包的拼接,非传感器通信地址的命令帧将不予响应。

显控软件在打开串口建立串口通信后即发送开始测量指令,串联在一起的若干个传感器即可按照给定的频率上传测量结果数据。

显控软件解析数据包,可得到连接的传感器数量并显示测量结果数据与图线。

2 软件架构姿态传感器显控软件根据功能组成划分为串口通信模块、图形显示模块与数据存储模块,如图1所示。

串口通信模块使控制指令及测量结果根据相关通信协议进行封包或解析[3],并以数据帧的形式进行上传与下发。

该模块使用Qt封装的QSeriaIPort串口控伴[4],其提供主要接口函数如表2所示。

圖形显示模块将从串口获取的测量数据显示在界面中并绘制成图线。

该模块使用Qt提供的QGraphicsView控件[5],其依靠QGraphicsView-QGraphicsScene-QGraphicsltem的三级机制绘图:View为“画板”,Scene为“画布”,Item即为绘制在“画布”上的图形。

图形显示区域采用QMdiWidget的多子窗口显示机制,由测量数据包解析结果获取传感器数量并生成对应数量的子窗口,可采用平铺(tile)或层叠(cascade)的方式同时显示所有子窗口,或者以选项卡的形式最大化某一子窗口。

这部分内容将在第3节介绍。

数据存储模块将测量数据实时存储到本地的CSV文件中[6]。

该模块封装了Qt的QFile类与QTextStream类,以实现数据文件的存储。

软件的UML类图如2所示。

图形显示模块由PaintArea类构成,其为继承自QGraphicsView的子类,嵌入在MesFigDisArea类中,它的类对象作为后者成员变量,一起构成测量数据及图线的显示控件。

DMCCom_Array类为主界面类,其包含了串口通信模块与数据存储模块,由一个QList装入若干MesFigDisArea类对象,可同时显示多个传感器的测量结果。

软件运行流程如图3所示。

在以给定参数配置打开串口之后,与下位机建立通信并发送上数指令,在状态栏显示串口状态。

在接收到下位机第一次上传的数据包之后进行解析。

首先,如果数据包长度为单个传感器数据包长度整数倍,则判断为正确数据包,不符合条件的直接剔除。

对于正确数据包,遍历数据包的每一个字节寻找OxAA、Ox55的帧头,检测帧头后第4个字节的指令位是否为Ox31的反馈标识判断是否为有效数据包,剔除不符合反馈标识的数据包;对于有效数据包,计算帧头后续第4-13个字节的检验和判断是否为正确数据包。

对于每个帧段都满足以卜-条件的正确数据包,根据帧头数量得到下位机所串联的传感器数量,据此初始化出相应数量的子窗口,默认以平铺的方式显示在主界面的多窗口显示区域中,并更新传感器列表及状态栏中的传感器数量。

此后,根据通信协议给定的字节顺序以及分辨率解析每个帧段的数据位,得到各项测量数据并在界面中显示、保存。

对于下位机后续上传的数据包,同样根据以上方法判断数据包的正确性,剔除错误数据包,解析出正确数据包的测量值,并在界面中更新显示。

软件会记录持续测量时间以及测量数据上传次数并在界面中显示。

3 软件界面设计软件主图形界面见图4,左侧区域用作串口参数设置及操作、测量计数显示、传感器列表显示以及测量结果存储操作。

其中,以一个QListWidget控件显示由数据包解析到的传感器列表,并与右侧测量结果显示区域联动。

主界面右侧以一个QMdiWidget控件显示测量结果。

主界面下方状态栏可显示当前串口状态以及检测到的传感器数量。

偏航角、俯仰角、横滚角与温度测量值显示子窗口界面如图5所示。

界面上方显示4个测量数值,右侧以4个QGraphicsView小控件显示曲线对应的颜色图例。

下方的白色区域为显示曲线图的QGraphicsView控件。

每个传感器均独立地以一个子窗口显示测量值及图线。

4 软件功能实现建立串口通信后,显控软件向姿态传感器发送“开始测量“指令,使之以应答模式或者广播模式工作。

显控软件收到传感器通过串口上传的测量数据包,按照通信协议进行解析,解算出偏航角、俯仰角、横滚角与温度,获取当前时间后在相应控件中显示并保存到本地文件。

同时,显控软件将偏航角、俯仰角、横滚角与温度换算为QGraphicsView的场景中的坐标值并绘制出曲线图。

4.1 指令发送与数据包解析使用QSeriaIPort串口控件类,需要注意的是在调用open0函数打开类对象的串口时须使用COMMTIMEOUTS结构体对象来设置串口类对象的超时。

在设置完串口波特率、数据位等参数并设置好超时后即在计算机与传感器之间建立了串口通信。

控制指令同样以数据帧的形式发送,使用一个QByteArray类对象,以append0函数依次压入16进制的指令字节,然后将QByteArray类对象作为串口类对象write0函数的实参调用即可发送控制指令给传感器。

串口接收到数据后,将会触发QSeriaIPort串口类对象的readyRead0信号函数。

基于Qt的信号一槽事件驱动体制,将readyRead0信号与用于读取数据的自定义槽函数通过connect0函数连接即可使显控软件做出读取到串口数据后的响应动作。

在自定义槽函数中,通过串口类对象的readAIIO将从串口获取的字节数组赋给QByteArray类对象,使用一个8位无符号整型数据作为元素的QList容器存入QByteArray类对象中的各个字节以便进行后续的解析工作[7]。

将反馈数据包存入QList容器后,以容器的size0函数判断数据包的长度,其值应为单个传感器反馈的测量结果数据包长度的整数倍,即15 Byte的整数倍,若不满足该条件则认为数据错误并剔除。

反之,将QList容器作为实参传入数据包解析函数,查看每个15 Byte帧段的首两个字节是否为OxAAOx55的双字节数据包帧头、每个帧段的第5 Byte是否为Ox31的反馈标识、计算每个帧段第4-13Byte的检验和与第14 Byte是否吻合来检验数据包的正确性。

同时满足以上三个条件方为正确的测量结果帧段。

剔除错误数据包,对于正确结果将第6-13 Byte 的偏航角、俯仰角、横滚角与温度数据以高字节在前、低字節在后的顺序换算为10进制的整型数据,再乘以给定的分辨率得到相应的测量值。

以一个QList容器依次装入4个测量值,再以一个QList4.2 测量结果数据曲线绘制在收到测量数据包并解析之后,从QList从下位机接收到正确数据包并解析数据后,以独立子窗口显示各传感器测量结果如图6所示。

对于需要重点关注的传感器,可将该子窗口以选项卡的形式最大化显示。

4.3 测量结果数据保存在显示并绘制测量值及图线的同时,数据存储模块将测量结果以CSV文件的格式保存在弹出对话框选定的路径中。

存储模块以QFile类对象建立CSV文件,以QTextStream类对象将测量结果以文本流的形式输出到目标文件中。

CSV文件本质上是以逗号分隔的TXT文本文件,在以文本流输出一个测量值后跟着输出一个逗号,即可实现以表格形式存储测量数据。

在初次存储数据时,首先建立CSV文件,输出包含上数时间以及各测量项的表头,后续每次保存都按照给定顺序输出即可。

软件可以手动保存或者设定时间间隔以定时器进行自动保存。

测量结果文件见表3。

5 结论本文提出的基于Qt的姿态传感器显控软件设计思路,灵活调用Qt图形界面库中高度集成、成熟的串口通信控件与二维图形绘制控件,在一定程度上减轻了软件编制难度,以较小的代码量以及较短的开发周期实现了计算机终端与姿态传感器的控制指令及测量信息的交互以及测量数据实时显示、保存的功能需求。

参考文献:[1] JASMIN BLANCHETTE, MARK SUMMERFIELD. C_L}-GUI Qt4编程[M].2版.闰锋欣,曾泉人,译.北京:电子工业出版社,2013[2]张少伟,葛斌.基于Qt的自动化分装热室控制界面设计[J].计算机系统应用,2018,(9): 52-60.[3]严贤,韩秀玲.基于Qt的串口通信应用研究与实现[J].微计算机信息,2012,(8):114-116.[4]杨勇,赵丽,段海龙.基于QT的温度监测系统设计[J].通讯世界,2016,(3): 277-278.[5]邓子强,王玉玫,邓红艳,等.基于Qt绘图系统的图形应用优化研究与实现[J].软件,2016,(12):59-62.[6]吴庆晨,周伟,孙江艳,等.基于条件选择的CSV文件数据挖掘算法研究[J].电脑编程技巧与维护,2017,(11): 54-60.[7]佘立,李志强.基于Qt的多串口多协议数据接收解析软件的设计与实现[J].电子质量,2011,(1): 34-36.[8]李毅一种快速地质绘图系统的研究与应用[D].成都:电子科技大学,2014.。

相关文档
最新文档