编辑: 烂衣小孩 | 2016-09-01 |
2) 对不同数据类型 协议的数据转换及存储能力;
3) 可视化界面操作能力;
4) 远程数据传输及控制能力.如图
2 所示. 3. 可视化网关设计方案 3.1. 硬件平台设计 可视化网关选用 ITOP4412 开发平台, 包括 SDRAM 模块、 FLASH 模块、 电源管理模块、 时钟模块、 以太网接口模块、显示屏接口模块、串口模块等.其中处理器采用 Exynos4412 芯片,具有强大的运算处 理能力,并连接了 FLASH、SDRAM 模块用于数据的存储,RJ-45 以太网接口保证了设备能够接入互联 网络中,接入感知层网络通过串口与网关连接,LCD 触摸显示屏通过 VGA 接口模块以外接设备的形式 接入到网关系统中,实现与网关的信息交互.硬件结构如图
3 所示. 3.2. 软件平台设计 软件平台主要基于 Linux 操作系统.Linux 是开源的操作系统,系统的设计者可以对嵌入式 Linux 进 基于 Linux Qt 技术可视化网关系统
110 Figure 1. The network framework of remote control 图1. 远程控制网络构架 Figure 2. The function frame diagram of visualization gateway 图2. 可视化网关功能框架图 Figure 3. The diagram of hardware structure 图3. 硬件结构图 行二次开发,只保留必须的操作系统功能即可,并可以根据实际应用的需要优化操作系统的代码.该系 统成熟稳定、数据处理速度快、网络功能丰富,在网络通信设计方面有独特优势.此外,嵌入式可视化 网关可使用的硬件资源相对较少并且要求上电时间短,而Linux 系统只占用较少的硬件资源,因此选择 嵌入式 Linux 作为基本操作系统.软件架构如图
4 所示. 首先串口服务器接收底层传感器网络(Zigbee)的数据,然后运用 TCP/IP 协议将数据发送至可视化网 关中的以太网接口,其间通过了交换机设备通信协议为 TCP 协议.得到数据后为了实现数据的存储,开 发了一套针对 Linux 操作系统的数据库软件, 将接收到的数据存储在 MySQL 过程数据库中. 过程数据库 为可视化网关开发中的重要环节,是自主开发的一套基于 Linux 操作系统用于与底层设备进行数据交互 基于 Linux Qt 技术可视化网关系统
111 Figure 4. The diagram of software framework 图4. 软件架构图 的中转程序;
而关系数据库 MySQL 负责历史数据和报警信息的存储,MySQL 需要从过程数据库中获取 数据.软件界面采用 QT 平台、GUI 界面开发软件以及 C++语言进行开发.Qt 是一个跨平台的 C++图形 用户界面库.Qt 基本上同 XWindow 上的 Motif OpenwinGTK 等图形界面库和 Windows 平台上的 MFC OWLVCL ATL 是同类型的.结合远程网关的实际的运行环境、嵌入式 Linux 系统及嵌入式 GUI 等,实 现了适合远程网关的人机界面温湿度曲线显示. 4. 视化网关系统的实现 4.1. 交叉编译环境搭建 Qt/E4.7.1 使用的编译器是交叉编译器编译工具 arm-linux-gcc-4.3.2.tar.gz .将 arm-linux-gcc- 4.3.2.tar.gz 解压到 Ubuntu 系统的文件夹 /usr/local/arm 中,解压后,如图
5 所示. 然后修改环境变量,修改环境发量前,确定是在 root 用户下,接着输入命令 #cd ,确定修改的是 root 用户的环境发量,输入命令 #vim .bashrc 后,输入回车,进入 .bashrc 文件,然后迕入最后行, 如图 6,将环境发量修改为 export PATH=$PATH:/usr/local/arm/4.3.2/bin. 最后要检测编译器路径设置是否正确.在Ubuntu 命令行中输入命令 #arm ,然后按键盘 Tab , 出现编译器 arm-none-linux-gnueabi-gcc-4.3.2 ,返回就说明编译器路径设置正确. 4.2. 可视化的本地服务器与客户端设计 Qt 提供了 QTcpSocket 类,它将实现 TCP 传输协议.TCP 是一个可靠的面向连接的协议,它按照网 络节点间的数据流形式进行操作.这个协议可以用于创建网络客户端和服务器应用程序.若要创建服务 器应用程序,还需要 QTcpServer 类来处理引用的 TCP 连接.对于服务器来说,多线程的这个特性太有 用了,因为多线程使得服务器可能同时响应多个客户端的请求,所以现在服务器大多采用多线程.不管 是多线程,还是服务器,QT 中已经封装好了特定的类,所以使用起来也很方便.下面建立一个支持多线 程、TCP 的服务器. 首先建立一个服务器.新建一个类(Server)继承 QT 中的 QTcpServer 类即可.服务器的职责是监听端 口.当监听到有客户端试图与服务器建立连接的时候,分配 socket 与客户端连接,再进行数据通信. 基于 Linux Qt 技术可视化网关系统