APP下载

一种用于FTU 维护的手机MMI App 设计

2021-04-20张晨飞王嘉浩

电子设计工程 2021年6期
关键词:报文蓝牙智能手机

张晨飞,王 锦,王嘉浩,董 驰

(1.西安工程大学 计算机科学学院西安 710048;2.西安工程大学机电工程学院西安 710048)

由于泛在电力物联网技术的迅猛进步以及配电网物联网自动化技术的逐步完善,配电网自动化监控的覆盖范围也在日益增大[1-2]。配电馈线终端(Feeder Terminal Unit,FTU)是配电网自动化系统(Distribution Automatic System,DAS)的重要组成部件,主要用于实现配电网分段开关的在线状态监视、故障隔离和供电恢复等功能[2-4]。但是,FTU 架设在塔(柱)上,现场维护十分不便,采用有线和红外光头连接都需要登高打开配电箱门进行通信连接[5]。文献[5-6]提出了FTU 无接触维护的思想,设计专门的PDA(Portable Data Assistant)终端作为FTU 的人机交互界面,能够极大地便捷FTU 巡检维护。随着物联网技术的快速发展,智能手机App 已成为一种大众喜爱的手持移动终端应用[7]。但是,FTU 的监控对象为配电网柱上的分段开关,严禁非指定专业人员操控,否则将导致停电事故的发生[5-8]。因此,若要利用手机App 作为FTU 的PDA 终端维护应用,则必须具有稳妥可靠的安全管控措施。随着移动电子商务技术的发展,智能手机已经成为一种广泛使用的在线购物、支付、银行转账的工具,对手机App 的安全管控技术已经日益成熟[9-10]。采用移动电子商务中手机身份认证技术确定手机App 操作员的身份,再授权其对FTU 进行维护操作,可以确保手机App 操作的安全性。为了实现手机App 的身份认证,采用动态双因子身份认证技术对操作员身份进行异步验证,验证通过后才授权进行人机交互操作[11-12]。为了建立智能手机与FTU 的无线连接,利用手机自带的蓝牙通信端口,在FTU 上扩展蓝牙通信接口,实现数据无线传输通道的建立[13-14]。基于以上的研究分析,完成了一种专门应用于FTU 无接触维护的手机App设计,下面就设计的实现技术进行具体介绍。

1 基于蓝牙技术的FTU无线PDA构思

1.1 手机作为FTU维护PDA的构思

FTU 通常架设在塔(柱)上运行,为了方便开展巡检维护工作,理想的方法就是使用PDA 终端进行无接触式维护,既便于操作,又可以保证巡检人员的人身安全。智能手机具有携带方便、界面美观、操作简单等优点,作为FTU 的维护终端是一种理想的选择。考虑到电力设备操作的严谨性,利用智能手机App 作为PDA 实现与FTU 的人机交互时,必须严格管控操作员身份,避免非指定人员对电力设备进行控制操作,造成停电事故。安全管控智能手机应用的最理想和有效的方法是操作人身份认证,只有满足身份认证条件的操作人员方能被授权进行维护操作。智能手机作为FTU维护PDA的构思如图1所示。

图1 手机作为FTU无接触维护PDA的构想

1.2 FTU的人机交互

FTU 主要实现柱上分段开关的在线监视和控制,需要采集8 路开关量(遥信)、10 个交流模拟量(遥测)、1 个分段开关的分合操作和保护动作(遥控);需要与DAS 主站采用移动4G 网络实现IEC104协议数据交互,采用GPRS 实现IEC101 协议数据交互;采用互感器窃电方式获取工作电源,供电子系统根据开关所在区段采用蓄电池或超级电容器作为后备储电元件,需要对其进行充放电管理,为此FTU 选用ARM Cortex M4F 作为总控CPU,实现各项功能的管理控制。

从人机交互的角度,有两种不同的需求,其一是设备制造商的生产调试与检修,对嵌入式系统的自检和工作状态进行调试检测,需要观测各个组件的状态以及报文通信流程;其二是电力用户,需要观测一次电力设备的工作状态和电气运行参数,进行传动试验和系统联调。电力用户在安装调试的过程中,希望直接操作FTU 的按键,以便从液晶屏进行观测;在对设备巡检维护时,希望在地面使用PDA 直接与FTU 进行人机交互。FTU 是商业化产品,需设计友好的人机交互方式,以满足各自需求,方便产品的使用。

为此,FTU 设计了3 种人机交互方式,其中,为模板生产调试设计了超级终端接口,FTU 机壳面板配置了按键液晶显示界面,并扩展了蓝牙通信模块以支持PDA 无接触式运维操作。为了简化FTU 人机交互子系统的设计,3 种方式共用1 个异步串口,操作面板以ARM7 做成智能MMI 卡,采用扩展的类Modbus 协议实现主板与MMI 卡和手机PDA 的数据交互,实现人机交互功能。FTU 人机交互子系统的框图如图2 所示。

图2 FTU人机交互子系统的工作原理

图2 中,只要与3 种人机交互分时进行,就可避免发生访问冲突。VT100 和Modbus 两种访问方式需要通过命令切换,正常运行时,为用户模式,在使用超级终端进行操作前,连续点击3 次ESC 键,切换至VT100 模式。利用超级终端发送命令和FTU 复位即可恢复到用户模式。

1.3 蓝牙信道扩展

为了在FTU 和手机蓝牙端口之间搭建通信信道,需要在FTU 主板上扩展蓝牙通信的接口,在硬件设计上予以支持。为了简化硬件电路设计,直接采购了蓝牙DCE 模板进行集成设计。所选用的蓝牙模块支持蓝牙4.0 规范,工作温度范围为-40~80 ℃,满足应用需求。蓝牙DCE 板与MCU 连接的电路原理如图3 所示。

图3 蓝牙模块与MCU连接的电路原理

为了实现两个蓝牙设备之间的通信,需要在二者之间建立通信连接。根据应用需求,在FTU 和手机之间建立点对点的连接即可,无需建立复杂的微微AS 网。具体实现时,设置FTU 上的蓝牙模块处于主方式,设置规定的蓝牙设备名称,手机蓝牙端口处于从方式,由手机搜索FTU 的蓝牙设备,并建立连接。蓝牙连接建立之后,调用底层驱动服务,即可实现二者之间字节流的交互。

为了实现FTU 主板与MMI 卡、手机MMI App 之间的数据交互,在遵循Modbus RTU 协议规范的基础上,扩展了私有功能码0x61~0x66,分别实现召唤监控信息、召唤配置参数、下达控制命令等6 条命令,实现相应的人机交互操作。例如,召唤时间和FTU的运行状态命令的帧为ID、0x61、0x01、0x00、0x00、0x00、CRCH、CRCL,对应的响应帧为ID、0x61、0x08、msL、msH、hour、sec、year、mon、day、status、CRCH、CRCL,由此实现一个界面的信息刷新[8]。扩展的协议帧为企业标准,在一定程度上避免了其他PDA 与本FTU 的信息交互。

2 基于短信验证码的动态双因子身份认证

2.1 动态双因子身份认证的过程

计算机设备之间进行身份认证的方法很多,目前广泛使用的方法为动态双因子验证技术,即静态用户名、口令和动态验证码,身份认证服务器还实现了手机号码和静态用户名和口令的绑定。由于手机号码和持有者紧密关联,静态口令作为一级安全防护,验证码是服务器动态生成的随机数且一次有效,因此作为第二级安全防护使得身份认证的可靠性更高。动态双因子认证技术是一种异步验证方式,实现技术相对容易,其认证过程如图4 所示。

图4 动态双因子认证技术的身份认证

图4 中,请求的User、IP 和Umpn 分别为用户名、IP 地址和手机号码,手机界面在输入用户名之后,即可发出获取验证码的请求;服务器检查用户名和手机号绑定相符之后,发送验证码挑战信息给手机用户,R 为验证码,T 为加密算法标记;手机用户将用户名、验证码和用户名、静态口令(Code)两个身份因子发送给服务器,服务器认证后将结果反馈给手机用户,其App 软件根据反馈结果决定是否进入人机交互界面。

2.2 身份认证的加密算法

随机验证码只在一次规定时间范围内有效,由于安全管控的需要,该信息在传送过程中需要加密传输,此外其他信息的传送也采用密文传送,以确保身份认证过程的安全性。

现有的加密算法很多[15],由于加密算法需要在手机应用程序中使用,因此从时间复杂度和实现的难易程度角度来看,算法不宜过于复杂,且验证码是一种随机生成、短时有效的身份验证因子,应对密码的破解具有很强的鲁棒性。借鉴互联网企业项目中常用的加密算法,选用了TEA(Tiny Encryption Algorithm)算法用于身份认证过程中交互信息的加密[16]。

TEA 加密算法是一种分组加密方法,使用64 位的明文分组和128 位的公共密钥,其中分组的明文和密文字长均为64 位,具备超高的抗差分分析能力,并具有较强的安全性。TEA 算法采用黄金分割率δ对每个迭代轮的加密计算进行调节,使得每轮的加密互不相同,可选16 和32 轮迭代;每轮迭代只需要进行几次移位、异或和加法运行,算法复杂度低。TEA 是一种对称加密方法,解密过程与加密过程是互逆的,计算过程简单明了。由于该算法具有这些优势,所以使用范围非常广泛。假设64 位分组明文为P0和P1,a、b、c、d为128 位公共密钥,δ为常数0x9e3779b9,ε为每轮的调节参数,初值为0,则加密迭代过程的运算用类C 语言表述如下:

设64 位分组密文为E0和E1,则解密迭代过程的运算为:

根据式(1)和式(2)可以编制64 位分组的加解密函数。考虑到需要加密的信息码不一定为64 位的整数倍,因此采用Zeros 填充方式将不足部分补0,并采用TEA 的交织算法实现多组信息的加解密运算,从而实现整条信息的加解密处理[17]。

为实现挑战/请求的异步动态双因子身份认证,采用手机短信(SMS)实现认证信息传输。在调控中心,DAS 主站部署身份认证服务器,智能手机MMI App 启动运行之前,先进行身份认证,认证成功后进入人机交互界面。出于安全性考虑,若手机MMI App 上用户十分钟内无任何操作,并且没有任何反应,则强行退出,从而防止手机意外丢失造成损失。

3 手机MMI App的实现和测试

3.1 手机MMI App设计

手机App 软件的架构是一种层次化的结构,主要有功能层、界面层、中间件层和操作系统层,该App 主要涉及前两层的编程实现。其中用户界面的实现通过xml语言编写,需设计多个.xml文件来完成所需的用户界面元素。对应界面元素编制相应的Java程序,实现所需功能。MMI App 以Main Activity.java主函数作为入口,通过消息驱动的机制,选用对应的功能模块,进而再调用中间件和操作系统的API 来完成功能需求。MMI App设计的部分用户界面如图5所示。

图5 手机MMT App的用户界面

3.2 类Modbus报文通信包

手机作为FTU 的PDA 维护终端时,需要通过蓝牙通道与FTU 进行数据交互。MMI App 采用扩展的Modbus 报文进行底层数据通信。为了在蓝牙通道上实现Modbus 报文交互,采用了蓝牙Socket 通信编程技术,并使用子线程专门管理底层输入/输出流(InputStream/OutputStream),根据Modbus 帧格式中的ID、FC、FL、BODY、CRC 等来构造报文接收的状态机,在数据流中提取报文帧。由于ID 与协议其他字节一致会导致帧失步,可通过FC 和FL 的取值范围自动修正,顺移字节流中的报文头位置解决这一问题。通信子线程自动检测Modbus 请求帧和响应帧之间的时间跨度,判断报文通信是否超时,一旦超时,则采用自愈方式修复,修复失败则向用户警示通信故障。通信子线程一旦接收到完整无误的报文帧,便交给主线程进行解帧操作。报文帧发送则通过write 和flush 函数将字节流交给底层中间件,以便将信息发送给FTU。主线程根据功能码和对应的帧格式解帧,从而提取所需的数据参数。

3.3 测试结果

完成MMI App程序设计之后,在实验室的一台PC机上搭建了身份认证服务器环境和FTU 的测试运行环境,使用手机作为PDA 对FTU 进行人机交互操作,开展验证测试,主要测试的项目和结果如表1 所示。根据软件测试的结果,所设计的MMI App 的各项功能正常,符合技术规范书的要求。

4 结束语

针对采用智能手机作为FTU 手持维护终端的设计需求,分析研究有关文献,在利用动态双因子身份认证技术的基础上,通过蓝牙通信链路,建立手机与FTU 的数据交互通道,进而在智能手机上设计一款App,用于FTU 人机交互工具的构想;再根据FTU 人机交互的需求,在FTU 主板上构建蓝牙通信接口,扩展Modbus 协议,使得通过手机App 作为FTU 的人机交互界面成为可行;考虑到FTU 人机交互操作的严谨性,要求操作者严格把控,确保访问安全,借鉴移动电子商务中手机使用者身份认证的技术,将基于短信通信的动态口令双因子异步身份认证技术引入到项目的设计之中,实现了保密身份认证的功能,使得手机MMI App 作为FTU 的人机交互界面具有较强的安全把控性。从手机MMI App 实现和测试的结果来看,所设计的人交互界面美观大方、使用方便,满足工程应用的需求。

表1 电磁干扰抗扰度主要检测项目的检测结果

猜你喜欢

报文蓝牙智能手机
智能手机是座矿
基于J1939 协议多包报文的时序研究及应用
蓝牙音箱的直线之美
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
假如我是一部智能手机
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
紧急:蓝牙指尖陀螺自燃!安全隐患频出
热门智能手机应用