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