背景:
通过蓝牙可以让你的智能家居设备和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的需要配置
可能遇到的问题解决方案:
- 蓝牙设备商是否提供蓝牙配对示例代码
- 蓝牙设备商是否提供蓝牙发送SDP服务搜索请求到对等设备示例代码
- 蓝牙设备商是否提供蓝牙配置EIR设置的示例代码
- 蓝牙设备商是否提供配置SDP服务器的示例代码
- 蓝牙设备商是否提供SPP设置RFCOMM server的示例代码
所以大部分工作都是蓝牙嵌入式编程,只有到发送指令和事件的时候才会到高级语言来处理。
更加具体的配置:https://developer.amazon.com/...
Amazon上的案例:
会说话的鱼:https://www.amazon.com/Big-Mo...
会说话的熊:https://www.amazon.com/s/ref=...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。