查看: 20092|回复: 16

[入门教程] 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个按钮。
  • 重命名按钮:ButtonScanButtonStopScanButtonConnectButtonDisconnection
  • 将他们的文本改为“扫描”、“停止扫描”、“连接”和“断开”。
  • 在水平排列下面添加一个标签。将其重命名为LabelStatus,并将其文本更改为“状态”。
  • 用户界面下面拖动列表显示框,并将其重命名为ListBLE




图片1.png

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


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


图片2.png


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

当它被拖到查看器上之后,它将出现在主屏幕下面,因为它是一个不可见的组件。
图片3.png


切换到逻辑设计视图

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

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

        调用BluetoothLE1.StartScanning

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




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

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

    当ButtonStopScan.被点击

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



    “状态:停止扫描
图片5.png

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

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

        当BluetoothLE1.DeviceFound

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

图片6.png
现在,我们将使用应用程序通过蓝牙连接到arduino/microbit

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

    当ButtonConnection点击

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




    “状态:连接”。
图片7.png

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

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

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


    “状态:连接

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


注意:我们这样做是为了隐藏名单。正如我们前面提到的,如果附近有很多蓝牙设备,它会变得非常长。
图片8.png

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

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

    当ButtonDisconnection.点击

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

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

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

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


    “状态:断开”
图片10.png
现在,让我们用MIT AI2Companion测试我们的APP,打包APK,手机浏览器扫二维码下载安装,并给APP启动蓝牙授权。

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

micro:bit供电。
手机端打开APP—BasicIoTSetup如图。
图片14.png

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

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

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

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

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


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

验证aia文件附后。

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

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

BasicIoTSetup_x.rar

153.63 KB, 下载次数: 43

售价: 1 创造力  [记录]

edu.mit.appinventor.ble.rar

156.58 KB, 下载次数: 43

售价: 1 创造力  [记录]

MIT_App_Inventor_Basic_Connection.pdf

596.81 KB, 下载次数: 20

售价: 1 创造力  [记录]

Forgotten  版主

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

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

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

我从你这个帖子的文件里面把插件提取出来了
edu.colorado.lpc.blockytalkyble.aix.zip (149.8 KB, 下载次数: 172)
回复

使用道具 举报

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的列表呢

当时测试记录,这个世界变化太快啊。
回复

使用道具 举报

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 ...

太好了,学习一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2021 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail