『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 3711|回复: 10

[新奇玩法] 随身wifi接蓝牙音箱

[复制链接]

55

主题

300

帖子

5055

积分

元老级技术达人

积分
5055
金钱
4745
HASS币
80
发表于 2023-11-29 15:54:30 | 显示全部楼层 |阅读模式
就是几块钱的骁龙410随身wifi,有蓝牙、wifi、4G。利用其蓝牙和wifi的功能,把蓝牙音箱接入到ha中。大致原理是将蓝牙音箱连接到刷了openwrt的随身wifi,再通过squeeze协议连接到ha。涉及到的软件包括,管理蓝牙连接的bluez,负责将蓝牙音箱转为alsa声卡的bluealsa(https://github.com/arkq/bluez-alsa, bluez5已经不支持alsa,所以转这么一道),负责连接squeeze协议的squeezelite。优点是随身wifi比较便宜,可以直接插在离蓝牙音箱近的地方,不受转发器(随身wifi)和ha之间的距离限制。不过现在市面上的骁龙410在慢慢减少了,能不能买得到看自己。

做的前期工作包括:
  • 将msm8916(骁龙410)适配到主线openwrt
  • 驱动wifi,蓝牙,声卡,modem,按钮等
  • 适配固件文件系统至squashfs格式,ext4比较容易在插拔中损坏
  • 添加一些额外的功能包


(原本是想作为ha在紧急情况下的短信和电话通知的网关,目前收发短信可以跑通,通话没有成功)

正式开始:

可以直接刷其他人的openwrt,但是过程中缺少的软件包需要自己补齐。

连接流程:
1、在随身wifi上刷入openwrt,确认蓝牙和wifi都正常,wifi连接至ha所在网络,并能ping通ha主机
2、确保openwrt内已安装bluez-daemon、squeezelite、bluealsa
这里提供一个我编译的bluealsa包,但是没在其他随身wifi上测试过,安装过程如果提示缺少其他依赖的包需要自己补全
bluez-alsa_4.1.1-1_aarch64_generic.ipk (115.39 KB, 下载次数: 24)
#安装命令
opkg install bluez-alsa_4.1.1-1_aarch64_generic.ipk

4、重启一下,bluealsa会后台运行
5、蓝牙音箱开机,在随身wifi命令行内执行
#打开蓝牙连接工具
bluetoothctl
#扫描蓝牙
scan on
#等待蓝牙音箱的MAC地址和名字显示出来
connect 音箱MAC地址
#提示蓝牙成功,如果有异常,检查bluealsa是否已经运行,bluealsa未运行的情况下连不上音频
#信任蓝牙音箱
trust 音箱MAC地址
#退出
exit
中间出现的异常可能是蓝牙功能未驱动、缺少安装包之类的通病,拿着报错内容多谷歌一下
5、(可选)测试蓝牙音箱连接成功,正常可以继续
#上传一个测试音频并执行
aplay -D bluealsa 测试音频.wav
#如果连接了多个音箱可以指定音箱
aplay -D bluealsa:MAC地址 测试音频.wav
6、在ha中添加squeeze协议支持(集成>添加集成>SlimProto),集成会监听3483端口等待连接,记得开放这个端口(看不懂这句的大概率会卡住)
7、编辑/etc/config/squeezelite
config options 'options'
       option name 'SqueezeWrt'
       option model_name 'SqueezeLite'
       option close_delay '0'
       option priority '0'
       option max_sr '0'
       option device 'bluealsa:MAC地址'
       option dsd_over_pcm '0'
       option ircontrol '0'
       option server_addr 'ha地址'
       option enabled '1'
重启一下squeezelite
/etc/init.d/squeezelite restart
8、检查ha中的集成,顺利的话会出现一个播放器
slimproto.png

9、完成。比如绑定到网易云音乐
player.png

TODO
当然还有更简单的方式:直接释出打包好的随身wifi固件,开发网页界面来自动连接和配置。但是根据我对论坛的观察,字越多流程越复杂越容易出问题的帖子才越有热度 : )

评分

参与人数 3金钱 +36 收起 理由
隔壁的王叔叔 + 10 厉害了word楼主!
sorrypqa + 16 大神666!
DDDear + 10 厉害了word楼主!

查看全部评分

回复

使用道具 举报

146

主题

2268

帖子

7008

积分

元老级技术达人

积分
7008
金钱
4735
HASS币
30
发表于 2023-11-29 16:13:08 | 显示全部楼层
随身wifi怎么联动蓝牙音响开关机?有没有成品图
回复

使用道具 举报

55

主题

300

帖子

5055

积分

元老级技术达人

积分
5055
金钱
4745
HASS币
80
 楼主| 发表于 2023-11-29 16:33:55 | 显示全部楼层
bugensui 发表于 2023-11-29 16:13
随身wifi怎么联动蓝牙音响开关机?有没有成品图

蓝牙音响关机都断电了怎么开机?
回复

使用道具 举报

6

主题

170

帖子

2216

积分

金牌会员

Rank: 6Rank: 6

积分
2216
金钱
2046
HASS币
20
发表于 2023-11-29 20:39:42 | 显示全部楼层
LZ是有想法的人啊  我一直想把随身wifi当成蓝牙网关用 不知道怎么下手
回复

使用道具 举报

55

主题

300

帖子

5055

积分

元老级技术达人

积分
5055
金钱
4745
HASS币
80
 楼主| 发表于 2023-12-1 13:03:52 | 显示全部楼层
linoul 发表于 2023-11-29 20:39
LZ是有想法的人啊  我一直想把随身wifi当成蓝牙网关用 不知道怎么下手

随身wifi上写程序,ha端写插件
回复

使用道具 举报

12

主题

434

帖子

2342

积分

金牌会员

Rank: 6Rank: 6

积分
2342
金钱
1908
HASS币
0
发表于 2023-12-1 15:13:33 | 显示全部楼层
本帖最后由 jjss520 于 2023-12-1 15:23 编辑

我是直接在随身WIFI的安装软件,哈哈直接放你的固件吧,就不用折腾
回复

使用道具 举报

0

主题

47

帖子

643

积分

高级会员

Rank: 4

积分
643
金钱
596
HASS币
0
发表于 2023-12-6 15:52:00 | 显示全部楼层
刚好还有一个,没想到还有这个玩法,多谢多谢,试试
回复

使用道具 举报

12

主题

434

帖子

2342

积分

金牌会员

Rank: 6Rank: 6

积分
2342
金钱
1908
HASS币
0
发表于 2023-12-8 19:25:17 | 显示全部楼层
本帖最后由 jjss520 于 2023-12-8 21:57 编辑

安装bluealsa
Collected errors:
* pkg_hash_fetch_best_installation_candidate: Packages for bluez-alsa found, but incompatible with the architectures configured
* opkg_install_cmd: Cannot install package bluez-alsa.

楼主打包一下你的固件吧,装不上驱动 折腾了几个固件都装不上,最后一个固件要kernel  6.1.65,但固件是6.14的
回复

使用道具 举报

6

主题

259

帖子

2998

积分

金牌会员

Rank: 6Rank: 6

积分
2998
金钱
2739
HASS币
0
发表于 2024-1-28 22:21:39 | 显示全部楼层
大佬直接分享固件吧。我看到某鱼有卖
回复

使用道具 举报

12

主题

156

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
金钱
1195
HASS币
10
发表于 2024-2-25 10:45:40 | 显示全部楼层
请教一下各位  bluez-alsa_4.1.1-1_aarch64_generic.ipk (115.39 KB, 下载次数: 2)   这个文件用SSH工具上传到那里 ?   那个路径,,谢谢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 18:26 , Processed in 0.358033 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表