-1-
采用 XMPP与 GPRS网络的远程控制系统及其应用
摘 要:对于现场设备进行远程无线网络控制涉及到复杂的连接设备配置、交换信息的设定,
以及控制历史的记录。传统的做法通常相互孤立,不利于拓展和再开发,自定义的设备也很
昂贵。而采用 GPRS与 XMPP技术集成的超远程控制采用低廉的通用设备以及开放的结构,
使远程数据采集、远程记录、远程控制得以集成,并可运行在各种常用的设备上,有着良好
的通用性。实验结果证明了方法的有效性。
关键词:XMPP,GPRS,XML,远程控制
1.引言
通过网络对远程现场设备进行状态查看、信息记录,以及远程控制是控制系统实现的重
要内容之一。采用有线网络构成的远程控制已经十分常见。鉴于无线网络可以灵活布设,覆
盖面积大,设备无线连接等优点,采用无线网络构成远程控制成为自动控制系统组成一个重
要的发展方向。为了获得最佳的远程布设灵活性,简便易行的方案是采用移动电话网络运营
商的线路。然而,由于其中间经过的网络环境比较多,所以它具有可达性不可靠、不定延时、
不够安全等缺点。在这样的系统构架中,一定要注意对可连通性、延时和实时性,以及安全
性的考虑。
带有远程控制的普通控制系统如图1所示[1]。传统的无线远程控制方式,由于直接点到
点通信本身不可靠,故连通性没有保证并且很难有效控制延时。本文采用中间XMPP服务器,
故只需要设备能访问中间服务器即可保证连通性,也能有效跟踪双向控制信息到达的时间和
逻辑顺序,是对传统网络系统的改良。另外,XMPP支持SSL128位加密传输,GPRS亦可采
用信道加密,故总体安全性也有了保障。
2.GPRS无线网络与XMPP
GPRS网络
GPRS (General Packet Radio Service),通用分组无线业务是 GSM 第二代通信标准的扩展
[2]。相对于传统的电路交换(CSD)链路,GPRS 不占用全部信道,而是采用报文交换方式与
控制器 被控对象
反馈网络
参数更新
远程控制
输入 输出
图 1 带有远程控制的普通控制系统
Fig1 Control System with Remote Accessibility
-2-
其他设备共享信道传输数据。CSD 占用一个 GSM 频道,通常可以实现最大 的连接
速率,而 GPRS Class 10 一般采用 4 个下行,1 个上行信道,理想状态下可以达到
的下行以及 的上行速率,实际速率略低于理想状态的速率。值得一提的是 GPRS
的高级标准——EDGE,它对 GPRS 采用了 8-PSK(8 位相移键控)技术,实现了 GPRS 三
倍的接入速度。
传统的 CSD 链路需占用整个信道,延时比较小,连接质量好于 GPRS,但其计费以时
长计算,相当于连续通话,通信成本较高。GPRS 采用报文交换,其延时有不确定性,可靠
性不太高,但却具备更快的接入速度,且按数据流量计费,不会由于一直在线而无操作造成
大量的通信费用。本文的远程控制实例中,考虑到远程设备可能需要常在线,故我们采用了
GPRS Class 10 的连接方式,通信成本较低。
XMPP技术
XMPP 技术来自于 Jabber 开放网络聊天环境,其本身就是 Jabber 的核心协定。它是以
XML 为基础的即时消息、会话协定,由国际网络工程工作小组(IETF)批准成为开放的通用
标准[3]。Jabber/XMPP 以开源、代码共享的方式发布,经历 9 年的发展现已步入成熟。
XMPP 的信息传输中被组成 XML 方式,支持不同的系统和不同的设备利用和读取,其
本身亦支持 SSL128 位加密。XMPP 的运行特点十分像邮件服务。userA@ 发出的信息
首先被自己的 服务器处理并发送给 ,然后由再由 发送给 userB@。
它们之间的信息以 XMPP 协议传送,延时很小;而若服务器 a 和服务器 b 是同一个机器,
之间的延时则会更短。
XMPP 另一个优势是可以自己架设自己专门用途的专用服务器。XMPP 应用程序开发文
档本身是公开的,它的开源特性亦保证了 XMPP 用于网络信号接力传递具有可重新开发、
可扩展的能力。
3.利用GPRS与XMPP技术的远程控制的实现
利用 GPRS 与 XMPP 技术的远程控制结构如图 2 所示。
遥控方手机
转换接
口设备
GPRS
GPRS
XML
蓝牙无线串行
广域 Internet
XMPP 服务器
+ 数据库
基站子系统
基站子系统 现场控制手机
PLC
M
变频器
交流电动机
图 2 XMPP 与 GPRS 远程控制结构图
Fig2 the Structure of Remote Control over GPRS and XMPP
-3-
图 2 中 XMPP 服务器是专门架设的一台用于信号接力和记录控制信息日志的计算机,
可以直接对双向的控制信息进行记录和逻辑校验。它不需要有强大的运算能力和网络带宽,
所以可以使用低配置计算机。如果对于控制数据无需采用服务器记录的话,则 XMPP 服务
器可直接采用互联网上公信度高的 Jabber/XMPP 服务器,如 google talk 服务器,,
或者 等。这样就不存在服务器开销了。
XMPP 是这个架构的必需设备,但不是核心设备。从摇控方的手机到布设于现场的手机
之间,XMPP 仅起桥梁作用,实际实现远程控制还是通过设备本身。然而由于 XMPP 服务
器的存在,故只需双方的手机可以各自接入互联网即可,不必限定它们之间能直接连通。这
样,在全球的绝大多数地方,只要有手机信号覆盖就可以实现远程控制。此外,XMPP 应用
平台宽泛,所有运行 Windows Mobile,Symbian,J2ME 等通用平台的手机均可采用 XMPP
类库完成本机程序开发,故设备选型众多。
控制信号经由 XMPP 环节从摇控方手机发送到现场手机之后,现场手机程序将控制信
息通过无线串行接口等传递给下层的控制器;之后再读取控制器当前状态信息,用同样的方
法回传给遥控方手机。通过这样的循回,可以实现的功能包括:(1) 查询远程现场设备的运
行状态;(2) 改变远程现场设备的运行参数及状态;(3) 远程现场出错后可以直接回报错误
消息;(4)获取远程工作状态图形和照片。
需要指出,这个结构中的远程现场设备控制器应具有自身闭环能力。远程遥控的作用是
用来即时改变其运行参数和状态。限于网络传输的特性,XMPP+GPRS 的配置不适合纳入闭
环之内,因为不确定性和时间延时不适用于部分高动态性能的设备,那样易造成系统混沌。
然而,对于大部分远程监管和简单控制、修正参数,本例应用性很好。
4.应用GPRS与XMPP远程控制的开发实例RCOne
RCOne是本文作者已经开发完成的应用GPRS与XMPP技术远程控制的一个实例程序。
本实例初步实现了对一个现场混油设备的远程控制和监管。基于成本考虑,初期版本并没有
采用自架设 XMPP 服务器来记录控制历史数据库,而是采用了可信任的公开 Jabber 服务器。
RCOne 目前包括一个桌面端的监管程序和一套手机远程连接以及控制程序,采用的开发平
台是 Windows Mobile 5 Smartphone 和 C# Visual Studio 2005,XMPP 类库采用了 agsXMPP,
串行程序采用了 WinAPI 套接。当前运行状态截图如下。
图 3 手机端运行状态 图 4 PC 端运行状态
Fig3 Program Status on the Cell Phone Fig4 Program Status on the PC Controller
-4-
此外 RCOne 实现了通过手机短信唤醒远程设备入网,以及远程现场故障时直接通过短
信发送回消息的功能,使得其实际价值更大。下面是 RCOne 运行的设备间流程图。
本范例程序采用了 XMPP 作为中间环节,这样只要双方的手机能各自连入互联网即可
通信,不要求它们能直接点对点访问,这是其相比于传统网络控制的一个优点。在两套设备
程序中分别有登录 XMPP 服务器、发送消息、监听消息的片段,实现各自相应的功能。片
段如下:
//agsXMPP 范例片段
using agsXMPP; //添加对于 agsXMPP 类库的引用
//……
XmppClientConnection xmpp; //从基类继承,派生出 xmpp 实例
xmpp = new XmppClientConnection("", 5222); //设定服务器和端口
("controller02", "control"); //按照帐号和密码登陆 jabberXMPP 服务器
private void XmppCon_OnMessage(object sender, msg) //
发唤醒消息 SMS
XMPP 登录
XMPP 监听
XMPP 登录
查设备状态
登录操作
回复状态
发送 XMPP
XMPP 监听
记录并转发
处理收到信息
屏幕显示
发送 XMPP
用户更正
XMPP 监听
记录并转发
处理收到信息
写入设备
回复状态
发回 XMPP
记录并转发
处理收到信息
屏幕显示
设备出错
报警
处理警报类型
发送 SMS
用户收到
等待用户指令
同步
SMS
GPRS
XML
GPRS
XML
……
……
……
XMPP 服务器进程
遥控手机进程
远程现场手机进程
……
远程现场设备进程
图 5 RCOne 设备间流程图
Fig5 the Flow Chart of RCOne among Different Devices
-5-
监听信息
{
CheckAndDo(Message msg) //调用处理函数
……
}
private void XmppCon_SendMessage(object sender, msg)
//发送信息
{
(new Message("controller01@", , msg));
//发送信息
//……
}
//……
5.关于实时性和安全性
RCOne 实例程序采用 XMPP 中间环节保证了控制消息的传递可以到达,即,可连通性
的问题。下面讨论实时性和安全性问题。
实时性
远距离跨网络传输经常带来延时。除此之外鉴于 GPRS 的分组通信共享以及 Internet 本
身的问题,采用 GPRS 和 XMPP 实现超远程控制的延时具有不确定性,但其离散分布具有
典型类似高斯分布的统计规律,有一定的均值,表述如下:
均方差均值;, −−=
−− σπσ
σ xexf
xx
22
2
1)(
实际运作中可以采用以下方法来进行处理:(1) 对于超过典型均值一定倍数的信息延时
认为无效信息并请求重发;(2) 在控制算法中采用 Dahlin 或 Smith 预估补偿延时;(3) 远程
现场控制器本身就是闭环,应设计成对参数传递延时不敏感系统。
实时性的最重要的问题在于延时。延时会导致原有网络控制系统稳定性发生变化。在有
延时 τ 的环境中,网络控制器的稳定性可以由下面的 Schur 判据来判别稳定性:
根据网络控制系统稳定性判别矩阵:
⎥⎦
⎤⎢⎣
⎡
−−
−= −− BKETEee
BKTEe
H AtTA
AT
))()((
)(
)( ττ ,当以上 H 矩特征值均小于 1,则系统是稳
定的。
安全性
由于无线网络存在被窃取和欺骗的可能以及干扰的问题,故需要格外注重安全性和可靠
性的要求。以下方法用于安全性和可靠性的改善:
(a) 采用加密。实例中对 XML 信息采用了 SSL128 位加密,另外无线网络应启用相应
的信道加密,如 WiFi 的 WPA 加密;在高要求的场合下采用 RSA 公钥密码系统;
(b) 采用全字符序列校验,如 MD5 校验。这样,整个传输序列中只要有任意一位传输错
误、增加,或者截断,整个 MD5 值将完全不同,如:
-6-
MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
(c) 对于发出的信息要求对方校验并传回确认。本实例程序的信息传输全部要求双向确
认;
(d) 仅使用自己建立的控制消息列表中的消息,对于不符合要求的收到消息一律剔除。
6.总结
就目前 RCOne 实例的运行状态而言,采用 XMPP 协议与 GPRS 无线网络接入的超远程
控制完全可行,并具有发展潜力。它较好地解决了无线远程网络控制的可连通性、延时可控
性和安全性的问题。RCOne 的后继版本也在不断完善中,同时 XMPP 协议的应用也在不断
扩大。就目前而言,采用 XMPP 与 GPRS 网络的远程控制具有如下优点:
(1) 相比于有线网络控制,无线系统具有超远程和灵活布设能力。可布设在无人监管的
野外环境,只要有手机信号处即可布设。
(2) 相比于传统开发工具,XMPP 是一个开放,可免费重开发、重发布的项目。可以移
植到为数众多的不同平台上,设备选择面广,无须专门设备,普通手机即可替代远程遥
控其,可以从不同类型的设备进行访问。
(3) 可以由中间服务器记录双向的控制信息历史,便于后期分析统计。
(4) 可以进行高级的控制功能,如,获取现场照片,通过短信唤醒,通过短信回传紧急
错误等。
(5) 更安全,更可靠,更低价。
参考文献
[1] 卢昱.网络控制论概论.国防工业出版社,2005.
[2] 3GPP. GSM/GPRS 标准草案. Release 99,1999.
[3] XMPP Protocol. XMPP RFCs. (Request For Comments, Internet 标准草案),2004.
-7-
Systems and Applications of XMPP and GPRS network in
the Field of Remote Process Control
Tang Xuming,Sun Changguo
Department of Automation, University of Science and Technology,Beijing (100083)
Abstract
Remote control of field devices over wireless network usually refers to complicated configurations in
connections, message format, and logging of control message history. Conventionally, devices are
separated, without the capability of easy expansion or easy renovation. Besides, specifically defined
equipments are usually expensive. However, remote control technology integrated with GPRS and
XMPP only requires low-cost devices. It is an open communication system, and provides higher
compatibility as this solution could be distributed onto various devices and is also integrated with
remote data collection, remote data logging and remote control. The demo program in this paper has
already displayed its capability of control.
Keywords:XMPP,GPRS,XML,Remote Control
作者简介:
唐旭明,男,(1985- ),工学学士,主要研究方向是智能嵌入式设备和其应用;
孙昌国,男,(1958- ),工学博士,从事电机控制系统、运动控制系统和嵌入式系统的研究
及工程应用。