完美实现蓝牙音箱TTS语音播报!mopidy 虚拟环境HA用户下安装HA 您所在的位置:网站首页 mp3怎么连接蓝牙音箱 完美实现蓝牙音箱TTS语音播报!mopidy 虚拟环境HA用户下安装HA

完美实现蓝牙音箱TTS语音播报!mopidy 虚拟环境HA用户下安装HA

2024-04-07 21:19| 来源: 网络整理| 查看: 265

本帖最后由 arrive 于 2018-12-14 13:22 编辑

#####################-------------运行环境-------------##################### 运行环境:

Lubuntu 18.04.1 LTS desktop-amd64,系统已更新到截止2018年12月14日最新版按照这个方法https://www.home-assistant.io/docs/installation/raspberry-pi/,在虚拟环境下以homeassistant用户安装homeassistant最新版本0.84.1运行mopidy版本:2.1.0运行PulseAudio版本:11.1蓝牙音箱:小度,小米AI

#####################------开机自动连接蓝牙音箱------##################### LX终端执行

bluetoothctl

屏幕提示如下,列出所有蓝牙设备:

[NEW] Controller A0:88:69:E4:21:F4 计算机名称 [default] [NEW] Device 88:2D:53:11:C3:D0 xiaodu-A1-5999 [NEW] Device 3C:BD:3E:9E:B7:W8 小米AI音箱-1999 Agent registered

小度小度,打开蓝牙

接着使用你的蓝牙音箱mac地址替换下面的88:2D:53:11:C30内容,首先连接它

connect 88:2D:53:11:C3:D0 执行成功音箱会语音提示:蓝牙已连接

接着执行下面命令,并信任这个蓝牙音箱

trust 88:2D:53:11:C3:D0

最后输入exit退出bluetoothctl命令。 上面这个过程终端屏幕会提示Connection successful和trust succeeded,说明已经完成配对并信任。

执行下面的命令,让系统启动时自动连接蓝牙音箱

sudo crontab -e 第一次运行这个命令系统会提示选择编辑器,我使用nano编辑器。

打开nano文件编辑界面,转到文件的最后,输入下面的内容

####XiaoDu-A1 @reboot sleep 15 && echo "connect 88:2D:53:11:C3:D0" | bluetoothctl sleep 15,我设置系统启动后15秒,你可以根据自己的情况调整一下。

重启系统,关机时候提示蓝牙音箱断开,开机后稍等一会提示蓝牙音箱已链接。打开系统自带播放器例如:audacious播放一个音乐文件,系统已经自动从蓝牙音箱播放了。至此蓝牙音箱自动连接已经完成设置。

#####################--虚拟环境安装homeassistant 0.84.1运行环境--##################### 使用下面的这个方法安装 https://www.home-assistant.io/docs/installation/raspberry-pi/

$ sudo apt-get update $ sudo apt-get upgrade -y sudo apt-get install python3 python3-venv python3-pip

树莓派是这样: sudo useradd -rm homeassistant -G dialout,gpio 我不是树莓派所以不附加-G dialout,gpio参数

sudo useradd -rm homeassistant cd /srv sudo mkdir homeassistant sudo chown homeassistant:homeassistant homeassistant sudo -u homeassistant -H -s cd /srv/homeassistant python3 -m venv . source bin/activate

(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ python3 -m pip install wheel (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ pip3 install homeassistant (homeassistant) $ hass

上面的最后三个命令,如果执行时错误,请重新执行一遍。网络网络网络是否畅通非常重要。我用手机热点还比较好吧! 第一次执行hass命令启动时候要完成很多初始配置,同时会安装很多系统组件,所以网络不好也会出现很多错误,重新执行一遍就好。

基本上显示INFO (MainThread) [homeassistant.core] Timer:starting,就可以用浏览器打开web界面了。

更新

sudo -u homeassistant -H -s cd /srv/homeassistant source bin/activate pip3 install --upgrade homeassistant

设置homeassistant开机自动启动

sudo nano -w /etc/systemd/system/[email protected]

输入如下内容,Ctrl+O,回车保存,然后Ctrl+X退出编辑。

[Unit] Description=Home Assistant After=network-online.target [Service] Type=simple User=%i ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant" [Install] WantedBy=multi-user.target

执行下面两条命令使其生效:

sudo systemctl --system daemon-reload sudo systemctl enable homeassistant@homeassistant

#####################-----------配置samba,修改HA配置文件-- -----##################### 安装samba:

sudo apt-get install samba

编辑samba主配置文件:

sudo nano /etc/samba/smb.conf 在文件的结尾输入这些: [Stick_homeassistant] path = /home/homeassistant/.homeassistant comment = No comment browsable = yes read only = no valid users = writable = yes guest ok = yes public = yes create mask = 0777 directory mask = 0777 force user = homeassistant force create mode = 0777 force directory mode = 0777

通过samba访问修改homeassistant的配置文件

在homeassistant的配置文件configuration.yaml加入如下内容,请注意缩进:

media_player: - platform: mpd host: 127.0.0.1

homeassistant的配置文件automations.yaml加入如下内容,我没有规范的使用ID,另外请注意缩进:

- alias: Home Assistant Start trigger: platform: homeassistant event: start action: - delay: '00:00:10' - service: tts.baidu_say data: entity_id: media_player.mpd message: 'Home Assistant 已经启动'

#####################------------安装mopidy,并完成配置-----------#####################

sudo apt-get install mopidy

配置mopidy.conf:

sudo nano /etc/mopidy/mopidy.conf

增加了如下内容:

[mpd] hostname = :: [audio] mixer = software mixer_volume = output = pulsesink server=127.0.0.1 buffer_time =

将mopidy作为服务运行:

sudo systemctl enable mopidy

#####################-------------------配置pulseaudio--------------##################### 配置pulseaudio:

sudo nano /etc/pulse/default.pa

启用下列模块,并配置ip地址:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1

加入位置,参考下面内容: ### Network access (may be configured with paprefs, so leave this commented ### here if you plan to use paprefs) #load-module module-esound-protocol-tcp #### homeassistant tts mopidy load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 #load-module module-zeroconf-publish

终于完成了,没有坑,真的没有坑,我成功后又重新做了一遍,经典重现! 至此完美连接蓝牙音箱实现tts语音播报。

折腾了几个月,记不清了,可能有一年?爬了无数的国内外论坛,系统刷了无数次,之前一直使用vlc,但是vlc口吃,国外很多用户也反馈了这个问题。 最终还是使用mopidy,因为官方文档丰富,参数配置灵活。比mpd更小巧。其实之前从mopidy身边路过好几次,但是因为没有把所有文档看完,所以错过了最美好的部分,于是走入更多的坑。

最后非常感谢hassbian论坛,感谢我爬过的其他论坛和博客等等。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有