MIT App Inventor + Micro:bit蓝牙基本连接设置--1

2018-06-014.2万
AI 快速预览详细 收起
本文介绍了如何在MIT App Inventor中通过蓝牙连接Micro:bit。首先,设置用户界面,包括按钮和标签。然后,安装BlockyTalkyBLE扩展,并通过ButtonScan按钮启动扫描,找到可用的蓝牙设备。接着,通过ButtonConnect按钮连接Micro:bit,并在LabelStatus中显示连接状态。最后,通过ButtonDisconnection按钮断开连接。整个过程详细且易于跟随,适合老师和学生进行课堂实践。


河南汝州市一中 朱现伟老师 翻译测试 转载请注明

在AppInventor中启动一个新项目,并将其命名为BasicIoTSetup。

首先,我们需要设置一些按钮来通过蓝牙查找和连接我们的 micro:bit

  • 组件面板中的界面布局块菜单中拖动一个水平布局,并向其中添加3个按钮。
  • 重命名按钮:ButtonScan、ButtonConnect和ButtonDisconnection。
  • 将他们的文本改为“扫描”、“连接”和“断开”。
  • 在水平排列下面添加一个标签。将其重命名为LabelStatus,并将其文本更改为“状态:”。
  • 用户界面下面拖动列表显示框,并将其重命名为ListBLE。

MIT App Inventor + Micro:bit蓝牙基本连接设置--1图1

接下来,我们需要安装blockytalkyble扩展。

  • 下载edu.colorado.lpc.blockytalkyble.aix扩展到您的计算机。(扩展文件在附件)
  • 组件面板中,单击底部的Extension,然后单击“Import extension”,然后单击“选择文件”。
  • 在您的计算机上找到文件并上传它。


MIT App Inventor + Micro:bit蓝牙基本连接设置--1图2


另一种方法是在组件面板中,单击底部的Extension,然后单击“Import extension”,然后单击“URL”。粘贴下面的地址:
将扩展拖到查看器上,添加它。

当它被拖到查看器上之后,它将出现在主屏幕下面,因为它是一个不可见的组件。
MIT App Inventor + Micro:bit蓝牙基本连接设置--1图3


切换到逻辑设计视图

我们希望设置应用程序来扫描可用的蓝牙设备。为此,我们将使用ButtonScan按钮设置蓝牙组件以开始扫描,并更改状态标签。

  • 从模块窗格中,单击ButtonScan,然后拖出当ButtonScan.点击
  • BlockyTalkyBLE1的块菜单里,添加调用BlockyTalkyBLE1.StartScanning
  • LabelStatus块菜单中,添加设置 LabelStatus.文本
  • 文本块菜单中,添加一个文本块并键入“状态:扫描”。
  • Listable块菜单,添加设置ListBur.可见
  • 逻辑块菜单中拖出模块并对齐到设置ListBur.可见
注意:我们这样做是为了以后可以隐藏列表,因为如果附近有很多蓝牙设备,列表会变得很长。
MIT App Inventor + Micro:bit蓝牙基本连接设置--1图9
我们需要用所有可用的蓝牙设备填充设备列表。

  • 从模块窗格中,单击BlockyTalkyBLE1,然后拖出
   当BlockyTalkyBLE1.MicrobitFound
  • ListBLE块菜单中,添加设置ListBLE.元素字串.为
  • BlockyTalkyBLE1的块菜单里,添加BlockyTalkyBLE1.McrobitList

MIT App Inventor + Micro:bit蓝牙基本连接设置--1图4
现在,我们将使用应用程序通过蓝牙连接到microbit

  • 从模块窗格中,单击ButtonConnect,然后拖出
   当ButtonConnection被点击
  • blockytalkyble1块菜单中,添加调用blockytalkyble1.ConnectMicrobit index
  • ListBLE块菜单中,添加ListBLE.选中索引项
  • LabelStatus块菜单中,添加设置LabelStatus.文本
  • 文本块菜单中,添加文本模块并键入
  “状态:连接”。
MIT App Inventor + Micro:bit蓝牙基本连接设置--1图8

让我们设置一下,这样我们就可以知道应用程序何时成功地连接到micro:bit

  • 从“”窗格中,单击“blockytalkyble1”,然后从块菜单拖出。
   当blockytalkyble1.Connected.
  • LabelStatus块菜单中,添加设置LabelStatus.文本
  • 文本块菜单中,添加文本模块并键入
    “状态:连接
  • ListBLE块菜单中,添加设置 ListBLE.可见性 为
  • 逻辑块菜单中,添加一个模块。

注意:我们这样做是为了隐藏名单。正如我们前面提到的,如果附近有很多蓝牙设备,它会变得非常长。
MIT App Inventor + Micro:bit蓝牙基本连接设置--1图5

接下来,我们希望能够与蓝牙设备断开连接。

  • 从“”窗格中,单击“ButtonDisconnection”,然后拖出
   当ButtonDisconnection.点击
  • blockytalkyble1的块菜单里,添加调用blockytalkyble1.断开连接

MIT App Inventor + Micro:bit蓝牙基本连接设置--1图7
我们还想知道蓝牙设备何时成功断开连接(知道按上面的按钮是否有效)

  • 从块窗格中,单击blockytalkyble1,然后拖出
   当blockytalkyble1Disconnected.
  • LabelStatus块菜单中,添加设置LabelStatus.文本
  • 文本块菜单中,添加文本模块并键入
   “状态:断开”
MIT App Inventor + Micro:bit蓝牙基本连接设置--1图6
现在,让我们用MIT AI2Companion测试我们的APP,打包APK,手机浏览器扫二维码下载安装,并给APP启动蓝牙授权。

测试前做下准备工作,在makecode中写一个测试程序并刷入micro:bit:
建议蓝牙连接方式用免配对连接(不需要配对:任何人都可以通过蓝牙连接。,以节约调试时间,这个选择项是在makecode编程页面中找到的,前提是要在编程时添加https://github.com/LaboratoryForPlayfulComputation/pxt-blockytalkyBLE软件包
MIT App Inventor + Micro:bit蓝牙基本连接设置--1图12
MIT App Inventor + Micro:bit蓝牙基本连接设置--1图11
测试程序下载到micro:bit。例如:
MIT App Inventor + Micro:bit蓝牙基本连接设置--1图10

给micro:bit供电。
手机端打开APP—BasicIoTSetup如图。
MIT App Inventor + Micro:bit蓝牙基本连接设置--1图13
请使用以下步骤测试该应用程序:

单击扫描按钮。
您应该会看到BLE设备的列表。

单击列表中的设备名称
单击“连接”。

如果您的设备成功连接到
LabelStatus应该改为“状态:连接”。

注意:本教程只将你的应用程序连接到你的物联网蓝牙设备上。要对设备做些有趣的事情,您需要设置它,然后尝试添加传感器(光、湿度等)来控制或显示信息。

本文英文文档由台湾@Alex Wang提供。原文是针对Arduino蓝牙连接的,翻译中改为对micro:bit,并进行了验证。
验证aia文件附后。
翻译中得到长春谷宁老师指导,一并谢过。

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



BasicIoTSetup.rar

153.27 KB, 下载次数: 95

售价: 1 创造力  [记录]

edu.colorado.lpc.blockytalkyble.rar

150.42 KB, 下载次数: 87

售价: 1 创造力  [记录]

创作许可协议

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

评论(24)
DFSkccpIWF8
DFSkccpIWF8
扫描不到任何BLE设备
useryule
useryule
说的啥大所多所所所所所大所大所多
gfeagleok
gfeagleok
为什么导入blocky 库后下载不了
gfeagleok
gfeagleok
学习起来有难度
gfeagleok
gfeagleok
microbit 打不开程序啊
常州-杨华
常州-杨华
输入0000或者1234都无法连接
rzyzzxw
rzyzzxw
作者
回复常州-杨华
用免密方式配对
昊子
昊子
学习了,相当详细的教程
DFSyrumdaPL
DFSyrumdaPL
我以前做的都不成功,这次看下
啥子
啥子
很棒
wbzd123
wbzd123
感谢分享!
wbzd123
wbzd123
谢谢分享!
872181071
872181071
感谢分享!!
gray6666
gray6666
感谢分享,赞................
Hugh1
Hugh1
非常好,谢谢
gada888
gada888
好教程
梁军
梁军
做出来的连不上,闪退。不知哪里搞错了。
梁军
梁军回复rzyzzxw
谢你的回复了。我是一初哥。想更多的了解一下。
rzyzzxw
rzyzzxw
作者
回复梁军
有办法,用C写就好多了。可是我并不会。:(
共4条回复,已加载2条,点击查看更多共4条回复,已加载全部
杰少
杰少
在micro bit 下载的拓展是不是被修改了,完全不能用了
rzyzzxw
rzyzzxw
作者
回复杰少
没有啦,谢谢你提醒,后面的小伙伴少了个坑。:))
杰少
杰少回复rzyzzxw
我发现连接的库被做了修改,请问您还有别的方法做到连接吗
共3条回复,已加载2条,点击查看更多共3条回复,已加载全部
jcq333
jcq333
扫描没结果,不知道是不是蓝牙的关系
rzyzzxw
rzyzzxw
作者
回复jcq333
bit端也要有程序运行来配合的。
gada888
gada888
再学一遍
gada888
gada888
喜欢