『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 20887|回复: 40

[新奇玩法] 天猫自定义技能实现自定义语音命令回复

[复制链接]

11

主题

143

帖子

1209

积分

论坛技术达人

积分
1209
金钱
1061
HASS币
20
发表于 2019-4-29 14:33:13 | 显示全部楼层 |阅读模式
本帖最后由 a2633063 于 2019-5-7 22:42 编辑

20190507更新:
小度已经接入 控制设备方面废话少  而且设备名称自定义  天猫精灵在控制hass方面正式被我弃用了~~  所以天猫的自定义技能不会继续啦~~~


20190430增加:

有人告诉我 小度控制可以自定义名称,而且反馈也比较精简,已经看了接入,和天猫精灵类似,看来考虑后续的语言控制换成小度了好了
用小度的说说看~~~




20190429晚上更新:

实际测试使用了一下,发现需要个入口词,反而更不方便了原本只说 打开电视, 现在要说让服务器(自定义的入口词)打开显示器   感觉也更麻烦了
这个我还是停止研究了,有兴趣的继续研究  只希望天猫精灵赶快完善设备类型 优化回复内容了~~~




天猫精灵接入hass肯定不少人都做了, 但是天猫精灵控制设备有2个缺点:
  • 语音控制的命令必须为天猫精灵规定的格式与特定的词,而且设备类型很少,比如我想实现关闭卧室的显示器就不行. 显示器电脑等设备都不在天猫精灵的支持列表里.
  • 天猫精灵的反馈废话太多多多多多多多多多.


所以想自己完成自定义语音控制以及自定义回复功能. 天猫精灵中自定义技能能完成此功能.结果简单测试,理论应该是没有问题.而且自定义技能的webhook不需要ssl证书,而智能家居技能必须要https加密

目前只是简单实现了功能,而且实际上和hass完全没有关系,但是已经能够拿到天猫精灵反馈到自己架设服务器上的关键词,根据这些关键词,那就是想做什么就做什么了~~~

缺点:
解决了上面2个缺点,取引入了另一个缺点.天猫精灵的自定义技能必须有个关键词表示是你的技能,所以不能在直接说关闭显示器,而是要说 (让/把)服务器 关闭显示器    "服务器"是你自己设置的技能唤醒词

前提:
你需要一个外网能够访问你自己服务器的ip地址,无论你是公网ip,还是自己搭建frp,或是内网穿透够可以.我自己是花生壳内网穿透

个人服务器搭建:
保存以下python文件:
test.py
游客,如果您要查看本帖隐藏内容请回复


在test.py同级目录下建立一个文件夹aligenie,将在阿里开发者平台上下载的认证文件(txt文件)放在aligenie文件夹中,然后运行py文件:
python test.py

以上自己的服务器就搭建完成,请确保外网能连入你服务器的8000端口.外网连接不多说

阿里开发者平台配置
在阿里开发者平台中创建技能:https://open.aligenie.com/console/skill/create
技能名称随意,技能类型选择自定义,注意:调用词请选择合适的词,后面试用时必须使用此调用词来激活你的命令
1.png
点下一步,进入控制台,我们需要设置意图和实体,实体就我们需要抓到的关键词,而意图就是类似我们语音的命令内容了

先设置实体,选择实体, 创建实体,输入一个实体名词(最好英文).然后在你创建的实体名词下加入你需要的关键词.
如我需要执行打开显示器的命令,那么实体有2个:执行动作:打开   被执行的设备:显示器
所以我创建了两个实体:device active   
device中包含内容:显示器(还加了个电脑)
active中包含内容:打开/关闭

2.png 3.png 4.png


然后设置意图
切换至意图-创建意图,名称随意,创建后进入你创建的意图详情
增加一个普通语料:
例句  内容为"打开显示器",然后选中"打开",在选中的位置单击一下,弹出一个窗口选择active:active 表示这句话中打开为上面实体中的active  显示器部分操作同理
上面操作后,参数会自动添加,勾选必选.
然后配置回复配置  url填写你服务器的url即可,同时你需要点击下载认证文件,将下载下来的txt文件放在服务器web服务的根目录下的aligenie文件夹内(上面有提)点击提交(服务器都配置好后,这里的回复配置才能提交成功)
5.png


提交完成后就配置完成了,服务器配置好就可以点测试验证验证一下
看到返回的数据已经变成了我们自定义的"哈哈哈" (这里我的调用词是"服务器")
6.png
py脚本log中可以看到天猫精灵服务器发出的内容
7.png

至此已经实现自定义命令及自定义回复

目前我的脚本只是验证自定义技能,回复也是写死的"哈哈哈".拿到天猫精灵的数据后,根据里面的关键词,想做什么,就直接写脚本了~ 控制hass里的设备应该对大神都是小菜一碟吧
我主要方向不是服务器 python 所以只验证以上功能  拿到这些数据后做什么  就教给其他大神去完善吧   


ps:明明看到说论坛支持markdown 但是怎么没用 不知道怎么用啊........

回复

使用道具 举报

0

主题

32

帖子

84

积分

注册会员

Rank: 2

积分
84
金钱
52
HASS币
0
发表于 2019-4-29 15:16:37 | 显示全部楼层
前排就坐,我也来试试看
回复

使用道具 举报

12

主题

188

帖子

785

积分

高级会员

Rank: 4

积分
785
金钱
597
HASS币
0
发表于 2019-4-29 15:49:09 | 显示全部楼层
大神好厉害了,(^^ゞ
回复

使用道具 举报

123

主题

4626

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16013
金钱
11302
HASS币
45
发表于 2019-4-29 16:36:01 | 显示全部楼层
这么快,已经搞出来啦!不过又需要入口词了,也挺烦人。。
回复

使用道具 举报

8

主题

863

帖子

5124

积分

论坛元老

Rank: 8Rank: 8

积分
5124
金钱
4261
HASS币
0
发表于 2019-4-29 17:22:48 | 显示全部楼层
没有天猫,不过楼主666
回复

使用道具 举报

1

主题

12

帖子

60

积分

注册会员

Rank: 2

积分
60
金钱
48
HASS币
0
发表于 2019-4-29 17:33:41 来自手机 | 显示全部楼层
大神好厉害了,(^^ゞ
回复

使用道具 举报

5

主题

170

帖子

490

积分

中级会员

Rank: 3Rank: 3

积分
490
金钱
320
HASS币
0
发表于 2019-4-29 18:55:52 | 显示全部楼层
不明觉厉,先看看什么路数:)
回复

使用道具 举报

26

主题

1190

帖子

5382

积分

元老级技术达人

积分
5382
金钱
4167
HASS币
100
发表于 2019-4-29 19:57:24 | 显示全部楼层
这个要技能唤醒词的,用起来非常不方便
回复

使用道具 举报

55

主题

620

帖子

3800

积分

论坛元老

Rank: 8Rank: 8

积分
3800
金钱
3175
HASS币
20
发表于 2019-4-29 19:58:34 | 显示全部楼层
大神好厉害了,(^^ゞ
回复

使用道具 举报

11

主题

143

帖子

1209

积分

论坛技术达人

积分
1209
金钱
1061
HASS币
20
 楼主| 发表于 2019-4-29 20:29:02 | 显示全部楼层
Jones 发表于 2019-4-29 16:36
这么快,已经搞出来啦!不过又需要入口词了,也挺烦人。。

确实  实际测试使用了一下  发现用个入口词更不方便了  不在继续了  还是就使用智能家居技能吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-25 22:39 , Processed in 0.079031 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表