“掌控板”智能语音机器人
首先感谢DF的“瀚瀚_luna”为我提供的掌控板和DF扩展板;入手“掌控板”几天来,经粗略学习后,感叹于其与OneNET物联网、微信小程序、APP交互的强大功能,让创造的思维有了发散的空间,尝试应用“掌控+APP”实现智能语音机器识别、对话、指令传达;通过几天的摸索,调用百度云AI和图林AI,用app Inventor做逻辑功能,做出简易的智能语音机器人。其步骤如下:
一、 配置掌控板WIFI环境
配好本地WIFI网络,在掌控板上显示机器IP,以便与APP进行数据交互;
一、 申请AI账号和获取API调用权限
(一)申请图林机器人权限
1.打开网址http://www.turingapi.com/ ,注册登录,
点击,填写相关信息。
在机器人设置中,记下apikey,并关闭密钥按钮;
并在技能拓展中,打开相应的按钮,如聊天对话等
(备注,最好个人认证,这样每天要以对话100次)
(二)申请百度智能云AI权限
1.打开百度智能云网址,注册账号;依次打开产品服务/人工智能/语音技术;
2.创建语音技术应用
记下APPID, APPKEY, Secret Key。
三、APP Inventor编写逻辑
(一)获取服务IP地址;
1.建立一个获取和填选TinyWebIO服务器的地址界面,并传递至app inventor下一个屏幕;
2.做好组件列表、界面设置、逻辑设计;
具体的思路是:掌控板发出对话指令,APP接收指令后,调用图林API和百度API进行对话;将语音内容转换为文本,提取里面的指令关键字,做出相应的判断;
百度语音合成组件设置。
3.接收传递过来的IP,并提示与掌控板建立连接;
识别掌控板与APP互动的指令,也就是由掌控板向app发出指令,这一块是知识的盲点,不好解决。
我的解决思路:按掌控板P键和N键,启动语音智能模式,然后用APP读取TinyWebIO 中的数据touchpadp 中的 p的值为<100,然后在app中设立一个时间计时器,间隔1000毫秒(做个延时),读这个值,然后做出指令;
(指令值的查询表)
(获取图林机器人返回的值,并在屏幕上显示)
识别完语音后,(语音的对话调用API接口中,程序如下)执行程序命令。分辨语言识别的文章详见:( 老巫婆的程序世界和曹老师的博客)
https://mp.weixin.qq.com/s/oij3NW6UwTOL7UwmGyhxaQ
http://blog.sina.com.cn/s/blog_a5479fe00102wjmv.html
本例子是用触控掌控板P键来触发APP脚本,也可以用声音传感器或超声波测距的数值来激发。(源码视频如下)
本例多有不足,还望见谅!
附完整代码:
附件:源码下载 (里面要自己填写申请的百度AI和图林AI的APIKEY)