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

2018-05-219.6万
精华项目
AI 快速预览详细 收起
本教程介绍了如何使用App Inventor和micro:bit实现手机APP与micro:bit的蓝牙双向通信。首先需要准备安卓手机和micro:bit,并下载相应的测试程序。然后通过App Inventor导入项目并打包apk,再通过MakeCode导入micro:bit端的程序。最后,通过手机APP与micro:bit建立蓝牙连接,实现传感器数据传送和字符发送。整个过程详细且易于理解,适合初学者学习。
2018年的520,我爱创客圈,同时也感受到了创客圈里的友爱。玩转micro:bit-手机APP和bit蓝牙通信测试(1)图2
首先感谢晋江李和洽老师,苔萌王老师,长春谷宁老师,有了你们的大力支持,才有了这感人的故事。

这个帖子,起源于论坛里的求助帖的问题:

玩转micro:bit-手机APP和bit蓝牙通信测试(1)图1
这个问题也是我想解决的问题,如果没有同学的帖子,我可能会放上很久,因为这里面有App Inventor我只接触了一点点,还有蓝牙通信这些对小白如我来说很高深的技术。

所以,这注定了我在寻找答案中的跌跌撞撞,所以才有让我感动的520。
这里记一下,给有同样需要的小伙伴参考。

第一步,查资料。
查到的资料网页主要有二。
BlockyTalkyBLE - LPC  https://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,当一个按钮被点击时,发送一条消息到microbit




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


翻译自:https://www.playfulcomputation.group/blockytalkyble.html
以上内容由邵子扬老师翻译,表示感谢。

页面提供的AppInventor BlockyTalkyBLE extension扩展包及Micro:bit
BlockyTalkyBLE package、Micro:bit bluetooth friendly neopixel package软件包地址,如果你对它感兴趣,后面会用到。
AppInventor BlockyTalkyBLE extension:
https://github.com/LaboratoryForPlayfulComputation/AppInventorExtension-BlockyTalkyBLE/releases/download/alpha3.0/edu.colorado.lpc.blockytalkyble.aix
Micro:bit BlockyTalkyBLE package:
https://github.com/LaboratoryForPlayfulComputation/pxt-blockytalkyBLE
Micro:bit bluetooth friendly neopixel package:
https://github.com/LaboratoryForPlayfulComputation/pxt-neopixel-bluetoothallowed​

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

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

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

快要绝望的我,开始在520这天向圈里大神求助。苔萌王老师,晋江李和洽老师,长春谷宁老师纷纷伸出了援手。
很快的,李老师跑通了程序,并修改了范例中的bug。先上李老师的测试视频,APP和bit间双向蓝牙通信。


苔萌王老师的测试视频。

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

群里520这天因为我提的问题热闹了。
:$
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图4


APP与micro:bit蓝牙双向通信测试
器材准备:
1、安卓手机 1
2、micro:bit 1
3、测试程序



1、测试准备,从https://www.playfulcomputation.group/blockytalkyble.html下载测试程序。帖子附件后也给有范例程序。
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图5
microbit-BLEmin.hex是micro:bit端的。
ble_min.aia是APP端的。
2、启动http://app.gzjkw.net/login/,或者ai2.17coding.net
导入项目ble_min.aia
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图6
会有这个提示,确定,不影响的。
程序是这样的。
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图11
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图12
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图13
屏幕如下。
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图14
打包apk并显示二维码。
手机浏览器扫码下载,安装,就是这个foo,请在手机设置的应用管理中给这个应用启动蓝牙的权限。
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图7
3、启动https://makecode.microbit.org/
导入文件microbit-BLEmin.hex
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图8
是面显示的是修正后的程序。
如果你从https://www.playfulcomputation.group/blockytalkyble.html下载测试程序,请自己修改一下,这个变量原范例有误(感谢李老师测试修正)。
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图9
蓝牙连接方式就用第一项,免配对连接。不需要配对:任何人都可以通过蓝牙连接。
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图10
后面会有专帖介绍蓝牙配对,所以这里不多写了。
4、测试内容
从上面程序截屏可以看出,测试的内容是:
micro:bit端
1、按A键,通过蓝牙向APP发送micro:bit读取的加速度值x
2、按B键,通过蓝牙向APP发送micro:bit读取的亮度值
3、按A+B键,通过蓝牙向APP发送字符kari
APP端
按send key value按钮,通过蓝牙向micro:bit发送字符hello
5、给micro:bit上电,显示爱心。
打开手机APP应用foo,启动蓝牙。
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图15
现在Connection Status(连接状态)为found microbit(s)(发现micro:bit)
点一下Microbit ListPicker(micro:bit 设备列表)
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图16
显示已搜索到的micro:bit(不同板子内容会不同),点一下这个micro:bit设备信息,(会变黄底显示,我就是没有选择设备导致迷茫了几天:'()。
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图17
现在Connection Status(连接状态)为connected(已连接),这时micro:bit上显示C。
大功告成,后面就可以测试了。
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图18
测试视频在上面哦。现在想来,其实挺简单的。可是我却经过曲折漫长的过程。

为了方便小伙伴们测试,我把APP端程序稍稍处理了下,界面变成中文后好理解一些。
玩转micro:bit-手机APP和bit蓝牙通信测试(1)图19
程序ble_min_df.aia放在附件中了。测试视频。


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

由于时间有限,写的匆忙,难免有错误之处,敬请指正。
再次感谢李老师,王老师,谷老师的指导。
我们建有专门的QQ群和微信群,有什么问题,可以在群里交流。
QQ群号:484477101(中小学microbit课堂教学群)。













ble_min.rar

152.35 KB, 下载次数: 49

售价: 11 创造力  [记录]

microbit-BLEmin.rar

231.48 KB, 下载次数: 67

售价: 15 创造力  [记录]

ble_min_df.rar

155.02 KB, 下载次数: 56

售价: 15 创造力  [记录]

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(45)
JOVI
JOVI
学习学习
花生编程
花生编程
赞赞赞赞赞!!
花生编程
花生编程
厉害厉害
耘想
耘想
666666666666666
耘想
耘想
(⊙o⊙)哇
三春牛-创客
三春牛-创客
学习了学习了
三春牛-创客
三春牛-创客
感谢分享!!
三春牛-创客
三春牛-创客
评论内容
三春牛-创客
三春牛-创客
厉害厉害
三春牛-创客
三春牛-创客
不错不错
zhuoyan
zhuoyan
现在已经打不开https://www.playfulcomputation.group/blockytalkyble.html这个网站了,
Z5182JA2POgN
Z5182JA2POgN
按照楼主程序APP一直闪退,有大神知道问题所在吗?
useryule
useryule
东方闪电付所多付所所所所所所所
useryule
useryule
dsfsdfdfdsfdsfdsfdsfdsfds
924070499
924070499
学习了,谢谢zsbd
jardon3000
jardon3000
这个东西还要卖?
jardon3000
jardon3000
学习到了许多,谢谢
酝酿ing
酝酿ing
不知道为什么我的一直会出现020的错误,直接崩溃
rzyzzxw
rzyzzxw
作者
回复酝酿ing
bit的蓝牙不稳定的,就是有而已。
DFBJFz5siXP
DFBJFz5siXP
好想学的样子
心有灵犀2
心有灵犀2
dfsdfsdfdsa