8951浏览
查看: 8951|回复: 13

Micro bit 与 App Inventor2 蓝牙通信

[复制链接]
    最近要用到Micro bit与App Inventor蓝牙通信功能,查询网上的一些资料,遇到了各种问题,现将自己的成功经验总结如下,分享给大家。    首先参考了rzyzzxw[入门教程]MIT App Inventor + Micro:bit蓝牙基本连接设置--1,但APP有连接后闪退现象。
    第二参考sadanubis2008【原创】Appinventor 与Microbit BLE连接测试。解决困扰我的问题,UUID。但文中未实现对App传过来的字符做判断。
    第三参考米加盒子如何通过蓝牙连接micro:bit?,解决App传来的字符Microbit做判断,但只判断一次,循环条件上有问题。
    最后参考 Makecode官方网站UART Read。正解!!!

   总结如下:
1、使用的编辑器及插件
    Mackecode用的是Microsoft MakeCode的Makecode在线板,扩展用自带的BLE蓝牙插件。
Micro bit 与 App Inventor2 蓝牙通信图1

Appinventor 用的是wxbit的 Appinventor 汉化包,它的BLE扩展也是自带了的。
Micro bit 与 App Inventor2 蓝牙通信图2

    2、Microbit 部分
    2.1原理是,先设置Microbit的蓝牙可被所人连接,再点保存。
Micro bit 与 App Inventor2 蓝牙通信图3


2.2代码:
   2.2.1 连接时显示字符“C”,置连接标识为“1” ,重复接收来自APP数据并判断数据内容,做出相应动作。为K时显示勾,P14引脚置高电平(接电磁继电器,并接上台灯);为G时显示差,P14引脚置低电平。
    2.2.2断开时显示“D”并置连接标识为“0”。
    2.2.3另,记得启动uart服务,一会要用这个来通信。



Micro bit 与 App Inventor2 蓝牙通信图4

3、App inventor部分
3.1 界面部分
Micro bit 与 App Inventor2 蓝牙通信图5

3.2 逻辑部分

3.2.1 BLE扫描及连接
Micro bit 与 App Inventor2 蓝牙通信图6


第一次扫描时,Microbit的地址会直接显示在列表中。记下 ,然后让App直接对搜索结果比对,然后连接Microbi。这样可以加快测试速度。 然后改成下面的模块。
Micro bit 与 App Inventor2 蓝牙通信图7


其实上图绿色的一行已经不需要了,只是为了测试好看而已。记得地址用的是文本,“:”号用的是英文。
连接后记得停止搜索,不然它会一直做无用功。

Micro bit 与 App Inventor2 蓝牙通信图8


3.2.2 BLE侦听

    1)这里有三个参数需要记住,分别服务UUID,发送UUID,以及接收UUID。在Makcode的帮助中可以查出来,分别是:

public static String UARTSERVICE_SERVICE_UUID = “6E400001B5A3F393E0A9E50E24DCCA9E”;
public static String UART_RX_CHARACTERISTIC_UUID = “6E400002B5A3F393E0A9E50E24DCCA9E”;
public static String UART_TX_CHARACTERISTIC_UUID = “6E400003B5A3F393E0A9E50E24DCCA9E”;

     2)服务、收、发UUID 的差异在这里
Micro bit 与 App Inventor2 蓝牙通信图9


    分别是1B、2B、3B

    我们侦听模块如下:
Micro bit 与 App Inventor2 蓝牙通信图10

     因为我们是侦听,所以用的是接收的特征UUID:“6E400002B5A3F393E0A9E50E24DCCA9E”。收到信息就作以下处理,收到信息后,状态标签就会显示内容了。
Micro bit 与 App Inventor2 蓝牙通信图11

     3)发送
     发送的模块如下:
Micro bit 与 App Inventor2 蓝牙通信图12

    我们这次是发送,所以特征UUID用的是6E400003B5A3F393E0A9E50E24DCCA9E。

    OK可以了。

    4、测试
    分别把Appinventor及Macode代码下载到手机(与可以用手机伴侣)和Microbit,经实测,双向数据都是通过的。
附件代码:


    1、Macode代码
    2、下载附件蓝牙通信.rar

恶魔的微笑  学徒

发表于 2021-4-30 18:41:17

做最好的自己 发表于 2020-2-9 22:03
当按下 发送G 和 发送K 时,报错,有没有遇到这个问题的

一样的问题,解决了吗
回复

使用道具 举报

李春华  学徒

发表于 2021-3-17 21:55:09

如何在Makecode的帮助中查到那三个UUID? 谢谢
回复

使用道具 举报

云天  初级技神
 楼主|

发表于 2020-3-7 15:57:32

Micro bit 与 App Inventor2 蓝牙通信图1
是帖子中这句有问题,没加上,我这补上。
回复

使用道具 举报

云天  初级技神
 楼主|

发表于 2020-3-7 15:53:39

做最好的自己 发表于 2020-2-9 21:59
当按下 发送G 和 发送K 时,报错

少加了东西,我又做项目时,发现了。一会儿我再传一下。
回复

使用道具 举报

做最好的自己  学徒

发表于 2020-2-9 22:03:44

当按下 发送G 和 发送K 时,报错,有没有遇到这个问题的Micro bit 与 App Inventor2 蓝牙通信图1
回复

使用道具 举报

做最好的自己  学徒

发表于 2020-2-9 21:59:52

当按下 发送G 和 发送K 时,报错
回复

使用道具 举报

做最好的自己  学徒

发表于 2020-2-9 21:59:12

我按照这个操作为什么报错呢
回复

使用道具 举报

gada888  版主

发表于 2019-10-16 21:02:55

收藏了
回复

使用道具 举报

DFB1nkb8GUS  见习技师

发表于 2019-9-8 19:29:15

谢谢
回复

使用道具 举报

wsxiaoping3  学徒

发表于 2019-9-5 16:25:33

老师辛苦了,很好啊
回复

使用道具 举报

云天  初级技神
 楼主|

发表于 2019-8-31 19:48:31

本帖最后由 云天 于 2019-8-31 19:54 编辑
rzyzzxw 发表于 2019-8-28 11:04
老师,稳定性如何,看您帖子,似乎挺稳定啊。

比较稳定,但退出前时,应及时断开!
回复

使用道具 举报

rzyzzxw  版主

发表于 2019-8-28 11:04:05

老师,稳定性如何,看您帖子,似乎挺稳定啊。
回复

使用道具 举报

rzyzzxw  版主

发表于 2019-8-28 10:55:43

云天老师辛苦了。真心佩服。
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail