齐护离线语音识别模块可免编程自定义学习唤醒词及识别词 固件V2.1
齐护语音识别V2.1模块可自定义免编程学习唤醒词指令词自带IO实现人机对话 Arduino C编程图形化Mixly Scratch编程
此固件(程序/功能)为自学习V2.1版本,在基础版本的上去除【变量/短语播报功能】增加了【自学习唤醒词1个】、【自学习指令词10条】、【音量语音控制】、【唤醒串口指令】、【更多的免唤醒指令】、【指令控制IO】等更多个性化(可以用方言或英文其它任意语言等)更实用的功能,可实现任意语音自定义,编程时可选择对应的库应用,但一定要确认您在使用的是【V2.1版本】的固件模块!!!(模块背面型号:QC01-YYSB03 V2.1 字样)
注:查看教程时一定要确认自己的模块是哪一个型号的,对应型号采用不同的编程库(本教程是针对C01系列的V2.1模块)!如果发现工作时主板重启,很可能是供电不足,因为喇叭工作时要的电流相对大,有的电脑USB供电不足会引起主板重启或其它问题,所以建议用这个模块时加外部供电5V,外部供电时与主板共地即可!
一、功能说明
1-2 模块参数
模块物理参数及工作原理参考:【应用基础说明】
1-3 功能指令集明细
唤醒词:你好齐护、小齐小齐、齐护机器人、实验盒、语音助手、智能助手;
退出指令:再见,拜拜;回复:再见/拜拜。
唤醒串口输出指令:有;
自学习唤醒词功能:有;
唤醒工作周期:30秒;(执行识别前要先唤醒,静音30秒后要重新唤醒)
学习指令词功能:有;
免唤醒词:开灯、关灯、贾维斯、小助手;
串口通信波特率:9600,数据位8,停止位1,校验位无。
串口指令:唤醒、静音/回应模式、音量控制功能,及一些识别指令。
注:所有语音指令都通过串口输出,可监视,指令为英文字符逗号“,”开头,句号“.”结尾,如“打开2号”的输出指令为模块输出串口字符串“,turnon2."。(使用Mixly或Scratch齐护机器人库有设置好,不用另加符号)
序号 回复串口指令
(图形化块或自定义串口读取字符串对比) 语别指令词 回复语音 IO输出 串口启动指令(通过串口触发) 自学习指令词
1 openequipment 打开设备|打开一号|开始一号 已为您打开设备 IO1 高电平 A25/on 有 1号可增加学习词
2 closeequipment 关闭设备|关闭一号|停止一号 已为您关闭设备 IO1 低电平 A25/off 有 2号可增加学习词
3 turnon2 开灯|把灯打开|打开二号|开始二号 已为您打开二号 IO2 高电平B3/on 免唤醒 有
4 turnoff2 关闭二号|停止二号|关灯|关闭灯光 已为您关闭二号 IO2 低电平B3/off 免唤醒 有
5 turnon3 打开三号|开启三号|开始三号 三号马上开 IO3 高电平B2/on 有 3号可增加学习词
6 turnoff3 关闭三号|停止三号 好的,关三号 IO3 低电平B2/off 有 4号可增加学习词
7 turnon4 打开四号|开始四号 为您开四号 IO4 高电平B6/on 有 5号可增加学习词
8 turnoff4 关闭四号|停止四号 关闭四号 IO4 低电平B6/off 有 6号可增加学习词
9 turnon5 打开五号|开始五号 五号打开 IO6 高电平A27/on 有 7号可增加学习词
10 turnoff5 关闭五号|停止五号 五号关闭 IO5 低电平A27/off 有 8号可增加学习词
11 turnon6 打开六号|开始六号 六号打开 IO6 高电平A26/on 有 9号可增加学习词
12 turnoff6 关闭六号|停止六号 六号关闭 IO6 低电平A26/off 有 10号可增加学习词
13 temperaturenow 现在温度|今天温度 温度
14 humiditynow 现在湿度|当前湿度 湿度
15 leftturn 左转|左转弯 左转
16 rightturn 右转|右转弯 右转
17 goforward 前进|直行|进攻|出发 前进
18 drawback 后退|倒退|倒车 后退
19 stoprun 停止|停了 停止
20 turnaround 打转|转圈 转圈
21 raisedlefthand 抬左手|举起左手 左手
22 raisedrighthand 抬右手|举起右手 右手
23 leftfoot 抬左脚|举起左脚 左脚
24 rightfoot 抬右脚|举起右脚 右脚
25 openElectricfan 打开风扇 已为您打开风扇
26 closElectricfan 关闭风扇 已为您关闭风扇
27 AdjustGearmin 风扇调到一档|风速调到最小 风速已调到1档
28 AdjustGearmax 风扇调到三档|风速调到最大 风速已调到3档
29 settiCLonehonor 定时一小时关灯 一小时后关灯
30 settiOPonehonor 定时一小时开灯 一小时后会开灯哦
31 volumeUpUni 增大音量|加大音量|音量增大|提高音量 好的,已增大音量
32 volumeDownUni 减小音量|音量减小 好的,已减小音量
33 volumeMaxUni 最大音量 这是最大音
34 volumeMinUni 最小音量 这是最小音
35 openairconditi 打开空调 已为您打开空调
36 closeairconditi 关闭空调 已为您关闭空调
37 runautomatical 自动模式 自动运行
38 coolingmode 制冷模式 开启制冷
39 heatingmode 制热模式 加热开始
40 raisetemperatur 升高温度 升温
41 reducetemperat 降低温度 降温
42 turnontv 打开电视 电视已打开
43 turnofftv 关闭电视 关电视
44 setmaxld 调到最亮 最亮了
45 setminld 调到最暗 最暗了
46 increasebrightn 亮一点|增加亮度 好,亮一点
47 reducebrightnes 调暗一点|减小亮度 已调暗
48 setcolorred 灯调为红色|红色 调为红色
49 turnonpower 打开电源 已为您打开电源
50 turnoffpower 关闭电源 已为您关闭电源
51 theheater 打开暖气 已为您打开暖气
52 shutdownheat 关闭暖气 已为您关闭暖气
53 openblowing 打开吹风 已为您打开吹风
54 closeblowing 关闭吹风 已为您关闭吹风
55 thewater 开始出水 开始出水
56 closewater 停止出水 停止出水
57 heatpreservat 保温模式 保温
58 turnonswitch 打开开关 已为您打开开关
59 turnoffswitch 关闭开关 已为您关闭开关
60 tempSet25 温度设置为二十五度 设置好了
61 garbageclass 垃圾分类 开始垃圾分类
62 drygarbage 干垃圾 好的,干垃圾
63 wetgarbage 湿垃圾 湿垃圾,要处理好哦
64 thisglass 玻璃 小心玻璃
65 hutchdefends 厨卫垃圾 厨卫垃圾
66 wastepaper 废纸 废纸放这
67 thebattery 电池 电池在这边
68 theplastic 塑料 塑料在这
69 themetal 金属 金属这边
70 turnonroom 打开客厅灯 已开客厅灯
71 turnofroom 关闭客厅灯 已关客厅灯
72 turnonroomlight 打开房间灯 已开房间灯
73 toffroomlight 关闭房间灯 已关房间灯
74 masterbedroom 打开主卧灯 已开主卧灯
75 offmasterroom 关闭主卧灯 已关主卧灯
76 turnonbalcony 打开阳台灯 已开阳台灯
77 turnoffbalcony 关闭阳台灯 已关阳台灯
78 openAll 打开所有|打开全部|所有打开|全部打开(A01系列无) 已为您打开所有设备
79 closeAll 关闭所有|关闭全部|所有关闭|全部关闭(A01系列无) 已为您关闭所有设备
80 exitUni 拜拜|再见 好的,那我先退下了
81 Tothecolor 调为彩色 好的,已为您调为彩色
82 chaxuntianqi 查询天气 好的,正在为您查询天气
83 chashijian 查询时间 好的,正在为您查询时间
84 setWhite 调为白色|白色 已为您调成白色
85 setBlue 调为蓝色|蓝色 已为您调成蓝色
86 setGreen 调为绿色|绿色 已为您调成绿色
87 leanEnglish 学习英文 现在开始学习英语
88 AdjustGearmin 风扇调到一档|风速调到最小 风速已调到一档
89 AdjustGearmax 风扇调到三档|风速调到最大 风速已调到三档
90 settiCLonehonor 定时一小时关灯 一小时后关灯
91 settiOPonehonor 定时一小时开灯 一小时后会开灯哦
92 warmMode 温馨模式 已为你切换为温馨模式
93 coolMode 炫酷模式 已为你切换为炫酷模式
94 readMode 阅读模式 已为你切换为阅读模式
95 pause 暂停 暂停
96 playMusic 播放音乐|音乐播放|播放 开始播放
97 nextSong 下一曲|下一首 播放下一首
98 previousSong 上一曲|上一首 播放上一首
99 AI 贾维斯 I’m here 免唤醒
100 AI2 小助手 I’m here 免唤醒
101 chashijian 查询时间 好的,正在为您查询时间
102 volumeDownUni 减小音量|音量减小|小声点 减小音量 内部响应
103 volumeMaxUni 最大音量 这是最大音 内部响应
104 volumeMinUni 最小音量 这是最小音 内部响应
105 volumeUpUni 增大音量|加大音量|音量增大|提高音量|大声点 好的,已增大音量 内部响应
106 soundoff 静音模式|沉浸模式 无 内部响应 有
106 soundon 回应模式|应答模式 您将听到我的回应 内部响应 有
107 startoff 再见|拜拜 再见|拜拜 指示灯灭 有 语音识别退出
108 startoff2 (超30秒后无语音的自动退出) 有需要再叫我,Call me if needed 指示灯灭 自动退出
109 starton (唤醒词唤醒) 你好,有什么可以帮你! 指示灯亮 有
1-4 双软件编程模块
二、Mixly软件Arduino编程示例
三、Mixly软件Micropython编程示例
四、齐护编程Scratch编程示例
五、与单片机的接线方法
接线时特别注意的问题:一定要确认供电有5V并充足电量,如果只有3.3V或不足电的电池,模块是不能正常稳定工作!
六、自定义功能块特别说明
此编程块是为要二次开发后才可以按【用户二次开发的词语】输入识别的(参考V2.1版本或自定义时用),出厂默认词不可以采用这个编程块,只能从有下拉选词编程块【识别到XX】中选择对应的识别词功能!
七、自学习功能
自学习的语言不用分方言或普通话或外语都可以!只要是人说出来的话都可以识别!
注:自学习时一定要在安静的环境下操作,否则直接影响识别效果或学习失败!
7-1 自学习唤醒词
自学习唤醒词是指在原出厂唤醒词的基础上增加一个自己的唤醒词,比如增加:小明小明。
学习唤醒词的操作方法:唤醒–说“开始学习唤醒词”–按提示说两次你要的唤醒词,将有提示完成学习。
重置学习保存的指令词:唤醒–说“重置学习“,清除学习的唤醒词及指令词,恢复出厂。
清除学习唤醒词的操作方法:唤醒–说“清除学习唤醒词”,将自动清除学习的唤醒词恢复只有出厂词。
7-2 自学习指令词
自学习是指自定义一些自己个性化的识别词,可以增加自学习(自定义)指令词的指令为指令清单中的N01-2,5-12号指令,共10个。学习后会增加学习的词,原指令词共存可用。
学习指令词的方法:唤醒–说“开始学习命令词”–按提示对10个指令每次说两次,一定要学习完10个,中途退出或只学一两个,不学习完全10个有可能没有保存成功!如果有时学习不成功,可以先『重置学习』恢复出厂后再重新学习,自学习的指令词串口指令不变,只是在原指令词基础上增加了学习的语音识别指令!
重置学习保存的指令词:唤醒–说“重置学习“,清除学习的唤醒词及指令词,恢复出厂。
清除学习命令词:唤醒–说“清除学习命令词“ ,清除后将不再有自学习的指令词。
7-3 自学习指令词后编程技巧
用了学习编程后,为了更直观的从程序上备注自己的指令,可以参考如下方法,把指令放到变量中,变量名设置为实际的唤醒词!
#include <SoftwareSerial.h>
#include <ZLJASR.h>String 贾维斯;
String 小助手;
String 自学习1号;SoftwareSerial mySerial26(25,26);
ZLJASR MyASR3;void setup(){Serial.begin(9600);mySerial26.begin(9600);MyASR3.begin(mySerial26);贾维斯 = "AI";小助手 = "AI2";自学习1号 = "openequipment";//免唤醒词:贾维斯,小助手,开灯,关灯//为了方便查看,把返回赋值到变量名中//自学习后,为了方便查看,把原先的返回赋值到变量名中,原先的值可以拖出编程块"识别到"选择1,3-6号查看pinMode(2, OUTPUT);
}void loop(){MyASR3.ReceiveData();if (MyASR3.CompareData(贾维斯)) {Serial.println("勉唤醒词:贾维斯");digitalWrite(2,HIGH);} else if (MyASR3.CompareData(小助手)) {Serial.println("勉唤醒词:小助手");digitalWrite(2,LOW);} else if (MyASR3.CompareData("settiCLonehonor")) {Serial.println("一小时后关灯");} else if (MyASR3.CompareData("turnoff6")) {Serial.println("go home");} else if (MyASR3.CompareData(自学习1号)) {Serial.println("这是你学习的1号识别指令");} else if (MyASR3.CompareData("starton")) {//唤醒词(你好齐护\小齐小齐\实验盒\齐护机器人\语音助手\智能助手)的返回Serial.println("唤醒时收到的指令为starton,可以开始指令识别");}}