张力云,余艳梅,吴小强,何小海
(四川大学 电子信息学院 图像信息研究所,四川 成都 610064)
摘要:设计并实现了一种基于嵌入式平台的岩屑图像采集信息管理系统。系统由SQLite数据库、Web服务器、无线WiFi模块三部分组成。岩屑图像采集完成后将井号、井段、采集时间等信息写入到数据库中,采集进程利用Socket通知Web服务器更新采集信息。PC或者移动设备通过WiFi与Web服务器建立连接,Web服务器利用Websocket协议将采集的信息发送到客户端的浏览器,同时也可以在客户端下载图像。
关键词:嵌入式平台;Websocket协议;SQLite数据库;Web服务器
0引言
四川省教育厅2014年研究生教育改革创新项目(2014教034)传统的岩屑图像采集平台是通过PC与采集设备共同协作实现的,PC与采集设备之间通过串口和USB进行通信,进而实现对采集仪的控制,但是采集设备庞大,系统比较复杂[1]。随着采集设备小型化和便携式的需求日益增大,一种新型的岩屑采集一体机应运而生,采集仪的核心是一块运行着Linux系统的ARM主板,采集系统软件集成在嵌入式系统上,控制整个采集设备的正常运行,从而实现了采集仪与 PC的分离,达到了设备小型化和便携式的要求[2]。
然而岩屑图像采集过程中用户需要统计所有已经采集的图像才能知晓当前的采集进度,图像信息不易管理。另一方面,采集仪上的图像需要传输到PC进行后续处理,但是目前采集仪与PC需要通过交换机和网线连接之后才能进行图像传输,在实际应用中带来诸多不便。
针对采集系统中存在的缺陷,本文设计并实现了轻量级的图像信息管理系统进而实现对图像信息的管理,同时设计了无线模块以便于客户端与采集仪进行无线通信。
1系统整体设计
本文设计的图像信息管理系统由SQlite数据库和Web服务器组成。SQlite数据库用于保存图像信息,Web服务器用于与客户端进行交互,提供图像信息浏览和图像下载的功能。Web服务器是基于Tornado框架设计的,该框架占用资源少,与SQLite同为轻量级的应用,非常适合嵌入式系统的开发。Web服务器与客户端通过Websocket协议进行通信,该协议是基于TCP的应用层协议,让客户端和服务器端保持长连接,为图像采集信息的实时更新提供了便捷,并且比HTTP短连接协议通信效率更高,资源占用更少。无线模块提供WiFi热点功能,任何有WiFi功能的设备可以与Web服务器建立连接,通过浏览器实现图像信息浏览和下载的功能。本文设计的系统结构图如图1所示。
2数据库设计
由于平台资源限制,本文设计的系统采用了专门针对嵌入式平台应用的轻型数据库SQLite,它是遵守ACID的关系型数据库管理系统,这种数据库占用资源非常少,一般只需要不到1 MB的内存,并且数据存取速度快,目前该数据库已经广泛应用在各种嵌入式产品中。
在岩屑图像采集系统中,所有采集的图像信息存储在IMG表中,该表有6个属性,分别为ID、WELL、START、END、LIGHT、DATE。图像采集完成后采集软件将以上信息写入数据库,并通过Socket发送采集完成信息给Web服务器进行状态更新。本文设计的数据库表结构如表1所示。 表1数据库表结构字段数据类型允许
为空主键备注IDINTEGERNY图像信息入库编号WELLSTRINGNN井号STARTFLOATNN起始井段ENDFLOATNN终止井段LIGHTBOOLNN灯光信息,0代表白光,1代表荧光DATEDATETIMENN采集时间
3Web服务器设计及实现
本文系统中Web服务器是连接客户端与采集仪的桥梁,一方面采集仪可以实时更新采集进度并在客户端显示,另一方面客户端可以下载图像。Web服务器与客户端通过Websocket协议进行全双工通信,服务器是基于Tornado框架设计的。
3.1Websocket协议
图像信息管理系统以B/S模式运行,这样避免了因客户端软件的兼容性引起的问题,并且能够在移动端浏览器进行采集进度的查看和图像的下载。
传统的B/S模式采用HTTP协议进行通信,而本系统需要实时更新采集进度,所以一种办法是采用轮训技术。但这种传统的技术具有很明显的缺点,浏览器每隔一段时间就向服务器发出请求,服务端就需要不断地解析HTTP 请求,而嵌入式图像采集平台的资源相当有限,这样势必会造成服务器资源极大的浪费。另一种办法是使用Websocket协议进行通信。客户端只需要向服务端发送一次连接请求就能建立TCP连接并保持长连接,之后的通信可以直接发送数据从而省去了数据报报头,并且双方是全双工通信[45]。
Websocket是HTML5定义的一种新的协议并在2014年10月正式发布,目前无论在PC平台还是移动端平台,较新版本的浏览器已经支持Websocket协议。
3.2Tornado Web框架
Tornado是由Facebook公司开发的开源Web服务器框架。该框架有三个特点:(1)轻量级,占用硬件资源少,有利于在ARM主板上进行应用开发;(2)非阻塞式运行,Tornado充分利用了epoll方式,为服务器提供了强大的网络响应性能,并且响应速度快,适合开发实时应用;(3)Tornado 2.2之后的版本都支持Websocket协议,避免了协议实现这一复杂的工作。基于以上几点,本文设计的图像信息管理系统中的Web服务器选择Tornado进行开发[6]。
3.3Web服务器设计
本文设计的Web服务器的工作流程如图2所示。
首先客户端与服务端进行连接,客户端发送连接请求,请求的Upgrade字段表示此次连接是以Websocket协议进行连接的。
如果服务器成功接收到客户端的连接请求,在完成各字段的校验后会立即返回握手请求,由此客户端与服务端建立了连接。
客户端与服务端建立连接后,若Web服务器接收到采集软件发送的数据更新信号,会立即读取数据库的相应信息,并将数据传给客户端;若客户端发送下载图片的信号时,Web服务器则在相应的文件夹找到图片并发送给客户端。
4无线模块的实现
采集仪与PC之间的通信需要网络连接,如果通过有线的方式进行连接,那么PC与采集仪需要分别用一根网线连接一个交换机,这种方式比较繁琐。本文的方案是将ARM主板设置成WiFi热点,笔记本、手机等设备都能连接到采集仪,从而进行采集信息的查看和图像下载[7]。
本文设计的系统采用EDUP USB无线网卡提供WiFi接入。为了提供网络接入服务,首先设置该WiFi热点的IP地址、子网掩码和网关,并在/etc/network/interfaces文件中修改网络配置。
WiFi热点的基本配置完成后需要让无线接入功能运作起来。Hostapd是一个用户态用于AP和认证服务的守护进程,它实现了IEEE802.11相关的接入管理。Hostapd的默认配置文件为/etc/default/hostapd,配置信息包含三个部分,分别是基本配置、加密配置和硬件配置[8]。最后配置硬件信息,包括网卡驱动、无线网协议等。
通过以上操作已经建立起了WiFi热点,但是接入设备需要自行设置有效的IP地址才能连接热点,Linux系统可以通过udhcp运行DHCP服务,为接入设备自动分配有效的IP地址[9]。udhcp的配置文件为/etc/udhcp.conf,主要配置有效的IP地址范围。
启动hostapd和udhcp进程并加入到系统启动项中,至此,设备已经可以通过无线局域网连接到采集仪。
5结论
本文以Web服务器和数据库为核心设计并实现了一种基于嵌入式图像采集平台的图像信息管理系统,并通过WiFi与客户端进行通信。系统采用B/S模式运行,用户可以在PC或者移动客户端的浏览器上查看图像信息和下载图像,并且采集仪与客户端完全通过无线进行通信。该系统提高了图像信息管理的灵活性和便捷性,并简化了设备部署的复杂度。
参考文献
[1] 高盛丰. 岩石小样本图像采集系统设计和实现[D].成都:四川大学,2012.
[2] 曾杰. 一体化岩屑数字图像采集系统的设计和实现[D]. 成都:四川大学,2015.
[3] 杜晓东,舒明蕾,孟利民,等. 基于QT的跨平台虚拟键盘设计与实现[J]. 微型机与应用,2015,34(17):1820.
[4] 薛陇彬,刘钊远. 基于WebSocket的网络实时通信[J]. 计算机与数字工程,2014(3):478481.
[5] 张玲,张翠肖. WebSocket服务器推送技术的研究[J]. 河北省科学院学报,2014,31(2):4953.
[6] 贾殿燕. 基于Tornado的即时通讯系统的设计与实现[J]. 电子技术与软件工程,2015(5):6768.
[7] 齐亚兰,苏凯雄,沈少阳. IEEE802.11n技术标准及其在无线局域网中的应用[J]. 数字技术与应用,2012(6):5456.
[8] 张剑英,李宗为,张祥忠,等. 一种基于ARM11的无线AP进程移植方法[J]. 电视技术,2013,37(15):5759,86.
[9] 王爱华,李永春. DHCP客户端在ARM下的设计与实现[J]. 微型机与应用,2012,31(22):5356.