1. 怎么将micro:bit与手机进行蓝牙连接
2. 用micro:bit做一个遥控器,控制手机播放器
主要材料
:micro:bit开发板1 |
所需工具
:电脑一部,用来写程序1 | 手机或平板电脑一部(推荐用安卓系统)1 |
usb连接线(安卓接口线)1 |
制作步骤
:第1步:
Micro:bit 是英国广播公司(BBC)联合很多企业推出的微型可编程计算机,设计初衷是为了让每个孩子都能零基础接触计算机编程,不需要任何编程语言学习就可以直接上手。
第2步:
一般我们是进入 https://makecode.microbit.org 这个网址,在这里进行网页编程。写好指令后下载到micro:bit盘符,或者把hex文件拷贝到盘符里。
第3步:
这次我们用micro:bit来做一个遥控器,控制手机音乐播放,切换乐曲。
micro:bit自带蓝牙芯片,工作于低功耗蓝牙模式(BLE),安卓4.3和ios6以上系统都支持低功耗蓝牙模式。我们要做的是通过手机或平板端的micro:bit应用把手机和micro:bit配对,然后让micro:bit运行相应的程序,通过蓝牙与手机通信就行了。 micro:bit可以跟ios、安卓或windows手机/平板配对。建议尽量使用安卓设备来调试。
micro:bit与手机蓝牙连接,在部分机型上可能会出现问题,比如同事的一台三星手机就总是连接失败。即使连接成功了,ios机型上可能也不能正常地相应micro:bit的蓝牙通信请求,我们在一台iPhone手机上的所有尝试都不成功,最后是换了一个安卓手机才试验成功的。ios设备开放性可能有一些问题,具体原因还需要后续分析。
ios设备和安卓设备都可以用micro:bit应用与micro:bit进行蓝牙配对,方法基本类似。第4步:
点击应用上的配对按钮,按照提示操作,这里注意要同时按住A键和B键不放,然后按下板子背后的reset键,按一会再松开,整个过程中A键和B键始终保持按下状态。然后micro:bit会出现pairing mode字样,并显示一个图形,我们把这个图形画到应用里。点击下一步。
这里会提示开始连接,中间会要求输入一个6位数字,点击micro:bit的A键显示这个6位数字,ios版本直接输入就行,安卓版本则要从屏幕顶部下拉出通知框,点击请求配对的通知,输入6位数字,有一个30秒的时间限制。第5步:
首次配对成功后,如果连接中断,需要再配对时,点击connect,再点那个小的连接图标就可以重新连接,变绿了就是连接好了。这个重新连接功能在安卓上比较方便,ios设备上有可能重连不上。
第6步:
Martin Woolley是一位英国技术人员,曾参与了micro:bit的蓝牙模块开发。他在博客上分享过一些micro:bit蓝牙编程实例,这次我们就直接照着操作一下。
首先我们进入 https://makecode.microbit.org 或其他在线编程网页,打开模块化编程界面,在进阶—>添加软件包选项中,把bluetooth和devices包加进来。第7步:
之后会提示radio模块和这两个模块不兼容,点击继续。
第8步:
可以看到蓝牙和设备模块已经添加进来了。
第9步:
设备模块中的命令实现,直接依赖于蓝牙模块(添加设备模块会自动把蓝牙模块也加进来),我们这里直接使用设备模块中的“指示遥控”命令就行了。
手机和外部设备通过蓝牙通信不是什么新鲜事,比如一些自拍杆就是通过蓝牙跟手机连接的,连接后按自拍杆上的按键就可以控制手机相机应用拍照了。上图中可以看到设备模块中有不少命令,除了可以控制播放器,也可以控制相机。第10步:
程序如图,按A键切下一曲,按B键放上一曲,同时按下A+B键起到播放或暂停的作用,playing变量为1表示正在播放音乐,为0时表示已暂停。
不论音乐播放应用是在前台显示还是后台播放,micro:bit的命令都有效。显示LED命令是随便画的,只是为了知道程序正常运行了,标识一下是哪个设备,电脑还是手机上编译的。第11步:
micro:bit上刷入编译好的带蓝牙指令的hex格式文件,当板子和手机/平板蓝牙配对成功之后,即可成功地与手机进行通信交互。
这个hex文件可以是网上直接找来的,也可以是自己在电脑上编译的。第12步:
此外,还可以在手机/平板上打开网页编程界面,在手机上进行编程后编译成hex文件保存到手机,然后通过micro:bit应用的flash选项把手机上的这个hex文件通过蓝牙传输刷进micro:bit里,这样全程就只用一台手机/平板就行,数据线都不用了。(但是有些手机或浏览器可能打不开网页编程界面)
第13步:
在手机/平板上打开网页编程界面进行编译并刷入micro:bit这个过程不是必须的,我们的试验中,就是直接在电脑上编译了一个hex文件,拷进micro:bit盘符中,把安卓手机跟micro:bit进行蓝牙配对后,就可以控制手机音乐播放器切换曲子了。手机端的micro:bit应用仅起到跟micro:bit进行蓝牙配对的作用。
在我们的试验中,iPhone和iPad在国内网络下,不论是用4g还是wifi,都几乎无法用safari浏览器打开在线编程界面。但是安卓设备就没有问题 :-D,虽然也要费一些时间,而且不是所有浏览器都可以成功。同样的当蓝牙配对断开时,安卓手机点重新连接可以很容易地连接上,ios则可能重连会失败,需要重新配对。
大家直接在任意网页编程界面用模块化界面编译hex文件就行。如果是安卓版本的micro:bit应用,也可以试试应用自带的几个演示程序。