基于APP Inventor2的普通蓝牙遥控车APP设计
2018-11-15韩冬
韩冬
摘要:随着科技的不断发展,手机几乎成为必不可少的东西。基于App Inventor 2平台开发了一款适用于Android系统的普通蓝牙遥控车APP,可利用蓝牙通信,通过智能手机虚拟按键进行控制遥控车的移动,更加的便捷。
关键词:Android 系统;APP设计;蓝牙通信;遥控车
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)20-0060-02
APP Design of Common Bluetooth Remote Control Car Based on APP Inventor2
HAN Dong
(Wuxi Institute of Technology, Internet of things Technology College, Wuxi 214121, China)
Abstract: With the continuous development of science and technology, mobile phones are almost indispensable. Based on App Inventor 2 platform, a common Bluetooth remote control car APP, which is suitable for Android system, has been developed. It can make use of Bluetooth communication to control the movement of remote control vehicle by smart phone keypad, which is more convenient.
Key words: Android system; APP design; Bluetooth communication; remote control car
1 背景
现今科技的不断发展,实物的简便操纵性与便捷携带性也显得尤为重要,特别是遥控车类的东西,现在还需要遥控器这种略显笨重的东西,这种遥控器还需要大量电池进行供电,比较浪费电池,不利于保护环境。而今智能手机已广泛普及,因此可设计一款手机APP进行操纵实物,方便快捷,减少了电池的使用,利于环境的保护。下面以普通蓝牙遥控车APP设计为例。
2 基于APP Inventor2的普通蓝牙遥控车APP设计
该文基于App Inventor2平台开发适用于Android系统的普通蓝牙遥控车APP,其主要模块有:蓝牙通信和数据发送模块、摇杆模块、控制方向模块。该APP可搜索周围蓝牙模块,并通过Andriod手机的蓝牙通信接口给小车蓝牙模块发送指令,令其运动。
2.1 APP Inventor2开发环境搭建
Google公司推出的Android智能手机平台系统,以其开源、开放和优异便捷的开发架构,吸引了众多程序开发者[1]。使用APP Inventor2进行开发,不一定非是专业的程序员,甚至并不需要掌握任何编程知识,它采用类似堆积木的方式对各个步骤进行叠加,无需写程序代码,为用户提供了便捷的方式。
2.2 APP页面设计
APP页面的设计更人性化,会增加用户对它的喜爱,用户可根据自己的喜好,进行页面的排版布局。
2.3 蓝牙通信和数据发送模块设计
蓝牙技术规定两个设备进行蓝牙通信时[2],选用BluetoothClient组件,使得手机蓝牙工作在主端模式[3],遥控车上的蓝牙模块处于从端模式。
在APP Inventor2中选用BluetoothClient组件,用于手机蓝牙与遥控车蓝牙之间的数据传输。具体实现过程:程序执行BluetoothClient时调用Connect、Disconnect命令进行蓝牙的连接与断开,调用BluetoothClient的“发送文本”进行数据的发送。当手机蓝牙与遥控车蓝牙配对成功后,遥控车就与手机的BluetoothClient进行通信,同时可以添加一个“对话框”用来检测程序有可能出现的异常情况。
此项设计所需要的组件:页面布局,按钮,标签,列表选择框,蓝牙客户端。
具体模块设计:1)当“连接”按钮被点击,调用“列表选择框”打开选框;2)当“列表选择框”准备选择,设置“列表选择框”的“元素”为“蓝牙客户端”的“地址及名称”;3)当“列表选择框”选择完成,调用“蓝牙客户端”链接地址对象为“列表选择框”的“选中项”;4)当“断开连接”被点击,调用“蓝牙客户端”断开连接。
2.4 控制模块设计
控制遥控车可用摇杆模式或按键模式。
摇杆模式主要利用球形精灵在画布中移动,控制球形精灵移动的坐标,当球形精灵与某一图形相碰撞时,就会启动计时器,计时器会引发蓝牙通信模块,利用BluetoothClient对遥控车的蓝牙模块进行发送数据,使小车接收到数据后进行相对应的移动。
按键模式主要是当按下相对应的虚拟按钮时,计时器开始启动,引发蓝牙通信模块对小车蓝牙模块发送相应数据,使小车接收到数据后进行相对应的移动。
此项设计所需要的组件:页面布局,画布,圖像精灵,球形精灵,计时器,蓝牙客户端。
具体模块设计:
1)当“球形精灵”被拖动,调用“球形精灵”移动到指定位置,x坐标取“当前X坐标”,y坐标取“当前Y坐标”;
2)当“球形精灵”被松开,调用“球形精灵”移动到指定位置,x坐标为“45”,y坐标为“45”(坐标可自行定义);
3)当图像精灵“前进”被碰撞,当按钮“前进”被按压,都设置“计时器1”启动计时为“真”;当图像精灵“后退”被碰撞,当按钮“后退”被按压,都设置“计时器2”启动计时为“真”;当图像精灵“左转”被碰撞,当按钮“左转”被按压,都设置“计时器3”启动计时为“真”; 当图像精灵“右转”被碰撞,当按钮“右转”被按压,都设置“计时器4”启动计时为“真”;当图像精灵“停止”被碰撞,分别设置“计时器1、2、3、4”启动计时为“假”(其中5个图像精灵分别放置画布中图像的上、下、左、右、中间);当“前进”“后退”“左转”“右转”按钮被松开,分别设置相应的“计时器”启动计时为“假”;
4)当“计时器1、2、3、4”计时,分别调用“蓝牙客户端”发送单字节数字,数值分别为“0、1、2、3”。
最后用Arduino进行相关串口数值编写,设置电机运行数值,从而控制小车动作[4]
3 结束语
基于APP Inventor2平台开发手机APP操作非常的简单快捷,但是该平台目前适用于Android系统的APP开发。本次的使用APP Inventor2平台开发的普通蓝牙遥控车APP,更为方便、快捷的遥控小车,界面优美,操作简单。随着APP Inventor2平台的不断开发,相信会有更多的功能可以使用,用户可利用平时的空闲时间开发一个个的简易APP,特别是青少年使用此平台开发APP,操作易于接受,思维能力又可以得到锻炼与发展。
参考文献:
[1] 杨丰盛. Android应用开发揭秘[M]. 北京: 机械工业出版社, 2010.
[2] 岳军. 基于社区的智能快递发件系统及其实现方法[P]. 中国, CN103268540, 2013.
[3] 姚远, 鲍承毅, 周伟, 等. 基于App Inventor 2的快递称重APP设计[J]. 软件导刊, 2016, 15(10): 85-87.
[4] 谢作如, 刘正云. 用Android控制Arduino小车[J]. 中国信息技术教育, 2014(15): 94-96.