在树莓派上要让 Home Assistant  发声朗读 ,从硬件上我们需要 3.5mm插口音箱(耳机)或usb口音箱(耳机)。软件方面 我们需要一个媒体播放器以及 tts ( 将文字转化为语音的服务 )。

1. 安装媒体播放器

使用命令 sudo apt-getinstall vlc 在树莓派上安装  VLC  媒体播放器。

因为树莓派有多个音频输出设备,我们在它的图形界面中设置音频输出设备为 Analog  也就是它的耳机插口。

打开 Home Assistant 的配置文件 configuration.yaml  配置 VLC 媒体播放器。在配置中添加如下内容 保存退出:

media_player:
 - platform: vlc

2. 配置TTS 语音服务

国内外有多家大厂都提供tts 服务,这里我选择的是使用百度的tts,当然大家也可以使用谷歌或微软。

首先需要登录百度云官网,注册百度语音服务。注册完成后,保存appid、apikey及secretkey三个数值备用。打开Home Assistant 的configuration.yaml配置文件。在配置文件中找到tts配置节点修改为如下内容:

tts:
- platform: baidu
#app_id,api_key,secret_key从百度云上注册得到
app_id: xxxxxxxxxx
api_key: xxxxxxxxxx
secret_key: xxxxxxxxxx
#speed:语速0-9(缺省5)
#pitch:语调0-9(缺省5)
#volume:音量0-15(缺省5)
#person:声音(0:女,1:男,3:百度合成,4:百度合成,缺省0)
speed: 5
pitch: 5
volume: 15
person: 0

保存配置后,重新启动Home Assistant,使配置生效。打开 HA 的 web界面这时就会在面板中看到vlc 媒体播放器。打开后 在其中输入文字 系统就会调用tts服务 将文字转化为语音,然后用媒体播放器播放出来。

3. 配置自动化

打开 HA 的配置文件 configuration.yaml ,在文件中填入如下内容:

- alias: weather_report
initial_state: true
trigger:
- platform: time
hours: 7
minutes: 30
seconds: 0 condition:
condition: numeric_state
entity_id: sensor.weather_temperature
above: 30 #判断气温是否高于30°C action:
- service: tts.baidu_say
data_template:
entity_id: media_player.vlc
message: "现在播报天气信息。温度,{{states('sensor.weather_temperature')}}°C, 湿度{{states('sensor.weather_humidity')}},风速{{states('sensor.weather_wind_speed')}}, 气压{{states('sensor.weather_pressure')}}"

以上配置是接入了天气组件的,有朋友不知道如何接入天气请看这篇文章智能家居系统 Home Assistant 系列 --配置天气信息

保存配置后,重新启动Home Assistant,使配置生效。重启完成后,新添加的自动化将自动出现在web操作界面上。按照此自动化规则,Home Assistant将在每天早上7点30分判断气温是否高于30°C,如果高于该温度则语音播报天气信息。

当然也可以手工触发该自动化规则,点击自动化面板上左下角操作图标。

此时Home Assistant将立刻开始语音播报天气信息。

到此自动语音播报天气 就完成了。

关注一下,更多精彩,不容错过!

Home Assistant系列 -- 自动语音播报天气的更多相关文章

  1. Home Assistant系列美化篇——替换天气 UI

    替换天气组件 weather 的默认 UI,生成美观大方的气象卡片. Home Assistant 原生的天气平台不少,国内用户常用的有雅虎天气和 Darksky.其他论坛和社区也有分享自制的和风.彩 ...

  2. PHP实现智能语音播报

    原文地址 https://www.jianshu.com/p/91a046ec6ebc 大家估计都知道现在很多AI音响能够给你播报天气,叫你起床...甚至能够接受语音指令!所谓的人工智能音响,听起来很 ...

  3. 智能家居系统 Home Assistant 系列 --安装系统之Windows

    Home Assistant 是一个成熟完整的基于 Python 的智能家居系统. 首先得安装Python环境.在浏览器中访问Python官网 www.python.org 进入Downloads中的 ...

  4. iOS10 语音播报填坑详解(解决串行播报中断问题)

    iOS10 语音播报填坑详解(解决串行播报中断问题) 在来聊这类需求的解决方案之前,咱们还是先来聊一聊这类需求的真实使用场景:语音播报.语音播报需求运用最为广泛的应该是收银对账了,就类似于支付宝.微信 ...

  5. Home Assistant系列 -- 基于树莓派安装并设置自启动

    Home Assistant 是当前智能家居最火热的开源DIY 软件,之前的文章  智能家居系统 Home Assistant 系列 --介绍篇  已经详细介绍过了,这里就不详细介绍了,今天介绍 如何 ...

  6. Android语音播报、后台播报、语音识别

    Android语音播报.后台播报.语音识别 本文介绍使用讯飞语音实现语音播报.语音识别功能. 讯飞开放平台:http://www.xfyun.cn/index.php/default/index 程序 ...

  7. iOS如何实现语音播报及后台播放

    最近项目刚刚交付,偶然间用到了语音播报和语音搜索的功能.语音搜索我用的是讯飞的demo,感觉效果还不错,感兴趣的话可以去官网上面下载demo,里面讲的特别的详细,不过稍显麻烦一些.语音播报讯飞也有de ...

  8. SpeechLib 语音播报

    SpeechLib这的dll专门用来播放语音,能够识别英语.简体和繁体.并且可以播放声音文件,支持WAV格式,但不支持MP3.在报警场合下已经够用了. 基本播放语音及文件.支持异步. using Sy ...

  9. 语音合成,语音播报功能(系统)-b

    第一次接触语音合成,只实现了很简单的功能,记录一下,以后免得去网上四处找资料 最近在做高德地图导航的时候有个语音播报的功能,高德sdk已经提供了要语音的字符串.我要做的就是把这些字符串读出声音来即可. ...

随机推荐

  1. Python3网络爬虫:urllib.error异常

    转载请注明作者和出处:http://blog.csdn.net/c406495762/article/details/59488464 一.urllib.error urllib.error可以接收有 ...

  2. sql 2000 无法连接远程数据库 sqlserver不存在或访问被拒绝、不能打开到主机的连接,在端口1433:连接失败等 解决方案

    问题: sql 2000 无法连接远程数据库 sqlserver不存在或访问被拒绝 telnet 127.0.0.1 1433     提示:不能打开到主机的连接,在端口1433:连接失败 解决方案: ...

  3. JavaScript学习---JavaScript基础知识

    JavaScript的引入方式 JavaScript的引入方式: 1.直接在script里面写: 2.使用<script src="JS的文件位置"> {#1 直接编写 ...

  4. 连续支付的年金 (continuously payable annuity)

    一.含义 假设连续不断地付款,但每年的付款总量仍然为1元. 二. 连续支付年金是年支付次数m趋于无穷大时的年金,故 连续支付年金与基本年金的关系: 连续支付,每年的支付总量为1,支付期限为无穷: 积累 ...

  5. iframe加载方案及性能

    普通方法加载iframe 在onload之后加载iframe setTimeout来加载iframe 友好型iframe加载 转载地址:翻译文章-iframe异步加载技术及性能 英文原文:Iframe ...

  6. 内网渗透之IPC,远程执行

    开启服务 net start Schedule net start wmiApSrv 关闭防火墙 net stop sharedaccess net use \\目标IP\ipc$ "&qu ...

  7. idea 2018激活注册码

    我使用的方法和pycharm激活类似,激活码不同而已pycharm激活步骤链接:可以新建标签打开https://www.cnblogs.com/-nbloser/p/8570648.html idea ...

  8. eclipse 检测App的内存占用和泄漏【转载】

    前段时间开发的Android应用,每次都是在运行了半个小时左右后突然挂掉了,很是莫名其妙,也不知道哪里出了问题,后来一步步排查,发现问题出在JNI层,一个被频繁调用的函数分配的内存忘记释放,导致内存泄 ...

  9. Vim常用命令记录

    (本文仅记录了Vim常用的按键功能和操作,用于备忘和查阅.若为Vim小白,建议先通过列出的参考资源获得对Vim更全面的了解.Vi 是几乎所有Linux发行版都支持的文字编辑工具,也是许多Linux下工 ...

  10. [转]CentOS 7忘记root密码解决办法

    转自:http://www.linuxidc.com/Linux/2016-08/134034.htm  亲测可用! CentOS 7 root密码的重置方式和CentOS 6完全不一样,CentOS ...