李佐彪,陈海娃
(华南农业大学珠江学院,广东 广州 510900)
基于Android的智能控制小车APP
李佐彪,陈海娃
(华南农业大学珠江学院,广东 广州 510900)
本设计是开发一个可以通过用户自己部署或者连接AnyChat视频云平台的服务器登录进入到功能主界面,通过蓝牙串口通信技术实现视频监控、视频参数设置及控制小车行驶等功能的智能APP.视频监控可以实时在线远程监控小车状况;视频参数设置体现视频信息设置的管理;无线控制是APP终端发送指令实现对小车的运动控制.本项目软件部分是基于Android平台下通过Java语言编写程序,通过APP驱动智能小车的硬件电路,最终实现对小车的各种控制.
Android APP;软件编程;硬件电路
随着科技的进步,手机的各项技术给人们带来极大地便利,小车的遥控技术运用在手机上将会方便人们对小车的控制.本项目是通过软件编程来控制小车的硬件电路进而实现对小车的控制.蓝牙是一种支持短距离通信的无线电技术,本项目的APP是通过手机蓝牙控制小车运动.
安卓手机普遍使用之前,大部分智能小车是通过计算机进行控制的,但是计算机不方便携带,可操作性低且开发成本高,因此随着安卓手机的流行,以APP形式控制小车运动越来越广泛.本设计占用手机内存少、执行效率高、携带方便、操作简单.通过该APP用户既可以控制小车运行又可以监控小车的状态.
本系统主要分为四个模块:APP登录、视频监控、视频参数设置和无线控制小车.用户通过服务器登录操作进入到主界面即可对小车进行控制.研究的内容如下:
2.1 APP登录
设计登录界面输入框,包括服务器的IP,端口号和用户名设计,未点击“登录”按钮时显示的按钮是登录状态的标识,点击“登录”按钮之后,显示的是“登录”按钮等待状态的标识.登录时可以连接自主部署的服务器,也可以连接AnyChat视频云平台,连接自主部署服务器的地址为自设的服务器IP地址或域名、端口,连接AnyChat视频云平台的服务器地址为:cloud.anychat.cn;端口为:8906,用户名可以任意输入.
2.2 视频监控
摄像头采集模块和视频处理模块通过WiFi蓝牙串口通信技术,实现摄像头远程监控智能小车等功能.
2.3 视频参数设置
视频参数设置主要包含视频清晰度的设置,视频旋转模式设置等等.
2.4 无线控制小车
首先,手机和迅为4412-A8 ARM开发板上的蓝牙进行配对,迅为4412-A8 ARM开发板和小车上的蓝牙也进行匹配,匹配成功后手机APP,开发板和小车之间就能相互通信了.然后利用Android终端APP发送控制指令给开发板,然后开发板通过蓝牙对转发控制指令给小车,最终实现控制小车前进、后退、向左向右行驶和停止的功能.
3.1 软件设计思路
系统软件设计功能结构图见图1所示.APP设计包括APP登录、视频监控、视频参数设置和无线控制小车四个模块的设计.
图1 软件设计功能结构框图
3.2 硬件蓝牙模块设计思路
系统控制核心是小车上的K60单片机,k60单片机外接的模块主要有蓝牙通信模块,电机驱动模块,以及电机模块.K60单片机通过外接蓝牙从机模块,APP发送指令给同时也具备蓝牙功能的4412-A8 ARM开发板,然后K60单片机通过蓝牙接收到4412-A8 ARM开发板发送的指令,K60单片机根据相关指令进行相应处理,接着输出控制信号利用电机驱动模块驱动电机实现小车运转,K60单片机接蓝牙模块如图2所示.蓝牙从机接上K60后,LED灯常亮,表示蓝牙连接状态,闪烁表示没有蓝牙连接.
图2 蓝牙接口
3.3 系统工作流程
用户通过服务器成功登录本系统后,可以进行APP登录、视频监控、视频参数设置和无线控制小车等操作.在登录时,用户可以用自主部署的服务器IP和端口登录,也可以连接AnyChat视频云平台的服务器登录,用户名可以任意输入.在进行蓝牙配对时,如果是已配对的则略过,得到显示,否则把需要配对的蓝牙添加到列表中进行显示.蓝牙配对成功以后便可以通过手机APP终端对小车进行操作.智能控制小车APP系统的系统流程图如图3所示.
图3 系统流程图
4.1 环境及平台搭建
4.1.1 系统主要软件环境
本系统采用Java语言的安卓技术为开发环境,其运行环境是:使用Windows 2007,Android手机4.0以上的系统,IIS 5.1(信息服务管理器5.1)以及带有蓝牙设备的真机.
4.1.2 系统主要硬件环境
安卓APP的硬件运行环境主要是目前流行的安卓手机以及烧写有安卓系统的4412-A8 ARM开发板,与之匹配的机器人小车硬件环境有K60单片机、机器人小车底盘、蓝牙串口模块、电机驱动模块、机器人小车电源模块、7.2V镍镉电池等组成.
4.2 功能模块实现
本设计主要涵盖四个模块:APP登录、视频监控、视频参数设置和无线控制小车.后面三个模块是基于WiFi蓝牙模块的连接实现的.连接蓝牙时先初始化设备存储数组,注册接收查找到设备action接收器,得到本地蓝牙句柄,通过句柄去获取已配对蓝牙的设备列表.
4.2.1 APP登录
本次设计登录界面的服务器IP和端口号主要以AnyChat视频云平台的服务器为主,连接Any-Chat视频云平台的服务器地址为:cloud.anychat. cn;端口为:8906,用户名可以任意输入.本次设计用户名以Android为例,ip输入框为cloud.anychat. cn,端口为8906.
4.2.2 视频监控
用户通过自己部署或者连接AnyChat视频云平台的服务器登录成功以后,点开视频监控界面,通过蓝牙串口通信技术连接摄像头,实现对小车的视频监控.
4.2.3 视频参数设置
可以设置视频清晰度,视频旋转模式信息等等.其中视频清晰度包括:普通视频质量、中等视频质量和较好视频质量.
4.2.4 无线控制
通过蓝牙串口通信技术对小车进行匹配,匹配成功后利用Android终端APP发送控制指令对小车进行操作.实现控制小车前进、后退、左转、右转、停止和行驶的功能.用户点击“up”按钮,小车向前行驶,点击“down”,小车后退,点击“left”,小车向左,点击“right”,小车向右,点击“stop”,小车停止.
5.1 软件调试
完成调试的步骤:(1)判断蓝牙的匹配、小车正常行驶的动作、方向及APP对小车的监控等情况.(2)处理登录界面输入框出现服务器IP和端口号不匹配时是否能够登录,用户名登录成功以后,用户是否出现在设备列表里面等情况.(3)登陆APP成功之后出现没有自动跳转到首页的情况时,点开测试的每个模块,检查是否有bug存在,直到每一项都通过为止.
5.2 硬件电路调试
在调试过程中,第一,检查对应模块的原理图接线是否正确;第二,检查原理图与所用器件的引脚是否吻合,进而排除逻辑上的错误;第三,用万用表检查是否出现虚焊,短路或者开路的现象,进而排除线路问题和电源故障问题;第四,利用IAR下载调试K60过程中,最容易出现下载不了的情况,这时要注意Jlink的接线是否正确,查看驱动Jlink固件有没有解锁.
该系统通过结合硬件调试,整体达到了预想的效果,APP无线监控可以控制小车的行驶状态和方向,视频监控可以捕捉到小车的周围环境,视频参数设置模块实现了对视频清晰度和旋转方向的调整.只是开发的时候登录界面使用的是公共服务器,可以在列表里面看到其他用户的信息,今后会继续完善.
〔1〕王国辉,李永强.视频学Java Web[M].北京:人民邮电出版社,2010.
〔2〕王瑛,张玉花,李祥胜,等.Oracle数据库基本教程[M].北京:人民邮电出版社,2008.
〔3〕Thomas Kyte.Oracle Database 9i/10g/11g编程艺术:深入数据库体系结构[M].北京:人民邮电出版社,2011.
〔4〕斳岩,姚尚朗.Android开发入门与实践[M].北京:人民邮电出版社,2009.
〔5〕吴善财.Android基础开发与实践[M].北京:清华大学出版社,2012.
〔6〕张跃平.JSP程序设计[M].北京:清华大学出版社,2009.
〔7〕黄敏伟.Android平台的即时通信系统客户端设计方案[D].陕西渭南:陕西铁路工程事业技术院校,2011.
〔8〕任赵强.网页制作与JSP技术[M].北京:机械工业出版社,2009.
TP242.6
A
1673-260X(2017)06-0029-03
2017-04-19
2016年广东大学生科技创新培育专项资金(攀登计划)支持项目(pdjh2016b0972)