我的 Rokid 之路 附:记事本技能全部源代码
生活随笔
收集整理的这篇文章主要介绍了
我的 Rokid 之路 附:记事本技能全部源代码
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
今天(2017年12月25号,圣诞节,Rokid有心啦,木有收到圣诞节礼物的我,给我送来Rokid All in ONE 全栈语音智能开发套件作为圣诞节惊喜)
开箱后只能说做工相当不错,很精致。
废话不多说,正式走一遍遇到的坑,官方的开发指南其中已经写好了很多必要的入门流程。
目前开发的技能
记事本
- 基本功能框架完成
- 欢迎各位开发提交PR
本人遇坑及经验总结如下
本人测试通过的可信刷机镜像(其实就是官方镜像)
- Android
- Linux
在Windows下使用adb shell连接到开发板后,使用ls命令,如果出现类似如下的内容,可能是自带的字符串着色与Windows的console不兼容,登入shell后,直接执行 alias ls='busybox ls --color=never' 即可。建议Rokid预安装bash作为备用选项,或者开发者自行下载使用Cmder软件,可解决以上问题。(不怎么直接使用sh,一直用的bash或者zsh,没有出现过类似问题)
[0;0mdefault.prop[0m [1;36mlib64[0m [1;34mopt[0m [1;34msrv[0m [1;34mdev[0m [1;34mlibexec[0m [1;34mproc[0m关于WiFi连接及配网
- 坑走完之后就是Demo了,能正式配置Rokid的WiFi连接,剩下的就很方便了,通过官方开发指南先做一个简单的人机对话,在开发过程中与Rokid的直接交流语言的JavaScript,因此若要开发更为灵活的服务功能,需要依托其它的后台接口开发。
关于入口词的一些事
- Rokid 中可能涉及的入口词问题,本人发现Rokid是针对技能貌似是独占的(还没有完全确定这一点),前期可能刺激开发者或者其他人员抢占入口词,建议平台针对这点进行入口词融合、增加针对用户或者设备调试不同技能的优先级功能。
顺便来几张开箱照(图片太丑,请点击下方链接查看):
- 未拆图
- 已全拆图
技能开发过程需要知道的事情
技能类型说明
| 公有 | 所有用户 | 云端 |
| 私有 - 云端 | 指定用户 | 云端 |
| 私有 - 本地 | 指定用户 | 本地(/opt/apps或/data/apps目录) |
关于rokidos-cli
整理中。。。关于语言交互的设置
词表
- Rokid 预定义词表
-
自定义词表
$ROKID.YES_ZH $ROKID.NO_ZH
自定义词表除了可以通过普通的一行一个词的方式设定自己的词表,还可以通过如下的方式引用其它词表(引用词表以 $ 符号开头) -
setConfirm
{"intent": "RecordAny","slots": [{"name": "content","type": "ROKID.ANY"}],"user_says": ["!$content"] }
如果要通过setConfirm获取用户对话过程的任意内容,可以参考如下方式
意图定义:服务代码中对应handler中使用如下setConfirm语句:
this.setConfirm({confirmIntent: 'RecordAny',confirmSlot: 'content' });
Session
- this.setSession(key, value)中,所传value为null时,该值不会被记录。
dbServer
- dbServer.set(key, value, callback) 该方法为异步形式,因此涉及数据库操作时,应该将其后的业务逻辑放于callback中,否则数据还没取回就执行到后面的业务中。
- get:Rokid.dbServer.get(key, callback)与Rokid.dbServer.delete(key,callback)是否为异步形式尚未验证,建议同样将数据库操作之后的业务逻辑放于callback中。
- 鉴于关于数据库操作为异步形式,因此建议相关开发者自建统一的数据库存取管理的相关代码以避免多层嵌套(具体参考代码稍后会以GitHub的形式放出),或者改写为Promise形式,目前尚未改写成功。
- 集成测试中的后端服务测试与服务列表中的测试用例在逻辑上不属于同一个会话,因此在调试中需要做区别,也就是数据库里的数据不共享,需要单独各自添加测试数据。
后续进一步整合raspberry pi与Rokid
该文章持续更新中。。。
本文参与了 SegmentFault「Rokid 开发板试用,开启你的嵌入式开发之旅」活动,欢迎正在阅读的你申请试用,一起交流开发心得。 《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读总结
以上是生活随笔为你收集整理的我的 Rokid 之路 附:记事本技能全部源代码的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: OC和JS互相调用小框架
- 下一篇: java SocketChannel a