背景

通过蓝牙可以让你的智能家居设备和Echo设备连接起来,从而达到Echo通过语音控制智能家居设备。

什么事Alexa Gadgets?

我的理解Alexa Gadgets是智能家居设备的一部分,包含硬件和软件。硬件:蓝牙模块;软件:蓝牙匹配参数以及驱动上层的代码,最终控制到设备。

什么是Alexa Gadgets Toolkit?

Alexa Gadgets Toolkit更多是APIs和接口协议,使得Echo可以和智能家居设备通信。

Alexa Gadgets Toolkit提供的接口:

唤醒单词检测(Wake Word Detection)
语言类(Speech)
通知(Notifications)
时间信息(Time Info)
计时器(Timers)
警报和提醒(Alarms and Reminders)
无线更新(Over-the-Air Updates)
音乐(Music)
儿童小工具(Gadgets for Kids)

Alexa Gadgets怎么和Alexa通信?

图片描述

Echo和智能Alexa Gadgets怎么创建蓝牙连接?

图片描述

发现阶段(Discovery):

Echo的蓝牙作为主设备通过Inquery去扫描周围的设备,智能家居设备蓝牙作为从设备通过Inquery Scan,会不断广播EIR或者其它Inquery Result。Echo的蓝牙通过EIR识别智能家居设备Alexa Gadgets。

配置项:EIR配置

匹配(Paring)

此时智能家居设备的蓝牙名字应该显示在Echo的Amazon App的可用蓝牙列表中,点击连接出发匹配请求。此时才真正建立了连接。

配置项:Paring结果参数设置

RFCOMM连接

RFCOMM可以提供60路的通信连接。Echo会发送一个请求连接到Alexa Gadgets的RFCOMM Server。

配置项:SDP数据库配置

握手(Handshake)

这个握手和我们知道的网络通信握手不同,这个握手是基于已经建立连接之后发送一些测试的二进制数据。

配置项:结果中endpointId的需要配置

可能遇到的问题解决方案:

  1. 蓝牙设备商是否提供蓝牙配对示例代码
  2. 蓝牙设备商是否提供蓝牙发送SDP服务搜索请求到对等设备示例代码
  3. 蓝牙设备商是否提供蓝牙配置EIR设置的示例代码
  4. 蓝牙设备商是否提供配置SDP服务器的示例代码
  5. 蓝牙设备商是否提供SPP设置RFCOMM server的示例代码

所以大部分工作都是蓝牙嵌入式编程,只有到发送指令和事件的时候才会到高级语言来处理。

更加具体的配置:https://developer.amazon.com/...

Amazon上的案例:

会说话的鱼:https://www.amazon.com/Big-Mo...
会说话的熊:https://www.amazon.com/s/ref=...


xupea
124 声望39 粉丝

致力于前端技术,Scrum敏捷开发和STEAM教育