程,其对数据库的支持也极为丰富,为数据库访问提供的QtSQL模块实现了数据库与Qt应用程序的无缝集成,同时为开发人员提供了一套与开发平台和具体所用数据库均无关的调用接口,模块由三部分组成:驱动层,SQL接口层,用户接口层。
该模块为不同层次的用户提高了丰富的数据库操作类。
对于习惯使用SQL语法的用户提高了直接执行任意SQL语句并处理返回结果的方法;对于那些倾向使用较高层数据库接口而避免使用SQL语句的用户,QtSQL模块则提供了合适的抽象。
系统实时数据绘制采用QWTt 5。
,QWT全称是Qt Widgets for TechnicalApplications,是一个基于LGPL(Lesser General Public License)版权协议的开源项目,可生成各种统计图。
它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据,数据源以数值,数组或一组浮点数等方式提供,输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses (仪表盘)等等。
该工具库基于Qt开发,所以也继承了Qt的跨平台特性。
本文介绍的基于LibFetion的无线传感器网络与个人设备之间数据交换的系统就是在Qt的环境下进行可视化界面的设讦,并基于飞信协议库,用C++开发出无线传感器网络与个人设备的数据交互系统,并用QWT第三方插件实现无线传感器网络采集信息的实时监控与显示。
2.系统 本文介绍的无线传感器网络与个人设备信息交互系统具有实现简单、成本低、使用便捷的特点。
传统的方法实现个人设备与无线传感器网络的信息互联互通均是采用蓝牙【6J、WiFi、GRPS等无线网络,这要求无线传感器网络的节点具有这些无线接口硬件设备,成本较高,并且通信距离有限,无法实现远距离通信。
该系统基于LibFetion的开放源代码,无线传感器网络通过GSM网络与个人设备的互联互通,由于GSM网的广泛存在,因此可以不受时间以及地点的限制,成本较低。
在服务器端,该系统不仅可以对无线传感器网络采集的信息进行实时监测,还可以实现人工数据发送(人工手动控制发送数据至用户),定时数据发送(系统可以通过预先设定的时间自动发送数据至指定用户),请求数据发送(用户发送请求发送数据命令,系统根据命令自动发送不同信息)等多项数据服务。
另外,根据不同用户的多样服务需求,可以设计不同而富有特色的服务,如警戒信息发送服务:当无线传感器网络采集到的数据变化超出某一门限时,系统将向定制该服务的用户发送警戒信息。
简单的说,该系统可以分为用户管理、实时数据显示、数据发送控制三个主体模块,系统设计总框图如图l所示: ‘2009年北京青年通信科拉论坛’论文集 3 固 j、/ 8*}·t^ 箭◇矿葛k:爿苫蕈 厂———磊面萄r—〕 口I女琥日●rH惟自 无线传感器网络将采集到的信息通过多跳路由发送至传感路由器网关(Sink节点),传感路由器网关通过现有p司络设拖(Interact、Cellular、CDMA等)将数据发送至无线传感器网络服务器。
个人设备对无线传感器网络信息的获取一方面可以通过蓝牙、WiFi、GPRS等,然而这对双方的硬件资源要求都较高;另一方面可以通过该系统利用飞信业务获取信息。
系统通过对无线传感器网络数据库的访问,取出相应数据,绘制动态的数据曲线;分析数据,根据不同服务需求采取不同的信息交互麓略。
●用户管理模块 对用户的管理有两种实现方法:一是利用本地数据库进行管理;二是利用飞信自身的远程服务器用户信息。
该系统采用第二种,通过API函数将登录用户的信息从飞信服务器上获取下来,并将其在用户列表上显示。
利用开放的API函数“J,可以实现对用户的管理,包括发送信息到手机、重命名用户、移动用户到新组、删除用户等。
另外,用户管理模块对用户的服务定制进行管理,系统可以对属于同一服务组的用户群发信息。
该模块的整体框架如图2所示。
BuddyOPT类