1.方案一计划
上一篇【物联小游戏设计与方案选择】,看到还是方案一的童鞋选择的比较多,那么就使用方案一来做这个物联网小游戏吧,采用蓝牙作为上位机与下位机的通信方式,这次采用经典蓝牙模块作为下位机的蓝牙通信模块,应该会选择HC-06或者HC-05,主要是这个模块的通信质量还是非常不错的。那么分配一下上位机和下位的工作内容吧,上位机主要做手机的加速度处理,采集手机自身的加速度值,然后通过算法计算后得到当前手的姿态,同时发送数据到下位机,下位机接收到数据后执行相应的操作。下位机还是采用之前的华大开发板+OLED屏幕,还是之前的跳一跳小游戏,添加上串口通信部分,然后对串口数据进行处理并反馈到游戏中。
2.Android蓝牙通信APP
这里直接采用HC官方提供的蓝牙Demo,本来之前想写一个的,不过发现挺多控件和类都不太理解,所以准备直接使用HC官方提供的Demo进行修改,这一篇主要介绍这个Demo,下一篇就在这个Demo增加加速度值的采集,同时对手机手机当前所出的角度进行输出,这个Demo还是非常不错的,界面非常的简洁文章最后会附上源码的下载地址,大家可以下载来用用看,让开发变得更简单!
下载好源码之后,直接打开,发现弹出一个SDK地址不对应(图1),感觉改一下工程中的SDK地址就可以了。
图1
按下OK后,Android Studio就开始自动下载工程需要的资源,这一点非常好,不需要自己去下载,当然网也要好,不然会等很久的,下面是等待界面,大概等了不到五分钟的时间,资源就下载完成了。
图2
本以为要改SDK地址来着,不过好像工程自动把SDK地址默认到我电脑上的SDK了,然后重新Build了一下,就编译成功了,将手机插入电脑,打开手机的USB调试功能,然后就可以把APP安装到手机上。
图3
打开软件之后,是一个蓝牙搜索界面,点击一个蓝牙设备就会进入另一个界面。
图4
另一个界面主要分为三个Tab,分别是通信界面,自定义按钮,其他信息这三个Tab。
通信界面Tab,有点像PC机上的串口调试助手,这里显示的是从蓝牙接收到数据。
图5
自定义按钮Tab,我觉得主要是用来当遥控器的,可以用来控制小车一些蓝牙设备。
图6
其他信息Tab,这里主要显示的一些蓝牙信息,以及一些蓝牙通信的处理。
图7
到时候会在这个基础上增加一个Tab,用来实现加速度计的功能,稍微使用了一下这个Demo,整体还是不错的,加入加速度计这个功能应该也不会有太多的问题,感兴趣的小伙伴可以继续关注。