2024年11月24日星期日 上午3:58:44

Enable Bluetooth on Docker for Bluetooth and BLE device tracking

8 个月 前
#29574 引用
docker共享宿主机DBUS

Enable Bluetooth on Docker for Bluetooth and BLE device tracking

我这个也是使用树莓派4b的添加bluetooth显示未找到未配置的蓝牙适配器。有0个被忽略的适配器。在树莓派上也调整了蓝牙可以搜索设备,但HA上就出现这个问题

检查项目

bluez 相关包,尤其是 hciconfig bluetootchctl, bluetootchd 相关包,以及蓝牙芯片对应的驱动


Docker:  Setup Bluetooth/D-Bus
https://community.home-assistant.io/t/docker-unable-to-setup-bluetooth-d-bus/600038
0
8 个月 前
#29575 引用
I am trying to enable Bluetooth integration on my HA Docker container instance running on a Raspberry Pi 5.RPi has built-in bluetooth adapter

HA will report ‘no bluetooth adapter’ when I try to add the bluetooth integration

Bluetooth
No unconfigured Bluetooth adapters found. There are 0 ignored adapters.




用docker方式部署的HA,如何添加蓝牙适配器

面是我部署HA的命令,dsm6.2.2  HA版本2023.2.3,在HA里没有发现蓝牙适配器,但容器里执行hcitool dev可以看到有hcio的设备
docker run -d --restart=always --name=Home-Assistant --net=host --privileged=true -e TZ=Asia/Shanghai -v /volume1/docker/homeassistant:/config -v /dev/bus/usb:/dev/bus/usb homeassistant/home-assistant:latest
0
8 个月 前
#29576 引用
bluetooth is just another network device. if you are using --net = host you are effectively passing it through.
0
8 个月 前
#29580 引用
有可能容器内的蓝牙模块没有激活

hciconfig -a

hci0:        Type: BR/EDR  Bus: USB
        BD Address: 00:1B:10:00:33:24  ACL MTU: 1017:8  SCO MTU: 64:0
        DOWN
        RX bytes:914 acl:0 sco:0 events:32 errors:0
        TX bytes:136 acl:0 sco:0 commands:32 errors:0
        Features: 0xff 0xff 0x8d 0xfe 0x9b 0xf9 0x00 0x80
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
        Link policy:
        Link mode: SLAVE ACCEPT


第三行“DOWN ”则为蓝牙模块没有激活。
输入命令激活容器内的蓝牙模块
hciconfig hci0 up


https://bbs.hassbian.com/thread-10264-1-1.html
0
8 个月 前
#29581 引用
docker容器中使用蓝牙(linux)
1.容器的网络模式为host
2.挂载 -v /dev:/dev -v /run/dbus:/run/dbus -v /var/run/dbus:/var/run/dbus 这3个东西

-v /run/dbus:/run/dbus:ro \
树莓派蓝牙

/dev/bus/usb
我Unraid docker装的HA,插了USB蓝牙,把蓝牙USB地址映射给/dev/bus/usb,成功,Passive BLE可以连接小米的设备。

-v /dev:/dev

https://zhuanlan.zhihu.com/p/577081624
0
8 个月 前
#29582 引用
terminal 中超级用户身份执行lsusb 指令查看所有USB设备信息

root@raspberrypi:~# lsusb
Bus 001 Device 003: ID 0424:ec00 Microchip Technology, Inc. (formerly SMSC) SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Microchip Technology, Inc. (formerly SMSC) SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


https://blog.csdn.net/saloon_yuan/article/details/7760102
0
8 个月 前
#29583 引用
在 Docker 内使用蓝牙步骤来设置。

首先,需要确认主机操作系统支持 Docker 蓝牙。可以通过在终端中输入以下命令来检查:

sudo lsmod | grep bluetooth
如果输出类似于“bluetooth 581632 31 bnep,btbcm,bnep,btbcm,btintel,rfcomm,btrtl,btbcm,bnep,btbcm,btusb,btbcm”,则意味着操作系统支持蓝牙。

接下来,需要在 Dockerfile 中添加以下行:

RUN apt-get update && apt-get install -y bluez
这将使 Docker 安装 bluez 蓝牙软件包。

然后,在 Dockerfile 中添加以下行来启用 Docker 内的蓝牙:

CMD modprobe bluetooth
CMD service bluetooth start
最后,需要使 Docker 容器可以读取主机操作系统的蓝牙设备。可以通过向 Docker 容器添加以下行来完成这一操作:

-v /var/run/dbus:/var/run/dbus
-v /dev/bus/usb:/dev/bus/usb
--privileged
这样,Docker 内的蓝牙就设置好了。
https://xkzzz.com/post/114865.html


The other requirements mentioned in the Bluetooth section  of the documentation are also met:

bluez 5.55 is installed
D-Bus implementation is dbus-broker 26
Kernel version is 6.1.21
0
8 个月 前
#29584 引用
Inside the container
I also get  output:

$ hcitool dev
    Devices:
       hci0   5C:F3:70:64:F0:11
0
8 个月 前
#29585 引用
试试这个:
0
8 个月 前
#29590 引用

run ok

D-Bus is optional but required if you plan to use the Bluetooth integration.

添加 dbus 映射

docker run -d \
  --name homeassistant \
  --privileged \
  --restart=unless-stopped \
  -e TZ=MY_TIME_ZONE \
  -v /PATH_TO_YOUR_CONFIG:/config \
  -v /run/dbus:/run/dbus:ro \
  --network=host \
  ghcr.io/home-assistant/home-assistant:stable


https://www.home-assistant.io/installation/raspberrypi#install-home-assistant-container
0