MIT App Inventor + IOT:基本蓝牙连接设置-2

2018-06-014.3万
AI 快速预览详细 收起
本文介绍了如何使用MIT App Inventor和BluetoothLE扩展来实现Arduino/micro:bit的蓝牙连接。首先,创建一个新项目并添加必要的按钮和标签。然后,安装BluetoothLE扩展并设置扫描和连接逻辑。最后,通过测试程序验证连接效果。适用于STEM教育场景,适合老师和学生进行项目实践。
MIT App Inventor + IOT:基本蓝牙连接设置-2
河南汝州市一中 朱现伟老师 翻译测试

原文网站:http://iot.appinventor.mit.edu/#/microbit/microbitintro
简介:本文主要介绍运用App Inventor BluetoothLE 扩展来和Arduino/micro:bit进行蓝牙连接设置,为后面的一些项目做准备。

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

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

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




MIT App Inventor + IOT:基本蓝牙连接设置-2图14

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


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


MIT App Inventor + IOT:基本蓝牙连接设置-2图13


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

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


切换到逻辑设计视图

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

  • 从模块窗格中,单击ButtonScan,然后拖出ButtonScan.点击
  • BluetoothLE1的块菜单里,添加

        调用BluetoothLE1.StartScanning

  • LabelStatus块菜单中,添加设置 LabelStatus.文本
  • 文本块菜单中,添加一个文本块并键入状态:扫描”。
  • Listable块菜单,添加设置ListBur.可见
  • 逻辑块菜单中拖出模块并对齐到设置ListBur.可见




注意:我们这样做是为了以后可以隐藏列表,因为如果附近有很多蓝牙设备,列表会变得很长。
MIT App Inventor + IOT:基本蓝牙连接设置-2图11
接下来,当我们按ButtonStopScan键时,我们将让应用程序停止扫描并更改状态标签。

  • 从模块窗格中单击ButtonStopScan,然后拖出

    当ButtonStopScan.被点击

  • BluetoothLE1的块菜单里,添加一个调用BluetoothLE1.topScaning
  • LabelStatus块菜单中,添加 设置LabelStatus.文本
  • 文本块菜单中,添加文本块并键入



    “状态:停止扫描
MIT App Inventor + IOT:基本蓝牙连接设置-2图10

我们需要用所有可用的蓝牙设备填充设备列表。

  • 从模块窗格中,单击BluetoothLE1,然后拖出

        当BluetoothLE1.DeviceFound

  • ListBLE块菜单中,添加设置ListBLE.元素字串.
  • BluetoothLE1的块菜单里,添加BluetoothLE1.McrobitList

MIT App Inventor + IOT:基本蓝牙连接设置-2图9
现在,我们将使用应用程序通过蓝牙连接到arduino/microbit

  • 从模块窗格中,单击ButtonConnect,然后拖出

    当ButtonConnection点击

  • BluetoothLE1块菜单中,添加调用BluetoothLE1.连接 index
  • ListBLE块菜单中,添加ListBLE.选中索引项
  • LabelStatus块菜单中,添加设置LabelStatus.文本
  • 文本块菜单中,添加文本模块并键入




    “状态:连接”。
MIT App Inventor + IOT:基本蓝牙连接设置-2图8

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

  • ”窗格中,单击“BluetoothLE1”,然后从块菜单拖出。

        当BluetoothLE1.Connected.
  • LabelStatus块菜单中,添加设置LabelStatus.文本
  • 文本块菜单中,添加文本模块并键入


    “状态:连接

  • ListBLE块菜单中,添加设置 ListBLE.可见性
  • 逻辑块菜单中,添加一个块。


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

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

  • ”窗格中,单击“ButtonDisconnection”,然后拖出

    当ButtonDisconnection.点击

  • BluetoothLE1的块菜单里,添加调用BluetoothLE1.断开连接

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

  • 从块窗格中,单击BluetoothLE1,然后拖出

        当BluetoothLE1Disconnected.
  • LabelStatus块菜单中,添加设置LabelStatus.文本
  • 文本块菜单中,添加文本模块并键入


    “状态:断开”
MIT App Inventor + IOT:基本蓝牙连接设置-2图5
现在,让我们用MIT AI2Companion测试我们的APP,打包APK,手机浏览器扫二维码下载安装,并给APP启动蓝牙授权。

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

micro:bit供电。
手机端打开APP—BasicIoTSetup如图。
MIT App Inventor + IOT:基本蓝牙连接设置-2图1

请使用以下步骤测试该应用程序:

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

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

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

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


本文英文文档由台湾@alex Wang提供。原文是针对Arduino蓝牙连接的,翻译中改为对Arduino/micro:bit,并对micro:bit进行了验证。(手上没有Arduino蓝牙模块,等有了再验证下,如果你手头有,就测试下吧。)

验证aia文件附后。

翻译中得到长春谷宁老师指导,一并谢过。

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

BasicIoTSetup_x.rar

153.63 KB, 下载次数: 56

售价: 1 创造力  [记录]

edu.mit.appinventor.ble.rar

156.58 KB, 下载次数: 62

售价: 1 创造力  [记录]

MIT_App_Inventor_Basic_Connection.pdf

596.81 KB, 下载次数: 27

售价: 1 创造力  [记录]

创作许可协议

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

评论(15)
邓子音乐
邓子音乐
收藏一个
沫尘
沫尘

初学者,研究一下
沫尘
沫尘
初学者,研究一下
DFSyrumdaPL
DFSyrumdaPL
太好了,学习一下
wl30522
wl30522
太感谢了
南舒北朗
南舒北朗
为什么现在搜索不到microbit的列表呢
rzyzzxw
rzyzzxw
作者
回复南舒北朗
当时测试记录,这个世界变化太快啊。
hiwhite
hiwhite
学习了,感谢
wsxiaoping3
wsxiaoping3
好帖,正在学习
秦时明月
秦时明月
请问这个是否只适用于连接单片机上的蓝牙,我照着做了一个好像连接不到手机蓝牙
心灵空间
心灵空间
为什么我的app在链接了microbit就闪退,求大神指点
水润万物
水润万物回复心灵空间
microbit 软件中设置 “开机”的模块中加入 蓝牙模块中的“UART"服务
gada888
gada888
他用的什么手机牌子呢。为什么无法使用。是搜不到蓝牙设备还是怎样的
极客工程狮
极客工程狮
学习下
Cool的JOJO
Cool的JOJO
安装到手机上无法使用
rzyzzxw
rzyzzxw
作者
回复Cool的JOJO
这个扩展不是专门写给bit的,你用另一个吧。:))
rzyzzxw
rzyzzxw
作者
回复Cool的JOJO
我测试过的,安卓。您再写一遍程序试试。;P
gada888
gada888
又见APP inventor
Forgotten
Forgotten
这个插件里面似乎并不是microbit的插件,edu.mit.appinventor.ble.aix

另外一个帖子里面的才有microbit的控制插件:
玩转Micro:bit--App蓝牙遥控micro:bit小车
https://mc.dfrobot.com.cn/thread-37831-1-1.html
(出处: DF创客社区 - 分享创造的喜悦)
我从你这个帖子的文件里面把插件提取出来了

rzyzzxw
rzyzzxw
作者
回复Forgotten
这是个通用的吧。:))
- 没有更多了 -