简述:本人家里有一个黑裙放在客厅,有一个天猫精灵X1 也放在客厅,很久以来,他们没有任何联系,最近给家里安装了开门检测,和人体活动检测,门外放人体检测,门上放门磁。 于是想象出了一个场景,在一个深夜,监控主机通过PING命令检测我和老婆的手机都不在家,当老婆加家到门口时,人体活动检测到,然后开门,开门检测到,前后差不了10S,由此判定,老婆大人回家了。主机进行判断,家里的客厅灯打到,门口的灯打开,并且播报,主人XX,欢迎回家,现在是XX点XX分。 目前只差一个环节,就是让天猫精灵说话。目前没有发现能破解猫精的,所以只能通过蓝牙的方式。 总体架构: MQTT push------>MQTT Broker-------->HA Mqtt client------>HA automation------>Baidu tts------> Synology 's mpd----->USB Bluetooth---->Tmall Genie Speak。 当然篇首的架构是: ping wife's phone(30分钟不在线)------->不在家 门外人体检测--------->开门(20S内)---------->有人回家了------------>wife's phone online------->老婆回家了!---------MQTT push"人XX,欢迎回家,现在是XX点XX分" 关键环节: 群晖:部署HA、MQTT Broker、MPD服务器,配备一个USB蓝牙 天猫精灵:蓝牙配对即可 HA:配置TTS,配置MPD服务器地址,配置自动化触发播放 具体实施: 1、部署HA: Docker方式安装HomeAssistant
首先我们进入群晖界面 进入套件中心,搜索docker,点击安装 安装完成后,点击注册表 搜索下载homeassistant最新的docker镜像文件,点击下载后弹出确认选项,选择当前稳定版本0.62.1标签,然后点击选择 在映像种可以看到homeassistant的docker文件进程,总计2G大小,然后就开始下载最新的镜像文件了,此时映像标签会出现一个白色圆圈1,表示一个镜像文件正在下载。 镜像文件下载完成后群晖NAS系统会有通知,安装成功后,点击启动按钮,进入常规设置页面,点击高级设置 高级配置需要配置,四个部分第一个部分home assistant的自启动服务 第二个部分是指定装载路径了,安装文件夹,点击添加文件,新建2个文件夹homeassistant和homebridge【后面homebridge安装将可以使用】 选择文件夹,选中homeassistant ,配置状态路径 /config 进入第三部配置网络,选择与选择使用和 Docker 宿主相同的网络 进入第四部配置环境,需要新增两个环境变量点击加号,添加 variable = TZ 和 value = Asia/Shanghai 确认,下一步,应用 在总览中将会发现homeassistant的启动状态 4、百度TTS配置(configuration.yaml)
tts:
- platform: baidu
#app_id,api_key,secret_key从百度云上注册得到
app_id: 你的
api_key: 你的
secret_key: 你的
#speed:语速0-9(缺省5)
#pitch:语调0-9(缺省5)
#volume:音量0-15(缺省5)
#person:声音(0:女,1:男,3:百度合成,4:百度合成,缺省0)
# 发音人选择, 基础音库:0为度小美,1为度小宇,3为度逍遥,4为度丫丫,
speed: 5
pitch: 5
volume: 15
person: 3
script:
#小思,播音系人美声甜女主播。目前已被楼主双规(规定时间,播报规定内容)。主要负责播报天气预报。
si_tts:
sequence:
- service: tts.baidu_say
data_template:
entity_id: media_player.mpd
message: '{{msg}}'
options:
speed: 5
pitch: 5
volume: 9
person: 0
cache: false
automation:
- alias: test_speech
trigger:
- platform: mqtt
topic: cmnd/tianmao/speak
# 不设置这行,那么在这个主题上收到任何消息都触发。
action:
- service: script.si_tts
data_template:
msg: >
"{{ trigger.payload }}"
人体检测、门磁检测、ping都是通过NODE-RED实现的,不是文章主题,在这里先不讲了。
|