“掌控板”智能语音机器人

 

 

      首先感谢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)

 

posted @ 2019-07-25 19:46  liaomm  阅读(1646)  评论(0编辑  收藏  举报