【飞凌嵌入式 RK3399-C 开发板试用体验】(使用QT编写组态控件)

原创 2020-09-30 09:38:00 RK3399 RK3399开发板


作者:fcb5511


几年前基于stm32平台做过一套简单的组态程序,基本上能满足公司项目的需求,但是对于一些复杂的功能需求,这套软硬件就显得爱莫能助了,并且stm32是在全裸机的条件下开发,整套工程导出需要借助上位机开发的界面编辑软件通过USB读写,很是麻烦。一个看似简单的控件绘图,可能需要编写大量的程序。一直想着尝试在QT环境下来做一套功能升级的替代。直到看到这款OK3399-C,不管是硬件资源还是性能,都很合适。大致罗列一下我想到的一些基础控件:


1、 按键(分普通按键和带状态锁的)

2、 动态数据显示控件

3、 静态文本显示控件

4、 仪表

5、 柱状图

6、 曲线图

7、 状态显示

8、 表格

9、 脚本执行器

10、…


本次时间有限,先实现了三个控件的显示:1、两态按键(能绑定图片和报警信号,区分点击状态,释放状态和报警状态)2、仪表(能设置仪表盘的角度区间和量程区间,表盘颜色,指针颜色等)3、曲线图,能设置图标颜色,曲线颜色,X轴测量周期和Y轴测量值范围等。
按键和仪表均通过QPainter实现,曲线图表初次尝试使用QT的可视化视图实现(貌似做动态曲线不太方便,X轴刻度想做成自定义格式比较麻烦,先凑合用吧,后面再改),使用QT的可视化试图需要安装QtCharts包,OK3399-C提供的QT是不包含此包的。安装QtCharts的方式如下

1、从github克隆源码包
git clone https://github.com/qtproject/qtcharts.git

2、检出版本分支
git checkout 5.7(一定要做这一步)

3、执行qmake

4、执行make

5、执行安装
make install

打开QtCreator
新建工程,ui界面类型选widget和mainwindow均可,名字随意
QT工程中用Qtcharts需要对pro文件进行设置
添加 QT +=  chart


我的ui是mainwindow,尺寸选择1024x600,在mainwindow窗体添加QLable作为所有控件的父控件。

按键,仪表,曲线图控件分别以三个类的方式实现,代码结构如下:


控件在窗体中的拖动通过捕获鼠标事件实现,控件最终运行效果如下:


本次项目最终实现的三个控件功能只是组态功能中最基本的显示,曲线图的拖动效果还存在问题,后期功能开发还包括在页面编辑中通过添加不同控件并编辑相关功能,保存数据库或配置文件,这里暂定用json来存储页面的控件配置信息。至于数据交互,暂定使用RabbitMq和共享内存的方式,通过RabbitMq可以将网络中的数据汇集到本机,本机将原始数据帧解析写入共享内存,方便应用程序的本地快速读写。


相关产品 >

  • FET3399-C核心板

    飞凌RK3399安卓高性能核心板采用 采用六核Rockchip RK3399芯片,双Cortex-A72大核+四Cortex-A53小核结构,对整数、浮点、内存等作了大幅优化,在整体性能、功耗及核心面积三个方面提升。以下将对瑞芯微芯片RK3399参数,RK3399核心板方案及其性能做具体介绍。如您对飞凌RK3399系列核心板有兴趣,欢迎咨询了解。

    了解详情
    FET3399-C核心板
  • OK3399-C开发板

    飞凌嵌入式RK3399安卓开发板主芯片采用高性能六核CPU Rockchip RK3399,GPU采用Mail-T860四核 GPU,RK3399作为目RK产品线中低功耗、高性能的代表,可满足人脸识别设备、机器人、无人机、IoT物联网领域应用。飞凌RK3399开发板在整体性能、功耗及核心面积做了大幅度优化,更加满足工业设计需求。飞凌RK3399开发板为进一步减少用户二次开发难度,开放了底板原理图,并提供了RK3399用户手册、芯片手册,加上优质的技术服务,让您的方案从构思到上市时间缩短。

    了解详情
    OK3399-C开发板

推荐阅读 换一批 换一批