APP下载

基于ZigBee路灯组网的手机控制系统设计

2017-07-14顾祺加苏文林吴高标王纪宇范逸东

电脑知识与技术 2017年17期
关键词:远程控制移动终端

顾祺加 苏文林 吴高标 王纪宇 范逸东 楼思怡

摘要:为了实现对组网路灯远程的信息获取与管理,通过结合ZIGBEE路由技术,数据库,Java语言以及Eclipse编译工具,重点设计完成了该路灯组网管理系 APP,实现了在移动终端上呈现路灯的运行数据界面以及通过移动终端对路灯进行远程控制和监控。

关键词:ZIGBEE;路灯组网;远程控制;移动终端

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)17-0039-02

随着环保,节能概念的日益推广与国家支持,智能化,无限化已经成了路灯发展的主要趋势。LED光源以其节能环保闻名于世,在传统路灯的取代上,加上智能无线网的推广应用,能够实现利用手机监控路灯。

基于ZigBee的无线传感应用技术与手持终端安卓应用平台结合,可以完成对路灯的实时监控。针对一系列的情况分析并且加以处理,能实现自动警报,精确定位,智能报修,试试更改路灯状态等功能,大大提高路网的照明效率以及维修检测的方便。

1相关技术介绍

在工業4.0与中国制造2025的倡导下,物联网、无线技术将会成为市政路灯照明系统或私家照明系统的主要发展趋势。本文采用Android系统的移动终端并结合ZigBee技术对路灯系统进行监控。Android是主要使用于便携设备的一种以Hinux与Java为基础的开放源代码操作系统,分为四个层,分别是应用程序层(Applications)、应用程序框架层(Application Framework)、系统运行库层(Libraries和Android Runtime)和Linux内核层(Linux Kernel)。Zigbee是一种新颖的近程无线网络通信技术。在当今嵌入式应用非常受欢迎。它有低功耗、低成本、低速率、近距离、短时延、高容量、高安全等7大特点。

2系统关键技术及实现

在互联网蓬勃发展的今天,移动端的安全隐患是其发展中出现的主要问题之一,因此本软件采用了两步验证(Two-factor Authentication)的设计方式,服务器接收控制信息并分离权限,验证手机提供的公钥文件,若Pbulic Key的参数正确,则按给予用户高级交互权限。连接主动中断后,系统自动删除Cookie和私钥文件。利用这种方法就能保证访问控制系统时的安全性。因此如果那些不知道管理密码的人只能查看路灯信息但不能管理;此外管理人员在管理路灯的时候不用每次都输入密码,即每当输入一次后就有公钥进行验证并且拥有72小时的公钥验证给予的控制时间。计时系统根据后端服务器中架设的NTP(时间同步服务器)服务进行验证,防止移动端单方面修改时间造成的越权。

路灯监控系统由监控中心及移动控制端、无线网络、路灯节点3部分组成。监控中心以NAS作为服务器终端,运维人员通过NAS传出的数据对路灯进行监控。并且,Android移动终端通过Socket与服务器相连接,运维人员手持安卓智能手机向服务器提交请求并通过服务器返回值在安卓应用上的可视化数据对路灯的运行状态进行监理,由此实现移动终端对路灯的监控。系统结构如图1所示。

软件基于C/S架构,控制子系统和信息处理子系统基于Android智能移动平台。在Android系统中,自顶向下由应用程序层、应用程序框架层、外部库层、Android运行时库层、硬件抽象层HAL和Linux内核组成。Android智能移动平台的研发需要借助Java Native Interface、Eclips和Native Develop Kit等工具和方法。信息处理与控制子系统的MVC模式如图2所示。

其中移动端数据可视化的实现的主要是接收从服务器端传送的路灯数据,创建在硬盘缓存中的监听套接字,以此开启路灯运维监控。之后将服务器端封装后传出的路灯参数解码并创建SVG图像,可作动态也可作静态地进行显示。

路灯组网监控系统整体架构如图3所示。用户通过APP可以可视化的管理路灯,可以实现控制路灯开关、路灯周围光照参数分析、可随意设置路灯自动开关灯时间、工单递交、人工服务、故障信息的反馈及报警等功能。工作人员利用路灯组网监控系APP客户端向服务器管理请求,通过服务器调用城市照明运行管理系统服务端接口对城市路灯进行管理,并向该客户端发送路灯的工作状态;可以即时地向客户端发送故障信息;支持通过发送心跳包检测客户端是否在线以及消息的完整性检杏等功能。

在可视化方面的应用决定使用Android自带的图形系统。即SurfaceView的绘图方法,根据Android开发者文档,把Sur-faceView和SurfaceHolder两个公共库联合调用,直接从端内存或其他存在传人参数的接口取得图形参数,创建其他线程并且在其中向客户端上绘制,在用户界面中显示。之所以这么做是因为采用在自定义View进行绘图的方法,即存在一些缺陷:View缺乏双缓冲机制。SurfaceView启用新的线程去更新Sur-faceView的绘制,通过不停地重新绘制画面实现视频效果,由于是在新的线程中更新画面,不会阻塞主uI线程,这样避免画图任务繁重的时候造成主线程阻塞,从而提高了程序的反应速度。

MVVM共分为三层,view层、viewmodel层和model层,其中view层和viewmodel层互相连接;view层和viewmodel层是相互绑定的关系,当更新viewmodel层的数据的时候,view层会相应的变动ui;view层和model层不能相互知到,完全的解耦,view-model层充当了桥梁的作用。当用户出发事件的时候,用于操作view层发出的事件传递到viewmodel层中,viewmodel层去改变model层,并且将数据返回给view层,整个过程中view层和model层完全没有联系。

手机端APP在人为打开之后不仅需要主动与服务器进行连接,还要能够从服务器获取路灯信息、向服务器传递控制参数、通过获取路灯的返回值并判断故障类型。本APP技术栈使用Socket架构实现双方的通信。当APP与服务器端成功建立连接后,两端均通过JAVA标准库里的InputStream类和Output-Slxeam类进行双向通信。为了提高安全性,在AndroidManifest.xml文件中加入访问网络的权限过滤。

系统在设计过程中,应对其进行冒烟测试,在整个系统设计基本完成之后,也应该对其进行整体测试。通过输入嵌入式平台服务端的网络IP地址从而完成手机客户端与平台的建立连接,而无线传感器的节点是通过室内环境的变化传输相应数据到ZigBee终端,然后将数据通过协调器发送到服务端并且将之显示出来,在接收到的数据之后,经过处理,反馈给手机终端,发出什么指令则根据接收到的详细数据。手机端发送的指令显示在在嵌入式平台服务端,服务端将数据传通过串口送给Zigbee协调器,并通过Zi曲ee终端执行相应指令的功能。系统采用的传感器根据用途应放在合适的区域,比如:温湿度传感器主要用于监控是周围环境变化,适合安放在门窗,过道等地方。这些传感器所采集得到的数据信息会在嵌入式平台服务端显示出来,如温湿度的具体数值,红外传感判断是否有陌生人出入等。在测试过程中,所得到的结果应该会和实际情况有出入,所差无几,即符合设计的需要。

3结束语

路灯组网管理系统APP是以Eclipse编译环境下的Java语言编写的一个APP,辅以数据库信息的传导,在ZIGBEE路由技术的支持下实现客户的远程访问和管理。该系统具有智能化、高科技化、可操作性强等优点,可以充分利用Android平台的软硬件资源,是对远程监控在移动互联网环境下的一次有效尝试。适用于小范围、低数据量的监控系统设计。而测试结果也表明,我们小组设计的系统达到了预期目标。

猜你喜欢

远程控制移动终端
基于GSM的远程控制系统
手机APP在学生信息化管理中的应用探索