bluetooth speaker is silent Checklist
HA使用树莓派连接蓝牙音箱原理
HA不能直接使用树莓派的蓝牙音箱,其内置的MPD播放器客户端,需要通过音频服务器来调用树莓派已连接ok的蓝牙音箱
https://bbs.hassbian.com/thread-5439-1-1.html
linux内Bluetooth的协议栈为BlueZ,http://www.bluez.org/
BlueZ 5.44体系结构
https://www.msly.cn/boards/topic/3206/1t/page/3#3721
主机实现到HCI层,底层由蓝牙芯片实现。HCI层实现的是蓝牙芯片与主机通讯的方式。目前一般是串口或者USB通讯。所谓的USB也不是真正意义上的USB通讯,而是类似与USB转串口的方式,即通过驱动模拟USB设备实现串口通讯。目前USB蓝牙适配器基本都是这种设备模式。PC端实现了L2CAP, SDP, RFCOMM协议,以及USB转串口的驱动。Windows XP SP2操作系统以上版本的都内置了这些协议栈,还有如WIDCOMM等公司提供的第三方协议栈。
实际中只需在市场上购买这种蓝牙适配器(USB接口),然后通过配置内核蓝牙的接口驱动(即上图中的HCI层驱动),这样相应的蓝牙协议(linux官方版本是bluez)就已经在内核中了,这就相当于内核驱动中已经支持了相应的蓝牙协议(SDP,RFCOMM...),有了驱动就需要接口库提供给应用程序使用,这里用到的接口库是开源的bluez,其实就是要在内核之上移植bluez及工具bluez-utils。
https://www.cnblogs.com/embedded-linux/p/10507096.html
Linux使用的蓝牙协议栈是Blue Z,不同于我们以往的开发方式,Blue Z提供的API 并不是通过头文件这样的形式, 而是通过D-Bus的方式来提供的。
Blue Z提供的是Host端的协议栈,Control端的协议往往由专门的芯片厂提供。Host和Control通过HCI接口来通讯。HCI接口可以是UART、USB、SD卡,也可以是虚拟的。
原文链接:https://blog.csdn.net/hesuping/article/details/131708132
Install the bluez package and enable the bluetoothd and dbus services.
Then, add your user to the bluetooth group and restart the dbus service, or simply reboot the system.
To use an audio device such as a wireless speaker or headset,
https://docs.voidlinux.org/config/bluetooth.html
安装
安装 bluez包,这个软件包提供蓝牙协议栈。
安装 bluez-utils包,这个软件包提供 bluetoothctl 实用程序。另外,也可以安装 bluez-utils-compatAUR 来获得#弃用的 BlueZ 工具。
蓝牙驱动
btusb 内核模块是通用蓝牙驱动。检查模块是否已加载。如果还没有,先加载模块。
启动/启用 bluetooth.service。
添加pi用户到蓝牙组
sudo usermod -G bluetooth -a pi,重启sudo reboot
HA使用树莓派连接蓝牙音箱原理
HA不能直接使用树莓派的蓝牙音箱,其内置的MPD播放器客户端,需要通过音频服务器来调用树莓派已连接ok的蓝牙音箱
https://bbs.hassbian.com/thread-5439-1-1.html
Bluz蓝牙技术的系统结构分为三大部分:底层硬件模块、中间协议层和应用层。
底层硬件模块:底层由蓝牙芯片实现
中间协议层:主机实现到HCI层。HCI层实现的是蓝牙芯片与主机通讯的方式
linux内Bluetooth的协议栈为BlueZ,http://www.bluez.org/
BlueZ 5.44体系结构
https://www.msly.cn/boards/topic/3206/1t/page/3#3721
一、 BlueZ 5.44体系结构
蓝牙技术的系统结构分为三大部分:底层硬件模块、中间协议层和应用层。
(1)底层硬件模块包括:无线跳频( RF)、基带( BB)和链路管理(LM)
蓝牙的SIG规定了四种与硬件连接的物理总线方式USB、RS232、 UART和PC卡
(2)BlueZCore层包括各种Profile:
GAP:设备连接
SDAP:查询相关信息
SPP:虚拟串口连接
GOEP:数据传输
(3)中间协议层:
HCI接口:设备扫描、配对
L2CAP协议:蓝牙适配
(4)应用层包括BlueZ各种工具集:
hciconfig:配置蓝牙设备,用于打印设备信息和配置设备
hcitool:配置蓝牙连接,执行比如扫描等命令 - 已弃用
gatttool:一种直接使用参数对蓝牙设备进行控制,二就是使用-I参数进入interactive模式对蓝牙设备进行控制 - 已弃用
sdptool:搜索并管理设备服务
主机实现到HCI层,底层由蓝牙芯片实现。HCI层实现的是蓝牙芯片与主机通讯的方式。目前一般是串口或者USB通讯。所谓的USB也不是真正意义上的USB通讯,而是类似与USB转串口的方式,即通过驱动模拟USB设备实现串口通讯。目前USB蓝牙适配器基本都是这种设备模式。PC端实现了L2CAP, SDP, RFCOMM协议,以及USB转串口的驱动。Windows XP SP2操作系统以上版本的都内置了这些协议栈,还有如WIDCOMM等公司提供的第三方协议栈。
实际中只需在市场上购买这种蓝牙适配器(USB接口),然后通过配置内核蓝牙的接口驱动(即上图中的HCI层驱动),这样相应的蓝牙协议(linux官方版本是bluez)就已经在内核中了,这就相当于内核驱动中已经支持了相应的蓝牙协议(SDP,RFCOMM...),有了驱动就需要接口库提供给应用程序使用,这里用到的接口库是开源的bluez,其实就是要在内核之上移植bluez及工具bluez-utils。
https://www.cnblogs.com/embedded-linux/p/10507096.html
Linux使用的蓝牙协议栈是Blue Z,不同于我们以往的开发方式,Blue Z提供的API 并不是通过头文件这样的形式, 而是通过D-Bus的方式来提供的。
Blue Z提供的是Host端的协议栈,Control端的协议往往由专门的芯片厂提供。Host和Control通过HCI接口来通讯。HCI接口可以是UART、USB、SD卡,也可以是虚拟的。
原文链接:https://blog.csdn.net/hesuping/article/details/131708132
Install the bluez package and enable the bluetoothd and dbus services.
Then, add your user to the bluetooth group and restart the dbus service, or simply reboot the system.
To use an audio device such as a wireless speaker or headset,
ALSA users need to install the bluez-alsa package.
PulseAudio users do not need any additional software.
PipeWire users need libspa-bluetooth.
https://docs.voidlinux.org/config/bluetooth.html
安装
安装 bluez包,这个软件包提供蓝牙协议栈。
安装 bluez-utils包,这个软件包提供 bluetoothctl 实用程序。另外,也可以安装 bluez-utils-compatAUR 来获得#弃用的 BlueZ 工具。
蓝牙驱动
btusb 内核模块是通用蓝牙驱动。检查模块是否已加载。如果还没有,先加载模块。
启动/启用 bluetooth.service。
0