玩转micro:bit-手机APP和bit蓝牙通信测试(1)

这个帖子,起源于论坛里的求助帖,江苏大学丁一同学的问题:

这个问题也是我想解决的问题,如果没有丁一同学的帖子,我可能会放上很久,因为这里面有App Inventor我只接触了一点点,还有蓝牙通信这些对小白如我来说很高深的技术。

所以,这注定了我在寻找答案中的跌跌撞撞,所以才有让我感动的520。

这里记一下,给有同样需要的小伙伴参考。

第一步,查资料。

查到的资料网页主要有二。

BlockyTalkyBLE - LPC http://www.playfulcomputation.group/blockytalkyble.html

https://lancaster-university.github.io/microbit-docs/ble/profile/

都是英文的,英语早还给老师的我借助翻译读起来也吃力。

其实答案主要在第一个网页中。为了蓝牙配对才读第二个资料。

第一个页面的内容主要是这样的。

BlockyTalkyBLE可以很容易地AppInventor手机应用程序与BBC micro:bit的蓝牙连接。想要制作一个可以用手机上的遥控程序控制的猫喂食器?或者用LED点亮你的自行车,你可以改变语音识别的颜色模式?通过在AppInventor和micro:bit中添加BlockyTalkyBLE,您可以在设备之间发送消息和数据,以创建出色的联网应用程序。

我如何使用它?

这有助于使用MIT的App Inventor和Microsoft MakeCode进行一些编程。两者都是直观的,易于使用的基于块的编程工具,可以在浏览器中免费并在网络上运行。一旦创建了一个或两个项目并探索其功能,就可以考虑如何在手机和micro:bit之间传递信息和命令,以创建一个很酷的网络应用程序。

传递信息和命令非常简单 - 一切都以关键值对的形式发送 - 您可以设计自己的网络协议。

AppInventor中BlockyTalkyBLE,当一个按钮被点击时,发送一条消息到micro:bit

MakeCode 中,在收到消息“show”“heart”时,将micro:bitt显示设置为心脏图标

翻译自:http://www.playfulcomputation.group/blockytalkyble.html

以上内容由邵子扬老师翻译,表示感谢。

页面提供的AppInventor BlockyTalkyBLE extension扩展包及Micro:bit BlockyTalkyBLE package、Micro:bit bluetooth friendly neopixel package软件包地址,如果你对它感兴趣,后面会用到。

Where are the files I need to start from scratch?[color=rgb(42, 42, 42) !important]AppInventor BlockyTalkyBLE extension: Copy and paste this URL in the "Add Extension" dialog as prompted during the tutorial 1:

https://github.com/LaboratoryForPlayfulComputation/AppInventorExtension-BlockyTalkyBLE/releases/download/alpha3.0/edu.colorado.lpc.blockytalkyble.aix

Micro:bit BlockyTalkyBLE package: Copy and paste this URL in the "Add Package" dialog as prompted in tutorial 2:

https://github.com/LaboratoryForPlayfulComputation/pxt-blockytalkyBLE

Micro:bit bluetooth friendly neopixel package: Copy and paste this URL in the "Add Package" dialog as prompted in tutorial 2:

https://github.com/LaboratoryForPlayfulComputation/pxt-neopixel-bluetoothallowed

页面上有一个APP和micro:bit蓝牙通信的范例,我就想,这个跑通了,改一改,就能实现丁一同学的想法了。再改一改,能玩出不少花样。由它延伸学习,可以有好多好玩的东东出来。以前感觉micro:bit的蓝牙是个鸡肋,如果能在鸡肋中嚼出点无用之用的肉味来,也挺有意思。

由于小白的原因,有三天的工余时间都在蓝牙配对,App lnventor各种尝试。却一直没有跑通,这里说多了都是累。

快要绝望的我,开始在520这天向圈里大神求助。苔萌王老师,晋江李和洽老师,长春谷宁老师纷纷伸出了援手。

很快的,李老师跑通了程序,并修改了范例中的bug。先上李老师的测试视频,APP和bit间双向蓝牙通信。

苔萌王老师的测试视频。

就是视频中王老师的轻轻一点,点化了我,我终于明白,哪轻轻一点就是我和答案间的咫尺天涯。就这样,我也跑通范例了。

群里520这天因为我提的问题热闹了。

APP与micro:bit蓝牙双向通信测试

器材准备:

1、安卓手机 1

2、micro:bit 1

3、测试程序

1、测试准备,从http://www.playfulcomputation.group/blockytalkyble.html下载测试程序。帖子附件后也给有范例程序。

microbit-BLEmin.hex是micro:bit端的。

ble_min.aia是APP端的。

2、启动http://app.gzjkw.net/login/,或者ai2.17coding.net

导入项目ble_min.aia

会有这个提示,确定,不影响的。

程序是这样的。

屏幕如下。

打包apk并显示二维码。

手机浏览器扫码下载,安装,就是这个foo,请在手机设置的应用管理中给这个应用启动蓝牙的权限。

3、启动https://makecode.microbit.org/

导入文件microbit-BLEmin.hex

后面会有专帖介绍蓝牙配对,所以这里不多写了。

4、测试内容

从上面程序截屏可以看出,测试的内容是:

micro:bit端

按A键,通过蓝牙向APP发送micro:bit读取的加速度值x

按B键,通过蓝牙向APP发送micro:bit读取的亮度值

按A+B键,通过蓝牙向APP发送字符kari

APP端

按send key value按钮,通过蓝牙向micro:bit发送字符hello

5、给micro:bit上电,显示爱心。

打开手机APP应用foo,启动蓝牙。

现在Connection Status(连接状态)为found microbit(s)(发现micro:bit)

点一下Microbit ListPicker(micro:bit 设备列表)

显示已搜索到的micro:bit(不同板子内容会不同),点一下这个micro:bit设备信息,(会变黄底显示,我就是没有选择设备导致迷茫了几天)。

现在Connection Status(连接状态)为connected(已连接),这时micro:bit上显示C。

大功告成,后面就可以测试了。

测试视频在上面哦。现在想来,其实挺简单的。可是我却经过曲折漫长的过程。

为了方便小伙伴们测试,我把APP端程序稍稍处理了下,界面变成中文后好理解一些。

程序ble_min_df.aia放在附件中了。测试视频。

(截自部分测试视频)

小结:这个帖子讲述了APP与micro:bit蓝牙双向通信测试,有传感器数据向APP传送,有APP向bit发送字符。一开始就看中了这些功能,解决丁一同学的问题就不是问题了。程序改改,后面再把APP lnventor好好学学,可以做出好多好玩互动项目来的。一起玩起来。

由于时间有限,写的匆忙,难免有错误之处,敬请指正。

再次感谢李老师,王老师,谷老师的指导。

我们建有专门的QQ群和微信群,有什么问题,可以在群里交流。

QQ群号:484477101(中小学microbit课堂教学群)。

【预告】

本课程总共有3节课

周五推送本课程的2、3节课

作者介绍

朱现伟

DF创客社区ID:rzyzzxw

学校: 河南省汝州一中

河南省汝州一中创客教师朱现伟,学生们亲切地称呼他“大圣老师”,同时也是DF创客社区micro:bit版块版主,研究micro:bit结合物联网项目的模范带头教师之一。

——正文完——

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180523G1AJ6K00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券