rzyzzxw 发表于 2018-6-1 08:48:35

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

MIT App Inventor + IOT:基本蓝牙连接设置-2 河南汝州市一中 朱现伟老师 翻译测试
原文网站:http://iot.appinventor.mit.edu/#/microbit/microbitintro 简介:本文主要介绍运用App Inventor的 BluetoothLE 扩展来和Arduino/micro:bit进行蓝牙连接设置,为后面的一些项目做准备。
在AppInventor中启动一个新项目,并将其命名为BasicIoTSetup。
首先,我们需要设置一些按钮来通过蓝牙查找和连接我们的 Arduino/micro:bit。

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





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


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




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

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

[*]从模块窗格中,单击ButtonScan,然后拖出当ButtonScan.被点击。
[*] 从BluetoothLE1的块菜单里,添加

      调用BluetoothLE1.StartScanning。

[*]在LabelStatus块菜单中,添加设置 LabelStatus.文本为
[*]在文本块菜单中,添加一个文本块并键入“状态:扫描”。
[*]从Listable块菜单,添加设置ListBur.可见性
[*]从逻辑块菜单中拖出真模块并对齐到设置ListBur.可见性




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

[*]从模块窗格中单击ButtonStopScan,然后拖出

    当ButtonStopScan.被点击。

[*]从BluetoothLE1的块菜单里,添加一个调用BluetoothLE1.topScaning。
[*]从LabelStatus块菜单中,添加 设置LabelStatus.文本为。
[*]从文本块菜单中,添加文本块并键入



    “状态:停止扫描”
我们需要用所有可用的蓝牙设备填充设备列表。

[*]从模块窗格中,单击BluetoothLE1,然后拖出

      当BluetoothLE1.DeviceFound

[*]在ListBLE块菜单中,添加设置ListBLE.元素字串.为
[*]从BluetoothLE1的块菜单里,添加BluetoothLE1.McrobitList

现在,我们将使用应用程序通过蓝牙连接到arduino/microbit。

[*]从模块窗格中,单击ButtonConnect,然后拖出

    当ButtonConnection被点击

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




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

[*]从“模块”窗格中,单击“BluetoothLE1”,然后从块菜单拖出。

      当BluetoothLE1.Connected.

[*]在LabelStatus块菜单中,添加设置LabelStatus.文本为
[*] 在文本块菜单中,添加文本模块并键入


    “状态:已连接”

[*]在ListBLE块菜单中,添加设置 ListBLE.可见性 为
[*]从逻辑块菜单中,添加一个假模块。


注意:我们这样做是为了隐藏名单。正如我们前面提到的,如果附近有很多蓝牙设备,它会变得非常长。
接下来,我们希望能够与蓝牙设备断开连接。

[*]从“模块”窗格中,单击“ButtonDisconnection”,然后拖出

    当ButtonDisconnection.被点击

[*]从BluetoothLE1的块菜单里,添加调用BluetoothLE1.断开连接。

我们还想知道蓝牙设备何时成功断开连接(知道按上面的按钮是否有效)。

[*]从块窗格中,单击BluetoothLE1,然后拖出

      当BluetoothLE1Disconnected.

[*]在LabelStatus块菜单中,添加设置LabelStatus.文本为
[*] 在文本块菜单中,添加文本模块并键入


    “状态:断开” 现在,让我们用MIT AI2Companion测试我们的APP,打包APK,手机浏览器扫二维码下载安装,并给APP启动蓝牙授权。
测试前做下准备工作,在makecode中写一个测试程序并刷入micro:bit:建议蓝牙连接方式用免配对连接(不需要配对:任何人都可以通过蓝牙连接。),以节约调试时间,这个选择项是在makecode编程页面中找到的,前提是要在编程时添加https://github.com/LaboratoryFor ... /pxt-blockytalkyBLE软件包。 测试程序下载到micro:bit。例如:
给micro:bit供电。手机端打开APP—BasicIoTSetup如图。
请使用以下步骤测试该应用程序:
单击扫描按钮。您应该会看到BLE设备的列表。
单击列表中的设备名称。单击“连接”。
如果您的设备成功连接到LabelStatus应该改为“状态:已连接”。
注意:本教程只将你的应用程序连接到你的物联网蓝牙设备上。要对设备做些有趣的事情,您需要设置它,然后尝试添加传感器(光、湿度等)来控制或显示信息。

本文英文文档由台湾@alex Wang提供。原文是针对Arduino蓝牙连接的,翻译中改为对Arduino/micro:bit,并对micro:bit进行了验证。(手上没有Arduino蓝牙模块,等有了再验证下,如果你手头有,就测试下吧。)
验证aia文件附后。
翻译中得到长春谷宁老师指导,一并谢过。
由于时间有限,译的匆忙,难免有错误之处,敬请指正。我们建有专门的QQ群和微信群,有什么问题,可以在群里交流。QQ群号:484477101(中小学microbit课堂教学群)。

Forgotten 发表于 2018-9-14 11:12:58

这个插件里面似乎并不是microbit的插件,edu.mit.appinventor.ble.aix


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

我从你这个帖子的文件里面把插件提取出来了

rzyzzxw 发表于 2018-9-14 22:28:48

Forgotten 发表于 2018-9-14 11:12
这个插件里面似乎并不是microbit的插件,edu.mit.appinventor.ble.aix




这是个通用的吧。:))

gada888 发表于 2018-9-19 17:32:43

又见APP inventor

胡起怂 发表于 2018-9-22 13:54:44

安装到手机上无法使用

rzyzzxw 发表于 2018-9-22 15:50:54

胡起怂 发表于 2018-9-22 13:54
安装到手机上无法使用

我测试过的,安卓。您再写一遍程序试试。;P

rzyzzxw 发表于 2018-9-22 15:53:04

胡起怂 发表于 2018-9-22 13:54
安装到手机上无法使用

这个扩展不是专门写给bit的,你用另一个吧。:))

极客工程狮 发表于 2018-9-23 22:02:49

学习下

gada888 发表于 2018-9-28 15:37:38

他用的什么手机牌子呢。为什么无法使用。是搜不到蓝牙设备还是怎样的

心灵空间 发表于 2019-2-13 23:27:31

为什么我的app在链接了microbit就闪退,求大神指点

秦时明月 发表于 2019-2-20 22:12:38

请问这个是否只适用于连接单片机上的蓝牙,我照着做了一个好像连接不到手机蓝牙

wsxiaoping3 发表于 2019-9-5 16:09:46

好帖,正在学习

毕业笙 发表于 2019-9-11 22:53:25

学习了,感谢

南舒北朗 发表于 2019-11-28 17:36:23

为什么现在搜索不到microbit的列表呢

rzyzzxw 发表于 2019-11-29 07:38:05

南舒北朗 发表于 2019-11-28 17:36
为什么现在搜索不到microbit的列表呢

当时测试记录,这个世界变化太快啊。{:5_199:}

wl30522 发表于 2020-1-14 10:50:47

太感谢了

DFSyrumdaPL 发表于 2020-4-25 23:26:56

rzyzzxw 发表于 2018-6-1 08:48
MIT App Inventor + IOT:基本蓝牙连接设置-2 河南汝州市一中 朱现伟老师 翻译测试
原文网站:http://iot.ap ...

太好了,学习一下

夏超 发表于 2021-4-18 11:53:34

心灵空间 发表于 2019-2-13 23:27
为什么我的app在链接了microbit就闪退,求大神指点

microbit 软件中设置“开机”的模块中加入蓝牙模块中的“UART"服务

沫尘 发表于 2021-10-25 21:29:31

初学者,研究一下

沫尘 发表于 2021-10-25 21:30:11


初学者,研究一下

邓子音乐 发表于 2021-12-23 12:12:05

收藏一个
页: [1]
查看完整版本: MIT App Inventor + IOT:基本蓝牙连接设置-2