基于QT+linux的嵌入式仪表开发(一)-整体结构及实现方案

  毕业后一直在单位做技术相关工作,因为在小公司,做的内容多而杂,牵涉的知识点较多但通常不是很深入,主要还是以应用为主,从硬件开发(电路设计、单片机、FPGA)到上层windows应用软件(c#)都有涉及。

  去年底因公司项目需要,着手于一款嵌入式仪表的设计开发工作,基于之前对QT有些许了解,也用QT做了一些工作中的小工具,于是便确定了该项目以QT+Linux为基础的这么一个结构。整体方向确定后,因为其他工作繁忙,一直没有开展开来,春节过后,因为疫情的原因,平时疲于应付的售后工作和大量的软件修改工作因为客户均未复工的原因得以缓解,于是难得的空闲时间,便集中精力一边学习一边进行仪表的设计,在这两个多月的时间里,得利于QT本身完整的解决方案以及网络上提供的各种实现方案及技术,基本上完成了项目整体的结构实现,接下来还有许多细节需要完善。一直觉得别人通过博客的形式记录下自己的学习历程是个很好的方式,所以这次也尝试着尽量把自己学习过程中的一些想法、经验和疑惑通过博客记录下来。

  实现目标主要是以下几个方面:

1、仪表本身应用场景要求的基本功能;

  仪表应用于汽车检测线,对汽车制动系、转向系等性能进行检测,仪表端主要实现检测流程的控制以及传感器信号的处理,传感器主要包括:压力传感器、编码器、位移传感器,另外有一些用于流程控制的光电信号接入以及开关信号输出以控制继电器动作。具体实现上将以上模拟信号以及开关信号单独使用一块采集板进行处理,采集板通过UART与ARM主板通行通讯,ARM主板运行基于Linux的Qt文件系统。

2、支持全触摸屏操作;

  主要实现tslib的移植以及虚拟键盘的实现。

3、支持web访问配置界面;

  基于QtWebApp,参考:http://www.stefanfrings.de/qtwebapp/index-en.html

4、支持COM或UDP通讯方式,协议一致;

5、支持在线更新;

  基于QSimpleUpdater,参考:https://github.com/alex-spataru/QSimpleUpdater

仪表整体展示

 

你可能感兴趣的:(基于QT+linux的嵌入式仪表开发(一)-整体结构及实现方案)