李飞翔 商枝江
摘要:针对方舱内部的应用环境,对方舱控制系统进行分析和研究,提出一种低成本、易扩展,适用于方舱应用的控制系统。基于智能手机平台或平板电脑设计了一套Android智能手机方舱控制系统,利用Android提供的各种资源建立智能放舱控制终端软件。该系统既可应用于普通的方舱,也可用于应急指挥方舱,实现了方舱内部设备的远程控制和本地控制相结合。结果表明:该系统硬件设备符合國产化要求、成本低、易扩展。
关键词:Android;方舱;SfotAP;嵌入式系统
中图分类号:TP316;TP273 文献标识码:A 文章编号:1007-9416(2020)07-0164-03
0 引言
随着5G通信技术的发展,各类移动智能终端相继问世,以Android平台为代表的智能手机正伴随着5G技术开始获得人们的广泛接受。移动终端设备已经跨越了仅仅将通信作为唯一目标的模式,而形成具有广泛应用价值的控制、管理与计算的云服务平台[1]。将智能手机与系统控制相结合,为实现便携移动的通信方式提供了支撑,本文实现了一种基于Android手机的无线远程控制系统,系统中智能手机可利用WIFI与方舱内各类设备进行互联控制。特别是物联网(IOT)开发与应用中得到广泛的使用[2],将对方舱内工作模式产生巨大的影响。
1 系统的总体设计
智能方舱控制系统主要包括Android客户端和集中控制服务器两部分,Android智能手机安装控制程序以后,用户就可以通过触屏和各种设备进行交互。ARM嵌入式服务系统负责将Android智能手机的操作指令转发到方舱设备,并将方舱设备的各类状态信息实时转发到Android智能手机上。系统的总体网络示意图如图1所示。
Android智能手机通过WIFI连接到方舱网络,ARM嵌入式系统具有无线AP功能,通过以太网连接到方舱网络[3],通过IP接入器连接到方舱内各个设备(摄像头、视频矩阵、液晶电视等),当用户在智能Android智能手机上进行操作后,集中控制服务器接收到用户的操作指令后,将操作指令通过AP转发器发送到方舱内相相关设备,方舱设备接收到用户的操作指令,执行指定功能,同时将设备的状态信息返回到集中控制服务器的接受端,从而实现智能手机对方舱内各种设备的指令控制[4-5]。
2 嵌入式模块的设计
系统硬件平台是基于ARM Mali-T860架构的处理器瑞芯微RK3399,主频达1.8GHz,具备多种数据通信接口,USB3.0,PCIE高性能设备接口,支持常用外接设备,接口丰富,性能稳定。支持 Android、Linux、Ubuntu 等开源操作系统,可以移植开源项目来实现方舱内设备的控制功能。
2.1 嵌入式Linux移植
为了达到方舱的系统实时性的要求,针对RK3399开发平台,需要对Linux做一定的配置和裁剪,再安装到RK339平台中。开发板交叉编译器的PC机上,对Linux源码进行修改配置,包括修改编译文件和配置文件,选择对舱内各个设备驱动。完成配置之后,内核进行重编译,生成方舱定制的内核镜像。
2.2 无线网卡AP驱动移植
系统所使用的RoHS GWF-3E无线网卡,驱动分为STA驱动和SoftAP驱动两种,STA驱动支持无线网卡工作在STA模式下,而SoftAP的驱动支持无线网卡工作在软AP的模式下,可以将RK3399嵌入式服务器作为一个软的接入点,Android智能手机通过RK3399嵌入式服务器完成对方舱内部各个设备的控制。
下面对SoftAP驱动进行移植:
(1)将RK3399_SoftAP_v2.4.0.1_DBA,dnsmasq- 2.65,wireless_tools.29三个文件放入/opt/wifiap/目录;
(2)在RK3399_SoftAP_v2.4.0.1_DBA驱动中,有MODULE、NETIF、UTIL三个文件,修改文件中的Makefile,内容如下,修改完成后进行编译:
CROSS_COMPILE=arm-linux
(3)编译通过后,将三个文件中分别生成的可加载模块,RK3399ap.ko,rtutil3070ap.ko,rtnet3070ap.ko。通过USB接口将这三个模块下载到S3C2440目标板的/usr/lib/softap目录下;
(4)拷贝dnsmasq到/usr/sbin,修改dnsmasq可执行权限chmod+xdnsmasq;
(5)运行脚本文件startSoftAp。脚本文件中包含的内容如下:
dnsmasq -C/etc/softap/dnsmasq.conf //开启dns和dhcpq服务
echo 1>/proc/sys/net/ipv4/ip_forward //开启路由
(6)利用iwpriv配置SoftAP认证信息。
Iwpriv ra0 set SSID = ControlerAP
3 智能方舱客户端软件设计
3.1 Android客户端用户界面
Android手机方舱控制程序主界面如图2所示,图中包含有摄像头、空调、云台、液晶电视、矩阵、系统设置,可以选择要进行控制的设备进行操作[6]。
3.2 网络通信
系统的通信网络部分采用Client/Server的结构来实现,服务器与客户端通过Socket进行通信。客户端通信程序流程步骤如下:(1)初始化;(2)创建Socket长连接;(3)连接Server服务器;(4)发送控制指令;(5)结束。
为实现智能集控服务器与下车系统的手持端实现有效、完整、安全的通信,指定本协议规范。
通信协议规范如下:(1)所有的命令及数据报文均以ASCII形式传送;(2)数据格式如表1。
通信协议操作指令格式的有关说明如下:1)01帧头:0xCE;2)02请求位:请求ID;3)03手持终端地址:用于标识当前操作指令发送给与智能集控服务器相连接的任何类终端设备,以保持每个手持端的唯一性;如空调为0x01;4)04设备种类:用于标示与智能集控服务器相连接的伺类设备;5)05设备地址:由设备厂商提供,用于区分同类的多个设备,保持其唯一性;6)06-08数据域1~数据域3:用于说明指令码的操作参见具体设备协议,默认设置均为0x00;如空调工作在制冷模式为0x03 0x00 0x00;7)09结束位:0x28。
控制空调工作在制冷模式的数据格式见表2。
3.3 数据库
由于方舱中各个设备状态的信息较少,采用Android平台的SQLite数据库。在系统设计中直接调用数据库的API接口,即可实现数据的增删查改等数据操作,具备易用性、可移植性、高效性和高可靠性。
数据库主要存储如下信息:方舱批号,各个设备类型,设备的各类状态信息。
4 结语
将编译的手机应用App软件成功安装,经反复测试,通过方舱内部通信网络实现对方舱内设备的监视和控制,实现集中控制和管理。
本控制系统采用智能终端控制方式+嵌入式服务器,这种方式采用的终端软件具有易移植和通用性,市场的应用价值较高,便于推广,本系统所需硬件系统符合国产化要求。
参考文献
[1] 王朝华,陈德艳,黄国宏,等.基于Android的智能家居系统的研究与实现[J].计算机技术与发展,2012,22(6):225-229.
[2] 于輝,蒋飞,赵克俭.物联网军事应用分析[J].指挥信息系统与技术,2011,2(5):6-10.
[3] 黄学沛,张燕.基于Android的多维级联定位技术的研究与实现[J].电脑知识与技术,2016(7):38-41.
[4] 李英民.指挥控制系统方舱噪声分析及降噪设计[J].指挥信息系统与技术,2010,3(4):77-80.
[5] 杨业令.基于物联网的智慧家庭系统设计与实现[D].成都:电子科技大学,2013.
[6] 赵亮,张维.基于Android技术的界面设计与研究[J].电脑知识与技术,2009,5(29):8183-8185.