查看: 489|回复: 0

美科科技microAI之Mixly篇之四

[复制链接]
  • TA的每日心情
    开心
    2019-1-20 16:41
  • 签到天数: 56 天

    [LV.5]常住居民I

    发表于 2018-12-23 01:15 | 显示全部楼层 |阅读模式
    本帖最后由 topdog 于 2018-12-23 11:07 编辑

    本节介绍使用Mixly控制MicroAI的蓝牙功能,结合用APP inventor 2制作手机APP,使手机进行语音识别通过双向蓝牙通信给MicroAI来控制led灯的开关。
    Mixly编辑环境下载  http://oss.microduino.cn/download/download/MixlyV1.4.4.zip
    准备材料:小米5s手机,core+,usbttl,HUB,led各一个,四芯连线二根。
    接线方式:led接入HUB D4,MicroAI串口接入HUB 2/3。
    MicroAI里的ble低功耗蓝牙协议栈是符合蓝牙4.2协议规范的, 本文的描述也仅针对蓝牙4.2规范。蓝牙国标准大家可以登录:https://www.bluetooth.com/zh-cn 学习和了解。通用属性(GATT)服务服务集合了封装设备组件性能的其他服务的特征和关系。GATT配置文件以GATT功能为基础,描述了用例、角色和一般性能,同时仍可维持与其他Bluetooth®设备之间充分的互操作性。全面了解已采用GATT配置文件规格和服务规格可以使我们制作出基于ble的创新产品。https://www.bluetooth.com/zh-cn/specifications/gatt
    在 GATT 中,有 Server 和 Client 之分:Server 属性数据库的存储的地方Client 会发起与server的连接, 发现service上面的属性数据库。GATT server 和 GATT client 这两种角色存在的阶段则是建立连接之后,根据对话地位的不同进行区分的,很容易理解的是,保有数据的那一方我们称之为GATT server,本例中是MicroAI,访问数据的那一方我们称之为GATT client,本例中是手机。
    实现的步骤:1;AT+RST 重启MicroAI,使模块恢复到初始状态。2;AT+MODE=4 此节MicroAI 用的固件是AT命令,BLE模式为4。 3;AT+BLE=1,把MicroAI 设置成server。4;等待数据传输 这里是单字节控制,A为开灯 B为关灯。当然大家可以举一反三来理解百变小强的语音控制的原理了。

    mixly.JPG

    Mixly执行编译,上传。MicroAI多彩矩阵出现闪烁的绿色蓝牙标志来表明数传BLE功能。


    3.jpg

    APP inventor 2制作手机APP的部分,使用了中南科技大学维护的 https://app.wxbit.com/ ,在控制中需要使用到MicroAI的UUID和地址,预先要在手机上安装好MIT AI2 伴侣和nRF Connect这两个apk文件,在电脑上安装好谷歌浏览器(Google Chrome)。本例而采用自动寻找地址链接的方法。
    特别强调BLE4.2需要用到蓝牙拓展插件,可以去官网下载:http://appinventor.mit.edu/extensions/
    APP inventor 2组件部分:蓝牙客户端实现GATT client作用。


    app1.JPG
    APP inventor 2逻辑部分:BLE4.2的蓝牙地址和UUID都是唯一的。考虑到控制界面美观就没有采用菜单样式,实践表明本实验是非常稳定的。


    app2.JPG
    app3.JPG

    在线生成apk文件,点击MIT AI2 伴侣,下载安装制作好的app。之后打开手机蓝牙和WiFi,WiFi连接上网络。开启APP,点击语音识别按钮,小米5s手机自动连接MicroAI多彩矩阵原先闪烁的绿色蓝牙标志不再闪烁了,手机界面显示MicroAI已经连接。对着小米5s手机说:“开灯”,手机调取小爱语音引擎通过网络终端进行语音识别,在显示框内出现识别好的文字开灯,蓝牙发送单字节A给MicroAI,MicroAI接到A后,通过串口再传给core+,D4管脚的led亮起。


    1.png

    2.png

    篇幅原因不可能阐述的非常详尽,还望海涵。


    打赏作者鼓励一下!
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    KittenBot杯第六届开源硬件开发大赛启动啦
    KittenBot杯第六届开源硬
    大赛简介: 第六届开源硬件开发大赛由Arduino中文社区发起 由KittenBot冠名赞助
    Blinker 模拟传感器+数字传感器例程(DHT11 温湿度+气体传感)
    Blinker 模拟传感器+数字
    才接触1星期,发现Blinker自带了很多例程,已经成功试验了DHT的例程序,并完善了体
    一文教你选择Arduino开发板,小白进
    一文教你选择Arduino开发
    笔者在2016年接触了Arduino,跳了万条坑,行了千里弯,到今天也算是Arduino的一
    [发布帖]RPG游戏 无人世界
    [发布帖]RPG游戏 无人世界
    视频攻略:https://www.bilibili.com/video/av43790997/ (b站正在审核) 剧情:主角是
    【人脸识别】ESP-EYE 最新的板子到货了
    【人脸识别】ESP-EYE 最新
    1.我不会编程,最多抄几个一步一步的网络教程。 2.不知道为啥就是超级喜欢电子元件。
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表