本帖最后由 海神 于 2022-5-17 15:48 编辑
简介
blinker APP自带的语音识别功能,与定时任务相似,语音识别功能也可以与按键控件绑定使用,当识别成功后就触发按键控件的相应动作。 设置方法如下: 在编辑模式下,点击按键,进入组件编辑页面,选择 语音设置>添加语音指令 即可添加一条语音指令,语音指令可对应“on”、“off”、“tap”三种动作。 如选择动作”on”,该按键组件key为“btn-abc”,则触发该语音指令时,APP会向设备发送指令:{“btn-abc”:”on”} 在APP设备列表页,点击右下角的语音按键,即可输入语音指令。 那么本节我们利用语音识别功能来制作一个芝麻开门项目,我们自己设置语音密码,当识别到语音“芝麻开门”,就打开门板,识别到语音“芝麻关门”,就关闭门板。将门板想办法固定在舵机轴上,我们就可以通过切换舵机轴的运动来实现开门、关门的动作。
硬件
9g舵机*1
软件
blinker app
代码
- #define BLINKER_WIFI
- #include <Blinker.h>
- #include <Servo.h>
- #define servoPIN D2
- char auth[] = "d8bdbx0fxxx";
- char ssid[] = "mosxxn";
- char pswd[] = "1803808xxxx";
- BlinkerButton Button1("btn-abc");// 新建组件对象,键名为'btn-abc'
- Servo myservo; //新建一个对象用于控制舵机
- int counter = 0;
- // 按下按键即会执行该函数
- void button1_callback(const String & state)
- {
- if (state == BLINKER_CMD_ON) { //按键被按下不放
- BLINKER_LOG("Button pressed!");
- Button1.color("#0000FF"); //按键颜色显示为蓝色
- Button1.text("yellow");
- myservo.write(180); //开门
- Button1.print("on");
- delay(100); //延时一点时间
- }
- else if (state == BLINKER_CMD_OFF) { //按键长按下后松开
- BLINKER_LOG("Button released!");
- Button1.color("#00FFFF");; //按键颜色显示为灰色
- Button1.text("gray");
- myservo.write(0); //关门
- Button1.print("off");
- delay(100); //延时一点时间
- }
- }
- void setup()
- {
- // 初始化串口
- Serial.begin(115200);
- BLINKER_DEBUG.stream(Serial);
- // 初始化blinker
- Blinker.begin(auth, ssid, pswd);
- Button1.attach(button1_callback);
- myservo.attach(servoPIN); //舵机连接引脚
- }
- void loop() {
- Blinker.run();
- }
复制代码定制blinker软件界面
编辑app界面,添加一个按键,修改按键的参数特征,选择样式为开关按钮,数据键名为程序中定义的“btn-abc”,按键类型设置为“开关按键”。 点击语音设置,添加2个语音内容,并于对应的开关相对应。语音内容为芝麻开门对应的是按键的on状态,芝麻关门对应是按键的off状态。 点击右上角的勾,确认编辑。点击解锁,完成编辑。 硬件连接
将扩展板连接在wifiduino上,并将舵机通过连接线连接在扩展板上的D2接口中。 (注意舵机接线 黄—信号 红—VCC 黑—GND 对应连接在扩展板上的 D2 (白针)VCC (红针)GND(黑针)上) 观察现象
回到主界面,点击语音按钮。对着手机喊“芝麻开门” 和“芝麻开门”。观察门的运动情况。 我们可以给程序进行升级,添加一个蜂鸣器的模块,当识别成功后,首先让蜂鸣器发出一段音乐,然后在转动舵机进行开门,这样在搭建芝麻开门会更形象生动。 
blinker物联网教程目录 blinker物联网教程——2、搭建编程环境
blinker物联网教程——3、主控硬件wifiduino
blinker物联网教程——4、控制开关灯
blinker物联网教程——5、认识传感器
blinker物联网教程——6、wifi智能插座
blinker物联网教程——7、室内温湿度计
blinker物联网教程——8、定时任务-定时震动器
blinker物联网教程——9、blinker语音识别-芝麻开门
blinker物联网教程——10、日照时间分析
blinker物联网教程——11、自动灌溉
blinker物联网教程——12、调色盘
blinker物联网教程——13、公园噪音监测
blinker物联网教程——14、智能停车场
blinker物联网教程——15、智能家居
blinker物联网教程——16、遥控机械臂
blinker物联网教程——17、防疫隔离门磁
blinker物联网教程——18、手机控制空调
blinker物联网教程——19、接入小度智能音箱
blinker物联网教程——20、语音氛围灯
blinker物联网教程——23、wifi智能小车
blinker物联网教程——24、智能宠物喂食器
|