一、写在前面;
自从引进了 AI时代 这个词语,我们都在考虑如何把现有的产品去和这个词语打上关系!我记得去年时候,大学母校为了参加广东省电子设计大赛而设计的一个AI语音项目,邀请我去做一些技术分析,那时候我对这个AI理解就是人工语音交互硬件设备!
以此之后,公司就不断做各种语音音响接入了,包括我业余时间做的项目,这里就分享给大家我对天猫精灵智能音响接入方式和常见的问题!
因为我个人做过这五种方式对接,包括服务器、前端和设备端开发,也算是比较熟悉了,今天周末有空整理下博文给大家,竟然花了我整整半天时间编写和排版配图;
二、天猫精灵开放平台;
作为一个程序员,要对接天猫精灵必须要知道 AliGenie 开发者平台,下面说的如何通过早期阿里小智、aliosthings、云云对接、蓝牙 sig mesh和wifi直连等操作都是基于这个平台操作的!
然而,如果你是一个早起的开发者,要接入天猫精灵,还会知道阿里云有这么一个产品“阿里小智”,这个也是对接天猫精灵的。然而现在已经基本没人用了,也许是不怎么维护了或者其他原因,毕竟阿里现在也不推这个了!
但我还是会分享下目前对接天猫精灵智能音响的五种途径。
AliGenie开发者平台
AliGenie开发者平台是阿里巴巴人工智能实验室(AI-Labs)面向软硬件厂商和开发者推出的,将人工智能中ASR语音识别、NLP自然语言处理、TTS语音合成等自然语言处理技术和能力对外共享的开放式平台。
平台针对不同类型的开发者提供了丰富的开发工具,协助开发者完成语音技能的开发、智能设备的接入、云端服务的接入等。依托强大的底层技术、智能的算法引擎、完善的云端服务和成熟的软硬件标准系统,AliGenie会持续不断的将全面、易用的核心技术能力进行输出,为开发者带去更多可能。
三、途径1:早期阿里智能平台 ----- 阿里小智。
先上一个最近微博看到的:
在这里插入图片描述
当我看见这个,我内心是平静的,因为我对这个耳熟能详了,从2017年就开始弄这个了半年多了的确,阿里智能APP是好久没更新了,但是主功能的设备配网界面UI、控制面板都是在云端编辑的,因为他是 ReactNative
这些优秀的跨平台的语言开发的,也许这样对于升级版本的操作不频繁很有好处!
- <font color=red size=5>签约入驻:</font>和我们平时在其他官网开发接入某些产品一样,都是需要入驻的,但是明确指出这里必须是 企业性质的支付宝账号!个人开发者账号不行哦!!
- <font color=red size=5>签约直连协议:</font>为什么要签这协议?因为阿里智能开放平台是有多个协议的,有模组商签订协议、方案商签订协议、直连模式协议和SDS
(smart device service)
协议,其中我们设备端接入有直连模式协议和SDS协议,那么下面都是讲直连模式协议不收费的(当初我们都喜欢这方式不用买流量),而SDS
单个设备收费的,我之前用Android
对接接入过了,这种方式是支 SDK开发移动端的(包括Android
和ios
);
- <font color=red size=5>产品配置:</font>这个流程其实没什么好分享的,它已经支持了很多设备端了,在新建产品时候注意下 无线模组信息 选择;可以看下图!以及注意自己产品的技能,比如色温调节、开关亮度或者温度调节等,后面的设备端开发都是基于这个技能决定通讯协议,一旦决定下来,有个 TRD 表格,顾名思义就是设备属性表,里面详细地列出了协议的必须具备的字段和范围;
- <font color=red size=5>测试并申请上架:</font>测试是最头疼的,下载测试版阿里智能APP,严格按照平台给的测试标准,测试基本功能是没问题的,但是有另外一点需要测试:24小时联网不掉线!这个测试点曾经让我头疼几天,公司为此特意申请一条网线去给 esp8266 不掉线!测试完毕之后,后台数据可以查询!之后提交测试报告等资料,就会有专门的测试人员在钉钉上加您好友联系你,远程测试看数据!
- <font color=red size=5>上架:</font>测试通过之后,就可以在天猫精灵阿里智能产品列表找到你的产品了,用户就可以在浏览看到你的产品啦 !注意一点:未上架的产品是不能被天猫精灵语音发现和控制的!
新建产品:
在这里插入图片描述设备属性查看:
在这里插入图片描述申请上架,通过之后,就可以天猫精灵语音控制了:
在这里插入图片描述四、途径2:云云对接。
因为目前有些商家有自己成熟的智能硬件和服务器云端,但是想把现成的产品对接到天猫精灵语音控制,所以才有这样的云云对接的需求;总的来说,就是 天猫精灵 ---> 天猫精灵服务器--->商家服务器--->商家智能设备
,这样的流程!
在这里插入图片描述
上图可以看到,大多数交互逻辑都是在服务器进行的,所以,服务器开发是业务的逻辑关键所在,一般我们常见的服务器开发有php、java、.net或近几年流行的 node.js ;而我本人是用php 开发的,大家可以去我的 CSDN博客看看一些笔记:
我开始也是蒙着一头雾水去学这个协议,百度啊搜狗啊,爱奇艺、优酷网址搜索视频学习,东筹西集,终于跑通了!也就认识理解了!大家不懂的玩意,还是要多琢磨几天,就懂了!还是应了那句话“天道酬勤”!!
这协议其实已经广泛被应用了,在我们使用一些网站登录经常遇到,比如下面的迅捷画图网站:
在这里插入图片描述在代码逻辑过程是:迅捷画图网站会提交一则消息到腾讯QQ授权中心网站的认证中心,如果已经在腾讯QQ网站后台注册了,就是展示给用户一个登录界面,当用户操作输入密码或者其他方式登录使得登录成功,则腾讯QQ授权中心网站就会携带当前用户的信息返回给迅捷画图网站!这样就可以实现 迅捷画图网站不知道当前QQ用户登录的账号和密码,也可以获取当前QQ用户的信息,实现登录!这就是 oauth2.0 的强大之处!
-
①:在私有云服务器已经注册了一个第三方的客户端的信息(名字 + 密钥),第一步天猫精灵服务器会以oauth2.0标准协议携带这个名字向我们的服务器发起授权请求!
-
②:这时候,就是我们服务器要做给用户展示是否授权了,如果授权成功,就把这个授权码+当前的用户信息保存在数据库!,并且把授权码回复给天猫精灵服务器!!
-
③:上步骤拿到这个授权码是有有效时间的,就像我们买了的中了奖的彩票一样,不去兑换就会过期无法兑换现金!而这个有效时间是我们私有服务器设置的,默认是30秒!所以,天猫精灵服务器会在30秒内请求我们提供的接口来获取唯一票据凭证access_token!
-
④:当我们私有服务器校验这个是在有效时间内请求的话,就会以oauth2.0标准协议发送分配一个唯一票据凭证access_token!给天猫精灵服务器,这时候,天猫精灵每次来发现、控制和查询设备都会携带这个access_token前来操作!
当然,这个access_token也是有有效时间的,天猫精灵服务器推荐为 2天内!
可以看看下面已经上架的商家的产品:
在这里插入图片描述五、途径3:蓝牙直连(sig mesh)。
蓝牙直连是指蓝牙设备直连天猫精灵智能音箱,就好像是智能手机连接蓝牙耳机一样;可以对着天猫精灵智能音箱找队友,它就会去发现和配对牙设备了!
蓝牙mesh设备必须具备mesh协议里定义的Relay、Proxy功能,LPN和Friend功能可选。低功耗设备采用精灵低功耗(GLP)方案,LPN方案可选。特殊产品会如果仅需支持部分功能将在产品软件规范中明确说明具体需要支持的功能。
要求至少支持2个NetKey,总计10个AppKey。
蓝牙sig mesh是目前较为前沿的技术了,网上的资料也很少,我也弄过的这个协议,不怎么熟悉因为能力有限,自学路上漫漫远长!这里分享个资料,红旭团队将会出个sig mesh教程,这让我很期待,下面给个大纲:
之前弄过TLSR8659
、Realtek
等芯片,不过都是封装好的,文档少,其中的原理还是不熟透!
请登录开放平台:https://iot.aligenie.com/home 查阅官方文档为准!
六、途径4:WiFi直连(比如 esp8266)。
WiFi直连,顾名思义就是WiFi设备直连天猫精灵智能音箱,这个和蓝牙直连一样,都是支持 :对着天猫精灵智能音箱找队友,它就会去发现和配对牙设备了!
配网功能目前支持天猫精灵音响“找队友”以及天猫精灵APP添加智能设备两种方式。通过天猫精灵或天猫精灵APP配网成功之后,Wi-Fi SDK会自动连接精灵云服务,连接精灵云服务成功之后,用户便可感受智能家居体验了。
请登录开放平台:https://iot.aligenie.com/home 查阅官方文档为准!
在这里插入图片描述
也许因为自己是乐鑫忠实fans,偶然的机会在天猫精灵IOT平台看到支持esp8266直连天猫精灵,我开始是想以公司申请 SDK开发包,但觉得走流程太远了,于是乎自己个人名义申请试下,反正公司也不急用,没想到,一下子通过了!真感谢乐鑫的支持!!
在这里插入图片描述
七、途径5:aliosThings直连阿里飞燕平台。
在这里插入图片描述
AliOS Things发布于2017年杭州云栖大会, 是 AliOS 家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统,于2017年10月20号宣布在github上开源。
其支持接入阿里的飞燕平台,拥有从设备功能定义、开发调试、设备加密、云端开发、APP开发、运营管理、数据统计等,覆盖从前期开发到后期运营的全生命周期。最重要的是,支持接入多种物联网平台,包括阿里智能天猫精灵、亚马逊云、Google Home
音箱控制;
前面已经提到了,其支持的阿里飞燕平台,提供了从设备功能定义、开发调试、设备加密、云端开发、APP开发、运营管理、数据统计等,覆盖从前期开发到后期运营的全生命周期。平台具有高稳定、高并发、高安全、强生态的特点。
综上所述,对于一些中小企业公司来说,可以免去搭建硬服务器这块硬伤,因为做好一个服务器,考虑到均衡负载、高并发 的稳定性,考虑到大数据统计,以及全球部署,维护起来都是很大的一笔费用。
因此,接入阿里的飞燕平台是个不错的选择。其由我们的阿里云服务器支持,有我们的淘宝、支付宝等支持,对于国内确实是个不错的选择第三方平台。既然阿里飞燕平台这么强大,那么阿里也是提供了嵌入式开发系统Alios-Things,目前一直在增加支持更多的芯片,包括大家熟悉的 stm32、庆科的 3080,当然啦,还有乐鑫的 esp8266和esp32,都一直在适配中。
大家可以来我博客具体查阅学习!
- 公版App中,通过淘宝账号登录,成功绑定天猫精灵。
- 完成以上步骤后,您可以通过天猫精灵音箱控制您的设备了
七、总结;
TOP.1
- 适合个人开发接入的有云对云对接和aliosThings接入控制智能硬件,包括esp8266等;
TOP.2
- 云对云对接需要熟悉服务器端开发以及设备端开发,弄熟整个通讯的流程尤其重要!
TOP.3
- Wi-Fi直连或蓝牙 sig mesh sdk 直连需要向厂商申请,意味着如果你和原厂商很熟,也可以个人开发!
另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈!
- 玩转
esp8266
带你飞、加群付费QQ
群,不喜的朋友勿喷勿加:434878850 - esp8266源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
- esp32源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32
- 关注下面微信公众号二维码。欢迎欢迎!
<center>
<img src ="https://img-blog.csdnimg.cn/20190430143723867.png"/>
</center>
网友评论