我们是谁?
戴森通常被视为一家大型硬件公司。经常有人问我,你还做软件吗?你还在做云计算吗?是的,我们做软件、云计算、大数据、AI……只要有利于产品开发和用户体验,我们都会涉足技术。在公司层面,我们越来越强调做一个软硬件结合的公司。
顺便说一句,我们智联团队目前有空缺职位:高级云开发工程师,高级前端开发工程师。欢迎调侃。至于戴森是否适合软件攻城狮,请移步下一篇。
国内主流智能音箱评测
智能音箱的发展始于2014年,亚马逊于2014年底发布了Echo,目前已占据美国市场60%以上的份额。 于 2016 年 11 月正式推出 Home,中国也加入了智能音箱的浪潮。京东叮咚智能音箱可以说是中国智能语音行业的先行者和开拓者智能家居入驻天猫,但是这么好的一手还没玩好,现在被阿里的天猫精灵和小米的彻底碾压小爱同学(纯属个人意见)。
我们从2017年6月开始关注国内智能音箱的发展,结合自身业务需求、智能音箱供应商技术成熟度等因素对国内主流产品进行评估。评估结果表明叮咚和天猫genie 更好。
智能家居技能与自定义技能
目前各大智能音箱厂商的开放平台提供两种技能:智能家居技能和定制技能。那么我们该如何选择呢?我们尝试从以下两个维度来回答。
用户体验永远是我们的第一,这是我加入戴森后最大的感受。我们开发了天猫精灵智能家居技能和叮咚自定义技能原型,并邀请真实用户体验测试。结果证实,在智能家居场景下,智能家居技能的用户体验更好。
智能家居技能开发资源
可用的开发资源:
钉钉讨论群我们经历过的坑Token和Token
1.访问令牌和参数传递
2. Token有效期
- 当前刷新机制为:每天24批次(整点15:00刷新),每批次按技能组顺序刷新。在每批中仅刷新将在 24 小时后一小时内到期的令牌。
- 官方建议:请将有效期设置为1天以上(2-3天最好)
3.刷新令牌超时
令牌的刷新时间为三秒。对于异常失败,天猫 elf 会重试。但是你必须保证你的token可以多次使用直到过期(一般token的过期时间比较长,比如7天)。我们之前将token设置为one-time,导致极端情况无法刷新。
当访问令牌无效时,必须按照协议进行异常处理。
{
"header":{
"namespace":"AliGenie.Iot.Device.XXXX",
"name":"ErrorResponse",
"messageId":"1bd5d003-31b9-476f-ad03-71d471922820",
"payLoadVersion":1
},
"payload":{
"deviceId":"34234",
"errorCode":"ACCESS_TOKEN_INVALIDATE",
"message":"access_token is invalidate"
}
}
4. 代币过期监控
一旦token过期,天猫会发出下面的TTS广播,提醒用户重新绑定技能,获取新的token和token。
令牌无效天猫 向导 TTS 广播
对于天猫精灵的用户和天猫精灵开放平台的技能提供者来说,这是唯一的解决方案,对用户体验影响很大。所以非常有必要做好监控,让你第一时间发现token过期的问题,及时排查是天猫精灵的问题还是你自己的问题自己的服务器。
至于如何监控,有很多方法。例如:我们在AWS中设置报警,一旦token过期,立即向SNS发送消息智能家居入驻天猫,最后通过邮箱订阅对应的topic,获取报警通知。
最后分享一下我们遇到token失败的场景:
开发者网关
开发者网关是技能开发者的后端逻辑。我们在这里讨论以下问题。
1. 2秒超时问题
所谓两秒超时,是指后端服务必须在两秒内完成所有处理逻辑,并返回给天猫向导。不然天猫小精灵会播放“智能家居控制有问题,请稍后再试~”这句话,让我极度暴躁易怒。贵妃说做不到,为什么呢?不是我们在抱怨,而是我们真的很忙。
mqtt connect - 300-500ms
Get current state - 1.5 - 2s
这里已经加起来3到4秒了,网络传输时间还没有计算出来。在与天猫精灵开发团队的交流中,我发现只有少数跨国公司遇到过这个问题,国内厂商都很好。我说你一定是偷懒不查状态,直接发出指令。最后,我们通过异步回调的方式解决了这个问题。感谢阿里的朋友为我们家开发了这个界面。这个界面对技能开发者和 天猫 向导平台有什么好处?
最后给大家简单介绍一下异步回调的工作逻辑。简单来说,当设备云收到天猫消息时,会在2秒内ack,然后在5秒内完成操作后回调异步接口上报执行结果。
2. 天猫精灵侧
在 天猫 空闲一段时间后第一次启动 天猫 时会出现问题。目前,该问题仍在持续沟通中,尚未发现具体问题。
3、开发者网关域名无法解析
我对这个问题的第一反应是天猫精灵的问题。他们的 dns 解析服务器有问题。但也有可能是我的一个朋友 AWS 在阿里云上尝试了一些魔术,或者我的域名提供商出了问题。下次再次出现时会进一步调查。
语义理解模型
我们生成了 5000 多个语料库来测试 天猫 精灵的 NLU 模型,反馈问题得到了部分解决。随后的迭代更新将继续进行。
天猫精灵应用
到目前为止,已发现以下错误或需要改进的地方:
1.通过技能搜索入口,技能绑定后,设备列表为空。
- 这个问题已经被天猫确认了,可能是忘记发了。
2、技能绑定后,没有弹窗通知用户技能绑定的最终结果。
3、设备列表目前有两个条目,但每个条目的设备配置页面不一致。
天猫精灵硬件
1.天猫精灵偶尔会出现广播截断的问题
天猫Genie 开放平台开发团队的建议
1.新增技能灰度测试功能
2.开放平台的统计页面还没有工作
3.用户脱敏导出功能
本帖将持续更新……