英语原文共 11 页,剩余内容已隐藏,支付完成后下载完整资料
基于ARM上位机和WIFI传输的设备监控系统
摘要
随着WIFI网络和嵌入式系统技术的广泛应用,基于嵌入式系统和无线网络的设备监控系统应运而生。本文介绍了一种基于ARM上位机和WIFI传输的设备监控系统,在车间设备上测试了该系统。硬件采用TI公司的ARMCortex-A8处理器架构为主要控制芯片,使用IAC-335X-Kit开发板进行系统设计,外部USB摄像头模块和WIFI无线模块用于视频捕获和数据传输。该软件以嵌入式Linux为平台。该系统将准确客观地收集生产数据,并统计分析。同时系统使用QT(QT Creator, 应用程序开发框架)开发上位机软件GUI界面。与传统基于有线网络的系统相比,本设计更加方便灵活,减少了传统网络的实施限制和维护布线成本。
- 引言
随着无线网络技术的发展,网络信息的传输变得更加安全和便捷。WIFI因为其覆盖范围广、可靠性高、速度快、无需接线等,已经成为无线网络访问的主流标准。随着基于WIFI技术应用需求的增加,越来越多的电子产品将提供WIFI无线访问功能,这将对无线WIFI技术的应用产生深远影响。
基于以上对WIFI传输技术的了解,本设计主要贡献在于该系统是基于无线网络技术和传感器,以减少传统有线网络通信的实施限制,且该系统在车间的新环境中被验证,来增加企业或车间经理的生产能力。控制能力提高了生产效率和企业利润。
涉及的主要技术是视频采集和传输以及WIFI无线通讯。视频捕获设备使用常见的USB接口摄像头直接连接到ARM服务器。视频帧采集是通过Linux内核驱动的V4L2(Video for linux2,为Linux中关于视频设备的内核驱动)提供的接口实现,并且数据格式转换后实现实时显示。同时,FFMPEG(Fast Forward MPEG,一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序)开源库用于压缩视频,生成通用视频格式,方便观看并在各种设备上播放。对于
WIFI无线通讯,带USB接口的无线网卡是以硬件方式插入ARM开发板。WIFI网络架构是一个集中式网络,即通过固定的基础设施AP(Wireless Access Point,无线访问接入点)作为中心站,所有客户端设备和ARM服务器通过AP进行通信。ARM服务器提供参数的修改操作和将其发送到指定的客户端(设备),同时通过WIFI去模拟对设备的控制。
本文的其余部分安排如下:在第2节中是系统设计概述。 第3节详细介绍了系统软件设计,其中包括无线通信模块的功能设计,数据库结构和功能设计与软件接口上位机的设计。第4部分显示了系统的实现细节。在第5节中讨论系统的运行和测试。在第6节中回顾相关工作。结论见第7节。
- 系统设计概述
该系统的设计结构如图1所示。该系统采用WIFI无线传输技术为核心,以设备数据参数为基础去实现对车间设备的监控。 该设计着重于ARM上层计算机软件的开发服务器端,以及数据的无线传输和处理。通过对软件模拟设备参数数据的采集,即通过PC端软件仿真设备,通过以下方式连接到ARM服务器WIFI,并规律地发送处理后的随机数模拟设备参数。在数据处理后,ARM服务器实时显示接收到的设备并将其保存到数据库中,并提供查询以获取摘要信息。
在硬件上,ARM服务器连接视频采集设备和无线设备通过USB接口,并实现基于WIFI的视频采集和无线通讯。WIFI网络采用中央网络架构并使用无线AP作为接入点来实现设备与服务器之间的无线通信。
- 系统软件设计
无线通信采用基于C / S体系结构的客户端-服务器通信模式。作为客户端的设备是通过PC软件模拟,并且ARM服务器是服务器。TCP协议用于实现网络通信。当程序开始运行时。服务器打开监听端口并在线程中单独运行,以等待客户端设备的连接。如图2所示,描述了无线通信流程图。以下是流程图的说明。
图1 系统设计框图
图2 无线通信流程图
PC端软件模拟客户端设备并启动连接到ARM服务器。当服务器收到来自客户端的连接请求时,将客户端保存在列表中并定期发送请求数据的命令给列表中的客户端。请求命令通过公司自定义的HDLC(High-level Data Link Control,高级数据链路控制)协议进行封装和封装。客户端收到来自服务器的请求数据后,原始请求命令根据HDLC协议被分解,其检出和控制命令被判断。如果正确,则客户端将实时数据回复给服务器。否则,将继续等待服务器的请求。
客户端返回的实时数据也由HDLC协议封装。服务器分解并判断接收到的实时数据。当传输正确时,将实时数据转换为直观数据进行显示和保存。另外,每个客户端发送的实时数据包括的不仅是设备参数,还有设备的相应IP地址以及数据的对应时间,以实现服务器对多个设备的同步监控和控制。
接下来,介绍数据库结构和功能设计,主要是包括数据库逻辑设计和数据库物理设计。作为开源嵌入式数据库产品SQLite(轻型数据库)具有低系统开销和检索效率高的特点。同时,是零配置数据库,无需安装和管理。完整的SQLite数据库是存储在单个磁盘文件上,自给自足,没有任何外部依赖性。此外,用于支持SQLite的QT框架的开发会更好,因此最终数据库选择了SQLite。图3和图4基于数据库的实体关系模型(ER模型)。设计了两种实体模型,即车间设备信息实体和实时设备信息实体。根据上述数据库的逻辑设计,实体关系被转换成数据表,该表可以分为两个表来完成数据库的物理设计。表1和表2分别对应于图3和图4。通过数据库的上述结构设计,可以为系统提供良好的后台数据支持。车间设备信息表提供添加,删除和修改基本设备信息,而在编队表中的设备实时性则可以存储和显示实时生产数据,及其统计分析,以提高企业生产管理效率。
作为跨平台的C GUI库,Qt由Troll Tech公司开发。凭借其面向对象,易于扩展的组件编程和跨平台功能,Qt广泛用于嵌入式系统的GUI界面开发。优秀的跨平台特性,使用Qt类可以由不同的编译器编译以生成在不同的平台上的运行程序,大大降低了跨平台开发的难度。因此,此设计使用Qt的嵌入式版本,即Qt / Embedded开发框架基于Frame缓冲区来开发上位机软件界面。
如图5所示,上位机软件界面分为四个主要模块:车间概况,信息显示,信息摘要和网络设置。通过这四个模块,整个系统控制从网络到数据采集的流程,实现控制命令的发送,显示和统计分析。结合QT的组件编程特性,主界面使用Q Tab Widget的组件来实现四个模块的切换。根据C 的面向对象特性,这四个模块继承自Q Widget作为独立的接口类,封装需要的子组件模块,并完成不同的信息显示。
图3 车间设备信息实体的E-R图
图4 设备实时信息实体的E-R图
基本的 |
栏位名称 |
数据类型 |
长度 |
准确性 |
独特性 |
空的 |
不 |
Varchar |
是 |
是 |
|||
区域 |
Varchar |
|||||
名字 |
Varchar |
|||||
IP地址 |
Varchar |
是 |
||||
预设A |
Int |
|||||
预设V |
Float |
表1 车间设备信息表
基本的 |
栏位名称 |
数据类型 |
长度 |
准确性 |
独特性 |
空的 |
E日期 |
Date |
|||||
E时间 |
Time |
|||||
E电压 |
Float |
|||||
E当前的 |
Int |
表2 设备实时信息表
- 执行
以下内容是通过设置整个界面的四个模块TabWidget。其中,四个模块接口从QWidget继承为单独的接口类。所有这些都用于封装子组件模块所需,并完成不同的信息显示。
TabWidget-gt;setFocusPolicy(Qt::NoFocus);//目的不是要设置焦点,而要避免使用虚线框
TabWidget-gt;setTabPosition(QTabWidget::South);//设置位于界面下方
TabWidget-gt;setFont(QFont('msyh',16));
PlantGlobal Widget=new PlantGlobal Widget(this);
TabWidget-gt;addTab(plant global widget,tr('workshop status');//以下四个句子描述了四个模块
InfoShowWidget=new InfoShowWidget(this);
TabWidget-gt;addTab(infoShowWidget,tr('Information Display');
InfoCollectWidget=new InfoCollectWidget(this);
TabWidget-gt;addTab(infoCollectWidget,tr('Information Summary');
Networking Widget=newNetworking Widget(this);
TabWidget-gt;addTab(networking widget,tr('network settings');//初始化服务器会定期将请求数据的指令包发送到连接的客户端。指令数据相同
Void initRequestData();//数据在网络传输过程中由公司的HDLC协议处理
QByteArray data to HDLC(QByteArray data);
Void HDLCToData(QByteArrayamp;enciphered Data);
QStringList convertReceive Message(QByteArrayamp;array);//目的是使QTcpSocket连接到服务器,即客户端创建的套接字
Void getClientSocket();
Void receiveMessage();//服务器从客户端接收消息
Void sendMessage();//服务器发送一条消息,请求数据
Void sendMessage Data(QStringList);//服务器反馈数据
Void disconnectSlot();//断开客户端的信号处理
图5 软件界面结构图
- 系统运行与测试
使用以下配置运行实验:
- 硬件:
Windows PC,杭州启阳IA
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[257900],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。