1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
【MYD-JX8MMA7】 十二、QT-HMI V2.0系统的研究与使用 前言: 个人在之前接触米尔科技的开发板较少,最近的两年时间内,开始接触米尔科技的linux开发板。所以一开始看到QT-HMI V2.0系统还挺蒙的,确实不知道HMI系统到底是什么,使用什么环境开发的,为什么还和QT有关联,接下来带着这几个问题一探究竟。 一、QT-HMI V2.0系统 1、QT-HMI V2.0系统框架 HMI V2.0系统的界面如下图所示,具有摄像头显示、播放器、音乐、图片、系统信息(网络信息版本信息)、系统设置、文件管理器以及公共服务、卫生医疗、智能家电、等几个板块。 根据应用的类型我们将整个UI分为五个大类:多媒体,智能家电,卫生医疗,公共服务,系统。每个类下面又包含不同小类,针对每个小类我们实现了相应的应用。如图所示 2、HMI-V2.0与QT的关系 MEasy HMI 2.0是深圳市米尔科技有限公司开发的一套基于QT5的人机界面框架。也就是说它是使用Qt开发的一个软件,个人来看HMI V2.0其实就是一个很大的软件,包含了很多种功能,系统一词让我一开始陷入了误区,刚开始把它想的很复杂。 以下是我找到的HMI V2.0系统的代码程序,在Ubuntu系统环境下使用QT5.15开发(建议使用QT5.8以上版本),编译后可以正常运行,也可以正常显示摄像头显示画面(目前个人所使用的摄像头可能参数有区别画面有点模糊)。 HMI 2.0应用代码还比较复杂,毕竟代码量还相对较大需要点时间进一步理解,米尔官方资料提示需要有一定开发经验的嵌入式linux开发工程师,QT开发工程师。 如下面三个图所示,分别是源码,资源包,编译后软件界面。 3、QML介绍 在代码的资源包使用了大量的qml尾椎代码,简单的理解些其功能。 QML是一种描述性的脚本语言,文件格式以.qml结尾。语法格式非常像CSS(参考后文具体例子),但又支持javascript形式的编程控制。QtDesigner可以设计出·ui界面文件,但是不支持和Qt原生C++代码的交互。QtScript可以和Qt原生代码进行交互,但是有一个缺点,如果要在脚本中创建一个继承于QObject的图形对象非常不方便,只能在Qt代码中创建图形对象,然后从QtScript中进行访问。而QML可以在脚本里创建图形对象,并且支持各种图形特效,以及状态机等,同时又能跟Qt写的C++代码进行方便的交互,使用起来非常方便。 QMl是一种高效的开发UI 的语言。QML(Qt Meta-Object Language,Qt元对象语言)是一种声明式编程语言,并且它是Qt框架的一个组成部分。QML的主要功能是让开发人员快速、便捷地开发出用户界面,这些界面包括了桌面应用、移动设备和嵌入式就用的界面。并且,QML还能够与JavaScript无缝整合一起开发使用,即在QML代码中可以直接使用JavaScript文件。 JavaScript在ARM嵌入式开发中几乎使用不到,但是在服务器的界面开发和安卓APP的界面开发上是必不可少的开发语言,包括现在的鸿蒙APP界面开发都是使用JavaScript开发的,简称JS。 (嵌入式开发这么卷呢! JavaScript至少都要达到能看懂的程度。。。。) 二、HMI V2.0开发介绍 在IMX8MMA7提供的资料中没有看到关于HMI V2.0系统明确的资料,本文都是以其他版本开发板的资料做为依据。理论上讲QT是具有通用性的,编译器(aarch64-poky-linux)改变一下,各个平台基本都可以使用。 1、环境搭建 如何构建MEasy HMI2.0的开发编译环境,旨在帮助用户更好更快捷的通过QT5来开发自己的产品。其中包括嵌入式QT5运行环境搭建,qmake编译环境的搭建,QT Creator安装和配置及MEasy HMI应用的编译与运行。 QT5.8版本以上可以支持QML的2DRender,参见:https://doc.qt.io/QtQuick2DRenderer/ ,但是相比OpenGLES渲染,还存在一些局限,具体查阅QT官方说明:https://doc.qt.io/QtQuick2DRenderer/qtquick2drenderer-limitations.html。 我们提供带GPU支持和不带GPU支持两种平台下的代码mxapp2.tar.gz和mxapp2_nogpu.tar.gz. 不带GPU的版本改写了一些用到Shader Effects的界面,将QtMultimedia下的 VideoOutput模块替换为我们自己编写的MVideoOutput模块。 2、编译HMI 2.0应用 以mxapp2.tar工程为本进行二次的开发,将mxapp2.tar.gz拷贝到ubuntu目录工作目录,并解压出来。下面讲述如何将mxapp2这个工程导入到QT Creator中,打开QT Creator,在菜单栏中依次点击 File -> Open File or Project 然后弹出如图 选 择框,进入mxapp2工程目录,点击 mxapp2.pro 并点击 Open 按钮即可打开mxapp2这个工程。 打开工程后进入配置页面,选择编译工具链,这里直接选择前面章配置好的kits,点击 Configure Project 按钮然后进入工程目录。 进入mxapp2工程后即可看到整个工程的目录结构,如图所示。然后可以对工程进行编译了,编译之前可以选择下编译输出的模式,这里我们选择Release模式,然后可以选择右下角小锤子图标进行编译整个工程,或者通过点击菜单栏 Build -> Build Project "mxapp2" ,进行编译整个工程。 编译过程会可以从底部Table栏 4 Compile Output 中看到,如图所示。 2、编译文件上传 环境搭建过程,已经将HMI 应用软件进行了编译,接下来尝试将编译好的文件放到IMX8MMA7系统当中看看 效果是否如逾期一样。 1)查看文件位置 2)文件传递 在这里使用的是MobaXterm软件进行文件传递。 build-mxapp2-Desktop_Qt_5_15_2_GCC_64bit-Release 文件在Ubuntu主机下可运行文件 build-mxapp2-IMX8MMA7-Release 文件是IMX8MMA7开发板上运行的文件。 3、IMX8MMA7运行HMI 1)首先将原系统的HMI 界面关闭掉,因为两个界面是相同的。 2)命令行运行HMI应用程序 ·红框是检测文件上传的路径和文件内容。 ·黄框是运行软件的指令以及授权命令。 4、软件运行状态 在使用鼠标操作HMI应用时,软件运行状态数据会在此界面返回。 5、总结 使用更改后的HMI V2.0系统,与本机自带的系统基本没有什么差别,多媒体界面、系统界面运行正常且数据显示正确,其余的几个界面显示正常,目前尚未发现其他问题。 此功能使用过程至此结束,下面上传相关代码和参考文件。 参考文献: http://www.tooool.cn/post/1916.html https://gitee.com/weidongshan/Qtmxapp-desktop/repository/archive/master.zip https://www.bilibili.com/video/av711060143/ |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【米尔-紫光MYB-J7A100T国产FPGA开发板试用】米尔-紫光PG2L100H国产FPGA开发板开箱评测
1027 浏览 0 评论
【米尔-紫光PG2L100H国产FPGA开发板试用】官方LED例程测试体验
5074 浏览 0 评论
【米尔-紫光PG2L100H国产FPGA开发板试用】上电测试报告
4720 浏览 0 评论
【米尔-紫光PG2L100H国产FPGA开发板试用】开箱评测!米尔电子PG2L100H开发板深度体验报告
994 浏览 0 评论
【米尔-Xilinx XC7A100T FPGA开发板试用】+04.SFP之Aurora测试(zmj)
818 浏览 0 评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】基于ROS系统的三麦轮小车自主导航
3655浏览 2评论
【米尔NXP i.MX 93开发板试用评测】5、安装Debian和排除启动故障
729浏览 2评论
【米尔NXP i.MX 93开发板试用评测】2、异构通信环境搭建和源码编译
870浏览 2评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】Free RTOS应用开发环境部署
1459浏览 1评论
【米尔-芯驰D9开发板- 国产平台试用】- 03- 外设接口测试-U盘、485总线
6818浏览 1评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 23:49 , Processed in 0.676628 second(s), Total 65, Slave 49 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号