使用手机APP实现FTU人机交互界面设计*

2018-12-07 08:32,,,
单片机与嵌入式系统应用 2018年11期
关键词:身份验证报文蓝牙

,,,

(1.西安工程大学 计算机科学学院,西安 710048;2.国网陕西省电力公司)

引 言

随着配电网技术的快速发展,城市配电网自动化监控的覆盖面不断扩大[1-2],但是配电馈线终端FTU的现场检测和维护十分不便[3],主要原因是FTU一般架设在柱上,操作FTU自带的人机交互接口(MMI)必须借助梯子等登高工具,采用便携式电脑作为维护终端也需要登高才能进行通信连接。针对这一情况,一些工程技术人员和厂商提出了无接触维护方式[3-5],采用专用PDA手持终端实现FTU的无线人机交互,在FTU操作箱附近对其进行自检、设置/修改其配置信息,大大改善了FTU维护的方便性。也有一些学者使用PDA实现了便携式信息管理,丰富了PDA功能的实现思路和实现技术[6-7]。随着智能手机的广泛应用,在手机上开发APP小程序实现PDA的功能已十分常见[8-10],从另一侧面也说明本项目设计具有技术可行性。考虑到配电线路操作的敏感性,手机APP就可以对配电开关进行分合操作,这种情况必须加以严格限制,防止造成不必要的停电事故。借鉴手机电子商务通过实时获取验证码的方式[8,11]对手机进行绑定,在管理中心许可后,手机APP方可对FTU进行控制操作,从而实现智能手机人机交互功能的安全管理,既方便了FTU的现场无线维护,又不失手机APP实现MMI的安全性。这里就项目的设计与实现技术进行简单介绍。

1 FTU中蓝牙链路扩展

1.1 基于蓝牙技术的智能手机APP解决方案

蓝牙技术[12]是一种目前广泛使用的短距离无线通信技术,使用蓝牙技术可以将智能手机、PDA手持终端、笔记本电脑等便于携带的智能设备与计算机设备实现无线通信连接。蓝牙技术基于RF技术实现,支持半径为10 m的无线通信距离,通信连接具有简洁、快速、方便等特点,因此非常受使用者欢迎。FTU馈线终端俗称柱上控制器,大多安装在配电网线路的电线杆上,是配电网自动化系统的核心组件之一[4]。为了方便柱上FTU现场检修和维护,本项目采用了智能手机+APP工具的解决方案[10],为此需要在FTU主板上扩展蓝牙模块,以便提供本解决方案的物理通信链路支撑。

1.2 FTU蓝牙功能扩展

为了实现FTU与智能手机之间的蓝牙通信连接,这里选用了广州汇承公司出品的HC-05型蓝牙模块[13-14]扩展FTU的无线通信接口。该模块基于蓝牙2.0规范,具有-40~70 ℃宽温范围,满足FTU现场使用的条件。使用FTU现有的异步串口,通过AT指令即可实现FTU与外部计算机的无线串口通信。

为了将HC-05模块安装在FTU主板上,这里采用了硬件模板升级的方式,更改原有的电路原理图,扩展本功能。HC-05蓝牙模块接入FTU中MCU的电路如图1所示。

图1 蓝牙模块接入FTU的电路设计

根据HC-05技术手册[13],图中串口通信线(BT_RXD和BT_TXD)接在MCU的UART1接口,模块的控制线(BT_RST、BT_KEY和BT_LED)与MCU的GPIO引脚相连,从而实现MCU对该模块的管理和通信功能。

为了实现蓝牙模块的透传功能,需要使用HC-05模块中的4个AT指令:通信测试、修改名称、修改波特率、修改配对密码[14]。为了实现对蓝牙模块的维护管理,设置FTU中的蓝牙模块工作在自动连接工作模式,并处于从工作模式。FTU中应用软件增加了专门操作命令,实现蓝牙模块的通信参数管理。

1.3 FTU与APP的通信业务实现

为了实现FTU与APP的数据交换,本文采用了类Modbus协议,即遵循Modbus协议中RTU帧的格式规范,扩展功能码,制定私密通信帧,防止无关人员编写的手机APP与FTU进行报文通信。此外,为了防止明文报文被偷听,这里对Modbus协议帧中的数据域进行了简单加密,即发送端对数据域做加0x33h处理,接收端做减0x33h处理,防止非专门技术人员进行报文监听。

针对人机交互的功能需求,扩展了读开关量状态、读模拟量采集码、发控制输出命令、设置定值等功能码和帧格式,并在FTU应用软件中扩展实现了这些通信业务,配合手机APP实现人机交互功能。

2 智能手机人机交互APP设计

2.1 APP方案

为了使用智能手机实现FTU的人机交互界面,所设计的APP小程序必须具有如下功能:与管理中心服务器的GSM通信,使用动态口令进行身份验证;FTU的人机交互界面;与FTU的人机交互通信,如图2所示。

图2 智能手机APP工具的功能

图2中,FTU通过功能扩展已实现了蓝牙通信链路,并具有MMI通信业务的功能,手机APP采用扩展的类Modbus协议与之通信,实现MMI界面实时更新功能;智能手机采用4G网络通信,与管理中心服务器进行加密通信,获取验证码,得到操作授权,而后手机进入MMI界面,进行相应的人机交互工作;管理中心服务器具有用户名、手机号绑定功能,自动发送并检测验证码,向手机APP发送操作授权;手机APP获得操作授权之后,如果10分钟内不再进行MMI操作,则自动取消授权,如需继续操作,要重新获得管理中心授权。

手机APP选用了基于 Android 平台的开发技术,使用 Eclipse 作为开发工具,设计并实现上述功能。

2.2 动态口令验证

由于FTU能控制配网分段开关分合,其Flash中存储的保护定值也是非常关键的参数,对FTU的现场维护需要在授权下谨慎为之。而智能手机是广泛使用的移动设备,使用其作为FTU的维护终端必须要有严格的安全措施。为了达到这一目标,这里借鉴手机电子商务中动态身份验证的方法,对智能手机的身份进行验证,确保万无一失。

动态口令验证技术有多种类型,这里使用了挑战/应答方式(Challenge/Response)的身份验证技术,认证服务通过手机短信方式实现,在企业信息管理系统中进行身份验证,这种方法具有技术简单、保密性强等特点[15]。

图3 挑战/请求方式的认证过程

其验证过程如图3所示。图中,U为User,即用户名;IP在手机验证时不使用;Umpn即User mobile phone number,手机号;R为验证码,T为TEA加密算法,Code为静态口令。APP启动过程中,用户必须首先完成登录,才能进入MMI交互界面。

管理中心服务器采用GPRS+SIM模块方式实现手机短信通信,服务器软件负责用户名和手机号绑定,并通过动态验证码进行身份验证。手机APP和服务器软件采用现有常用的TEA算法(Tiny Encryption Algorithm)实现短信内容加密[15],确保身份验证过程中的安全性。手机MMI界面如果10分钟内无有效操作,APP将自动退出登录状态。

2.3 MMI人机交互界面

人机交互界面使用xml布局文件设计,包括操作菜单、主信息显示、运行状态/告警指示三个区域,以用户喜闻乐见的界面展示MMI的输出画面。

2.4 与FTU数据通信

手机APP采用蓝牙方式与FTU通信。通信之前,先使用手机的“设定”功能,实现FTU蓝牙设备的扫描和配对,配对成功之后方可使用手机的这一功能。

手机APP启动时,根据用户选择,使用指定的蓝牙配对与FTU进行P2P通信。为了实现底层类Modbus协议通信,这里使用了蓝牙Socket通信编程技术,并使用子线程和输入/输出流(InputStream/OutputStream)在底层实现报文交互。为了从所接收字节流中识别Modbus报文帧,线程按照Modbus帧格式中的ID、FUNC、LEN、BODY、CRC等字段构建上下文相关的状态机,自动搜索报文,防止ID与报文字节值相同而发生帧失步的情况。子线程自动检测请求帧和响应帧之间的时间差,判断通信流程是否超时,并进行通信自愈和告警。收到完整报文、CRC校验正确之后将报文帧转交主线程解帧处理。报文发送则相对简单,计算报文长度之后,调用write和flush成员函数发出信息。主线程根据解帧的结果,刷新实时显示的界面或告知控制操作、定值修改的结果。

3 调试与检测

在完成FTU蓝牙功能扩展和智能手机MMI应用软件设计开发之后,在实验室和工程现场对所设计的项目进行了验证测试,测试结果表明,FTU的升级工程中手机MMI子项目各项功能都能正常运行,满足用户技术规范书的要求。

结 语

猜你喜欢
身份验证报文蓝牙
基于J1939 协议多包报文的时序研究及应用
蓝牙音箱的直线之美
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
紧急:蓝牙指尖陀螺自燃!安全隐患频出
ATS与列车通信报文分析
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia
身份验证中基于主动外观模型的手形匹配