|
本帖最后由 xyz5378 于 2023-11-7 09:14 编辑
实际使用体验
https://b23.tv/5t1KA4X
之前一直使用天猫精灵音箱,但是该音箱对于自制设备的控制很不方便,以及在经历过免唤醒词开关灯竟然在某段时间被禁用后,感觉不受自己掌控的智能设备太不可靠了!!
又想起我那个以前支持,现在不支持微信报警的萤石摄像头: ) ps这个报警功能放公司里抓了两次小偷,后面废了再也捉不到了!)
国内的厂商随意更改设备功能太没节操了.
遂产生了寻找离线可控的语音控制智能家居的方式,一来不被各大厂商偷窥隐私,二来不怕云服务宕机带来的无法使用
一开始在B站学习了大佬们的教程,购买了SU-03T,自制了第一个离线语音音箱,但是使用下来不尽人意,语音识别不准确,网页编译太麻烦等等,
后面再购入了现在的ASR-PRO离线语音模块,目前使用下来,非常舒服,
使用6050驻极体拾音器,拾音器有指向性尽量对着人日常在的方向,语音识别率高,能随意无限定义唤醒词(不建议定义太多免唤醒词,日常说话容易被触发),图形化编程非常适合我这种小白!
模块使用需要,注意刷固件接好线,不一定能成功刷入的,在提示连接后,拔出GND再迅速重新插入,
使用方法总结下来就是:
1.自定义好识别词后刷入模块
2.模块连接D1MINI(D1MINI刷TASMOTA固件,设置好TX RX,连接好mqtt服务器,在nodered监听)
3.nodered设置触发的自动化
一,语音模块部分
购买的是核心版.9.9块钱那款,搭配麦克风+喇叭 一共14.5元(该模块有设置命令开启学习方言的功能,我去年实测下来并不好使,不建议使用,不知道现在更新了有没有改进,我懒得折腾了)
接线部分我是用7*3的洞洞板焊接底座,D1MINI和ASR-PRO焊好排针后插入底座,想重新生成固件拔出模块就行,不用每次重新接线
只需要D1MINI的5V GND TX RX分别对应连接到模块的5V GND PB5 PB6即可
模块的接线方式
连接USB-TTL
5V--5V
GND--GND
PB5--RXD
PB6--TXD
连接D1MINI
5V--VCC
GND--GND
PB5--RXD
PB6--TXD
二,HA部分
1.D1MINI刷写tasmota固件后,设置(下面只做了收发语音模块的TX RX设置,你也可以加入各种传感器把这个D1MINI重复利用起来)
2.nodered设置
NODERED流程只是很简单的一个mqtt节点监听输出的字符(输出的字符是语音模块设置好的字符,我是用debug一个个喊一下复制添加进去),
加一个switch节点判断,后面就是个性化的自动化了,自己根据实际情况修改
最近因为顺便利用模块接入光照温湿度红外等传感器,发现tasmota光照没有小数点后的数字(我实在不知道怎么调出小数点),所以换成了esphome来接入语音,顺便po下
esphome:
name: "zhuwoyuyin"
esp8266:
board: d1_mini
# framework:
# version: 2.7.4
# Enable logging
logger:
logs:
component: ERROR
# Enable Home Assistant API
api:
ota:
password: "12345678"
wifi:
ssid: test
password: aa123456
mqtt:
broker: 192.168.10.249
username: admin
password: public
#I²C Bus
i2c:
sda: D6
scl: D5
scan: True
sensor:
- platform: bh1750
name: "zhuwoguangzhao"
address: 0x23
update_interval: 1s
- platform: sht4x
temperature:
name: "zhuwowendu"
humidity:
name: "zhuwoshidu"
address: 0x44
update_interval: 20s
binary_sensor:
- platform: gpio
pin:
number: D1
name: "zhuwoyuyinhongwai"
device_class: occupancy
id: zhuwoyuyinhongwai
filters:
- delayed_on_off: 100ms
uart:
id: uart_bus
rx_pin: 3
tx_pin: 1
baud_rate: 9600
debug:
direction: BOTH
dummy_receiver: true
after:
delimiter: "\n"
sequence:
- lambda: UARTDebug::log_string(direction, bytes);
nodered接收到的字符会变化,需要重新录入
mqtt监听:
esphome设备名称/debug 比如我这里的是 zhuwoyuyin/debug
|
评分
-
查看全部评分
|