micro:bit 蓝牙与app inventor 的通信及智能语音播报

2019-04-071.4万
精华项目
AI 快速预览详细 收起
本文详细介绍了如何使用micro:bit和App Inventor进行蓝牙通信,并实现智能语音播报功能。首先需要准备工具,包括App Inventor 2.0汉化版和makecode平台。在程序制作过程中,需要注意一些常见的坑,如正确选择数据类型(string或Number)以避免通信出错。此外,还提供了关于百度语音合成的配置方法,使用户能够实现智能语音播报。


micro:bit蓝牙与appinventor 的通信及智能语音播报
最近几天探究micro:bit板与手机的通信,路遇各种“坑”,查阅了不少资料,总算解决问题,希望能让看到的人少走弯路。
一、工具准备
1.   app inventor2.0汉化版
micro:bit 蓝牙与app inventor 的通信及智能语音播报图1
扩展包:micro:bit 蓝牙与app inventor 的通信及智能语音播报图2
下载地址:
(汉化版要下载到本地,然后再扩展里面导入进去)
micro:bit 蓝牙与app inventor 的通信及智能语音播报图3
2.   makecode平台
添加扩展包:BlockyTalky BLE
下载:(坑一:现在网上的为BlockyTalky-BLE0.0.14 测试版,如添加这个版本,后面与inventor 的通信将无法进行)
micro:bit 蓝牙与app inventor 的通信及智能语音播报图4
解决办法:导入 microbit-蓝牙连接.hex 文件( 见附件)将自动载入低版本扩展包。
二、程序制作
1.appinventor编写
组件、界面如下图:
micro:bit 蓝牙与app inventor 的通信及智能语音播报图5
micro:bit 蓝牙与app inventor 的通信及智能语音播报图6
(1)首先编写蓝牙的查找、连接、断开
micro:bit 蓝牙与app inventor 的通信及智能语音播报图7
(2)编写通信
micro:bit 蓝牙与app inventor 的通信及智能语音播报图8
坑二:(inventor中的信息发送有两作形式,一种是string,一种是Number,micro:bit中接收也要对应string 和number,否则通信出错)
micro:bit 蓝牙与app inventor 的通信及智能语音播报图9
坑三:接收micro:bit板传递来的信息可以不用判断,用了也没错,只是增加出错的几率;micro:bit 蓝牙与app inventor 的通信及智能语音播报图10
(可以不用这样写)
micro:bit 蓝牙与app inventor 的通信及智能语音播报图11
(正确的写法)
3.   micro:bit写法
写法相对简单;
micro:bit 蓝牙与app inventor 的通信及智能语音播报图12
坑三:容易出现X02事件,板子假死,原因是有些数据是number类型,需用 send number key () value ()传递;部分变量一传递就 X02 错误,如指南针朝向等(估计需要转换为int型,这个坑没试过);
坑四:发送信息和接收信息间隔时间太短,也容易X02;为此在按钮上加了两个延时;
4.   语音智能播报
(1)      在百度开放平台上注册一个开发者账号:https://ai.baidu.com/
(2)      点百度语音、创建应用
micro:bit 蓝牙与app inventor 的通信及智能语音播报图13
micro:bit 蓝牙与app inventor 的通信及智能语音播报图14
填报相关信息,点击应用列表,记录appid appkey Secret Key
micro:bit 蓝牙与app inventor 的通信及智能语音播报图15
micro:bit 蓝牙与app inventor 的通信及智能语音播报图16
在appinventor中的百度语音合成中填写好相关信息;
下载程序,运行。  如有错误,还请见谅!


lanya2-无appkey.zip

248.68 KB, 下载次数: 9682

蓝牙模块测试.zip

234.55 KB, 下载次数: 9872

创作许可协议

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

评论(15)
雨中飞鸟
雨中飞鸟
这篇帖子太好了,解决了困扰我许久的问题。我本以为microbit的蓝牙就是鸡肋,准备转向auduio了呢!
pdc27149
pdc27149
自己写的app无法收到microbit通过BLE上传的数字或者字符,怎么办?
王尧坤
王尧坤
真的好厉害,学习了
DFr15BEux-H
DFr15BEux-H
学习中,希望自己能成功做出一个来!谢谢分享!
王尧坤
王尧坤
学习了,蛮好的,最近也在找这方面资料
绿萝
绿萝
您好,麻烦问一下,怎样设置板子的程序
stearks
stearks
Microbit中怎么导入本地的扩展啊
兆
作者
回复stearks
导入附件中的文件,就导入扩展了
兆
作者
百度一下
可乐大哥
可乐大哥
老师您好、我看了您的帖子很感兴趣、请问 app inventor2.0汉化版安装包在哪里下载、谢谢老师
szjuliet
szjuliet
试了你的程序,数据可以发到Microbit,但是传不回来到app。和我遇到的情况一样。如果用MIT BLE以及MIT microbit的扩展就可以把板载数据传回来。但是那个功能不够强,不能方便的发送数据给microbit。
szjuliet
szjuliet
这绝对是一个大坑,我也被折磨惨了。新版的blockytalky一连接上AI伴侣就闪退,旧版的曾经有一段时间导入不了,做好的项目无法运行。做测试的时候经常碰到搜索不到microbit,出现X02错误。app无缘无故出错,总之各种奇奇怪怪的错误层出不穷。谢谢楼主的分享,学习了!
rzegkly
rzegkly
micro:bit 蓝牙与app 通信的新方向
rzyzzxw
rzyzzxw
教程帖子的确很赞
汤果
汤果
经验帖给大家涨知识了~
kylinpoet
kylinpoet
能研究,能总结。赞一个
- 没有更多了 -

创作许可协议

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

相关推荐