logo资料库

基于MQTT协议与Android技术的跨平台访客管理系统.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
智能处理与应用 Intelligent Processing and Application DOI:10.16667/j.issn.2095-1302.2017.03.012 基于MQTT协议与Android技术的跨平台访客管理系统 王 成,王 跃 (连云港杰瑞深软科技有限公司,江苏 连云港 222006) 摘 要:随着访客管理系统在企事业单位的逐步应用,实现了来访人员的信息化管理,但传统的单机访客系统仍然存在信 息传递不及时、使用流程复杂等缺陷。文中设计了一种新型访客管理系统,在原有基于.NET平台访客管理系统的基础上,综合 应用MQTT协议及Android技术构建跨平台的访客消息实时推送服务系统,实现了来访人员信息的及时传递,简化了访客管理 系统使用流程。 关键词:MQTT;Android;访客管理系统;.NET 中图分类号:TP393 文献标识码:A 文章编号:2095-1302(2017)03-0050-03 0 引 言 理人员通知访客可以进入。至此,基本流程执行完毕。 近年来,随着社会的不断发展进步,信息化手段已逐渐 访客系统的完整业务流程如图 2 所示。 渗透至社会各个领域。门卫和前台对来访人员进行登记管理 是安全保卫工作的重要环节也是第一环节。然而迄今为止,我 国政府机关部门、事业单位抑或绝大部分管理较完善的企业, 其安全保卫及前台来访接待工作却基本停留在手工书写阶段, 有些单位虽然购买了访客管理系统,但由于系统使用过程复杂, 导致来访人员信息无法及时传递给受访人,该系统常常处于闲 置状态。 针对以上问题,本文提出了基于 MQTT 协议与 Android 技术访客管理系统的设计方案,在原先已经开发的基于.NET 平台访客管理系统应用的基础之上,考虑现有 Android 系统 在移动终端广泛应用的情况,综合应用物联网及时通信协议及 移动终端技术实现跨平台的来访人员信息的实时推送功能。 1 系统架构设计 该访客管理系统架构主要由四个子系统组成,分别为基 于.NET 的访客管理系统、基于 JavaServlet 的服务器系统、基 于 MQTT 协议的 Apollo 服务器系统和基于 Android 的访客数 据查询系统。平台的基本结构如图 1 所示。 当有新访客时,完整的访客系统使用流程如下 : (1)访客需要先在门卫处登录访客管理系统进行来访登 记,完成登记资料填写后,数据会被保存至数据库服务器。 (2)系统自动给受访人的 Android 终端发送一个通知消息, 告知受访人有访客来访。 (3)受访人打开 Android 终端的访客数据查询系统,查 看访客信息并处理访问请求。 (4)访客管理系统接收到访客准许进入提醒后,门卫管 ———————————————— 收稿日期:2016-10-19 50 物联网技术 2017年 / 第3期 图 1 平台的基本结构 2 基于 MQTT 的消息推送技术简介 消息推送是指从服务器端向移动终端发送连接请求,传 输特定的信息。例如一些新闻客户端,每隔一段时间都会收 到一条或多条通知,这就是从服务器端传来的推送消息。 MQTT 协议是 IBM 开发的一个即时通信协议,该协议支 持所有平台,可以将所有物联网设备和外部连接起来,被用作 传感器和致动器的通信协议。将其作为消息推送协议的基本 原理是 :使用消息代理服务器(Message Broker),客户端连接 上消息代理服务器,跟服务器协商可以接受哪些类型的消息, 同时也可以发布自己的消息,这些消息根据协议内容可以被其 它客户端收到。基于 MQTT 协议消息收发流程如图 3 所示。 3 系统实现 3.1 通知功能的实现 3.1.1 Apollo 服务器的安装和配置 想要 实 现 基于 MQTT 的 消息 推 送功 能, 必 须 先 配 置 Message Broker 服务器,这里选择服务器 Apollo1.7 来搭建环
智能处理与应用 Intelligent Processing and Application PC端 服务器 Android终端 访客管理系统 Java服务器 Apollo服务器 保持连接 访客查询系统 发送通知 请求发送消息 通知操作 生成消息 推送消息 发送消息 接收通知 访客 进入系统 进入系统 受访人 登记信息 操作数据请求 返回数据结果 数据库操作 数据请求 返回数据 查看信息 数据库服务器 数据请求 返回结果 新增数据 查询数据 删除数据 修改数据 图 2 访客系统的业务流程 转换为 JSON 格式, 以便于在网络中传 输。 实 现该 功 能可 以 使 用 json-lib-jdk. jar 开发包,其中有 对 应 JSON 数 据 类 型 的 各 种 工 具 类, 可以简化开发过程。 3.3 访客平台的实现 基 于 .NET 的 访客管 理 系统作为 整 个系统的主要 数 据来源和管理平台, 其本身就是一 套单 境。具体搭建主要分为如下几步 : (1)去官方网站下载最新版的 Apollo1.7 服务器 ; (2)运行 apollo.cmd 创建服务器实例 ; (3)在服务器实例的文件夹下配置参数 ; (4)运行 apollo-broker.cmd run 开启服务器,在浏览器 中输入服务器的 IP 地址,即可访问 Apollo 服务器界面 ; (5)输入之前配 置 好的用户名和密码参数,即可访问 Apollo Console 控制台。 Message Broker服务器 发送消息 接收消息 保持连接 发送消息 接收消息 保持连接 客户端 客户端 图 3 基于 MQTT 协议消息的收发流程 3.1.2 MQTT 客户端的实现 使 用 WebService 服 务 器系 统 向 Android 端 发 送 通 知, 可将其看成两个 MQTT 客户端之间的通信过程,消息在传 播过程中经过了 Message Broker 服务器的转发,所以需要在 WebService 服务器系统和 Android 端分别配置 MQTT 客户端。 两边代码实现过程基本一致,都要在工程中导入 mqtt-client- 0.4.0.jar 的类库,然后使用工具类实现 MQTT 功能。 3.2 服务器功能模块的实现 WebService 服务器系统的功能模块主要分为 4 部分,分 别为响应终端 HTTP 服务请求模块、访问数据库模块、将数 据转换为 JSON 格式的模块和实现 MQTT 功能的模块。 响应终端 HTTP 服务请求模块主要通过继承和扩展 Java Servlet 类来实现。在程序中设定响应 HTTP 请求的方式,并 对不同的请求参数设置不同的操作流程。数据转换为 JSON 格式模块,主要对从数据库中取得的原始数据按照一定格式 独的系统,因此这里只简单介绍与本项目相关的功能模块。 (1)访客信息登记功能。该功能主要用来记录访客登记 信息,并将这些信息存储到数据库中,Android 终端设备可以 通过 WebService 服务来间接获取该数据。基于 .NET 的访客 管理系统演示界面如图 4 所示。 图 4 基于.NET 的访客管理系统演示界面 (2)发送访客来访信息功能。该功能通过 WebService 服 务器系统发出请求,用以给受访人的 Android 客户端发送通知 消息,消息中包含了受访人的 ID 标识,客户端通过 ID 标识 可以查询该访客的信息。Android 终端收到通知信息的界面如 图 5 所示。 图 5 Android 终端收到通知信息的界面 3.4 Android 客户端功能 Android 客户端的功能主要分为 4 个模块,即 Activity 模块、JSON 工具类模块、HTTP 工具类模块和 MQTT 功能 2017年 / 第3期 物联网技术 51
智能处理与应用 Intelligent Processing and Application 模块。 (1)Activity 是 Android 程 序的组件之一, 主要用于提 供界面。程序中除有 View 的组件定义外,还有访问数据库的 HTTP 响应请求操作和 MQTT 消息推送通知操作,这两项操 作都耗时较久。新版本的 Android 系统中不允许在主线程中执 行这种耗时较久的操作,因此只能新起两个线程来分别执行。 线程之间需要使用 Handler 进行数据通信,所以 Activity 中除 主线程之外,还有两个子线程可同时进行异步操作。Activity 起始界面和数据查询后的界面如图 6 所示。 图 6 Activity 完成查询访客信息界面 (2)JSON 工具类模块的主要功能是为对因 WebService 服 务 器 响 应 数 据 请求 操 作 传 递而来 的 JSON 格 式 数 据 进 行 解 析, 将 JSON 格式 数 据 转换为自定义格式的数 据。 同 WebService 服务 器 使 用 JSON 开发类 库一样, 使 用标准的 JSON 格式转换功能时要导入对应的开发包。 (3)HTTP 工具类模块的主要功能是向 WebService 服务 器请求 HTTP 服务,通过 GET 方式加上不同的参数形式进 行对数据库数据的查询和添加请求。当该请求有正确响应时, 数据以字节流的方式从服务器传递过来,使用 HTTP 工具类 将字节流转换为数据,并以接口方式提供给 Activity 调用。 (4)MQTT 功 能 模 块 的 主 要 功 能 与 WebService 服 务 器系 统 上实 现 MQTT 客户端 的 功 能 类 似, 主 要用来 接 收 WebService 服务器端以 MQTT 协议方式发送的消息,并以 Android 通知消息方式在终端通知栏中显示。MQTT 功能模块 必须另起一个新线程,该线程通过 Handler 与 Activity 通信。 4 结 语 随着物联网技术的高速发展及移动终端技术的广泛应用, 人们对信息传递的及时性要求越来越高。本文提出的跨平台访 客管理系统在充分调研了各个领域对于来访人员管理实际需 求的基础上,采用基于 MQTT 的物联网通信协议与 Android 终端开发技术解决传统访客管理系统信息传递不及时的缺陷, 用以提高对来访人员的管理效率。 参 考 文 献 [1] Lee S, Kim H, Hong D, et al. Correlation analysis of MQTT loss and delay according to QoS level[C].Information Networking (ICOIN).Bangkok,2013 :714-717. [2] 王楠,宋飞,周华春 . 一种基于 Android 平台的即时通信方案 [J]. 计算机应用与软件,2013 ,30(4):107-109,148. [3] 屈赟,陶晡,王克俭,等 . 基于 Android 的果树病虫害信息推送系 统的设计 [J]. 科技通报,2016,32(5):86-90. [4] 杨晴龙,王晓田,陈三,等 . 基于 Android 平台的集成查询系统的 设计与实现 [J]. 物联网技术,2016,6(1):73-75. [5] 吉东,崔忠伟,马虹 . 基于 Web 的高校团委信息管理系统设计与 实现 [J]. 物联网技术,2016,6(6):112-113. [6] 黄鹏宇 . 嵌入式停车场管理系统设计与实现 [D]. 成都 :电子科技 大学,2011. [7] 周开利,黎娟,刘江豪 . 基于物联网的开放实验室信息管理系统 [J]. 物联网技术,2014,4(7):85-87. [8] 姜妮 . 基于 MQTT 的信息推送系统设计与实现 [D]. 北京 :中国科 学院大学,2015. (上接第 49 页) 规则以及全局信息素挥发因子的改进,有效避免了算法陷入 [5] 潘杰 . 基于改进蚁群算法的移动机器人路径规划 [J]. 中国矿业大学 局部最优解的同时又提高了算法的收敛速度。最后通过仿真 实验验证了算法的有效性及可行性,在对比传统蚁群算法的 学报,2012,41(1):108-113. [6] 柳长安,鄢小虎,刘春阳,等 . 基于改进蚁群算法的移动机器人动 态路径规划方法 [J]. 电子学报,2011,39(5):1220-1224. 情况下,改进蚁群算法在寻找最优解的能力及效率上明显优于 [7] 尉朝闻,黎田 . 机器人路径规划的一种改进蚁群算法 [J]. 科技信息, 传统蚁群算法。 参 考 文 献 2010(35):107-108. [8] 赵开新,魏勇,王东署 . 改进蚁群算法在移动机器人路径规划中的 研究 [J]. 计算机测量与控制,2014,22(11):67-70. [1] 宋红生,王东署 . 基于改进蚁群算法的移动机器人路径规划 [J]. 机 [9] 何娟,涂中英,牛玉刚 . 一种遗传蚁群算法的机器人路径规划方法 床与液压,2012,40(20):120-125. [2] 万晓凤,胡伟,郑博嘉,等 . 基于改进蚁群算法与 Morphin 算法 的机器人路径规划方法 [J]. 科技导报,2015,33(3):84-89. [3] 段海滨 . 蚁群算法原理及其应用 [M]. 北京 :科学出版社,2005. [4] 徐利超,张世武 . 基于改进蚁群算法的障碍环境下路径规划研究 [J]. 智能工程,2013(7):61-64. [J]. 计算机仿真,2010,27(3):170-174. [10] 裴振兵,陈雪波 . 改进蚁群算法及其在机器人避障中的应用 [J]. 智能系统学报,2015,10(1):90-96. [11] 周明秀,程科,汪正霞 . 动态路径规划中的改进蚁群算法 [J]. 计 算机科学,2013,40(1):314-316. 作者简介:俞 烨(1992—),男,硕士研究生。研究方向为智能算法及机器人路径规划。 贺乃宝(1967—),男,教授,博士,硕士生导师。主要研究方向为复杂系统智能控制。 52 物联网技术 2017年 / 第3期
分享到:
收藏