Bluetooth proxy?

So I understand individuals are utilising ESP32 boards as Bluetooth proxies that communicate with Bluetooth devices and bridge with WiFi enabling those devices to be seen by Home Assistant.

Can’t that be done on an OpenWrt router using a conventional USB Bluetooth dongle rather than one of these ESP32 devices?

1 Like

You may give package usbip-server a try.

Thanks for the response. That's an interesting one - I can pass the USB of my OpenWrt router directly to HA box so HA box can see the USB data directly?

That's what usbip-server should provide.
Just came across this piece of software after reading your question. I'll give it a try on one of my routers.

Right now I'm using a shelly and an ESP32 board to do bluetooth proxying. Also came across NanoC6 M5Stack as a candidate replacing my ESP32 board.

That seems the standard approach now. I mean they're super cheap and easy to setup, aren't they (?) so it's definitely an option.

I gather that with this approach one can have an OpenWrt router power an ESP32 unit via USB, which ESP32 unit will talk with the Bluetooth device(s) over Bluetooth and provide a WiFi bridge.

And yet it seems potentially more elegant in my mind to simply leverage the existing processing power in the OpenWrt router to provide the Bluetooth<>WiFi bridge, rather than via a separate processing unit.

I see your point, however… you can buy an ESP32 dongle for roughly the same price as a Bluetooth dongle, and have it working in five minutes.

2 Likes

It only makes sense for devices that have unused bluetooth hardware (or zigbee/thread/etc) like a bunch of access points for wifi coverage.

1 Like

I've had the same idea but never made anything out of it. One reason is that the alternative is so cheap and easily available, as mentioned.

But I still believe that it would be nice to have this protocol implemented as a Linux application for OpenWrt and other non-esp32 systems. It is obviously useful for devices like RPis with built-in bluetooth. But personally, I'd also find it useful for APs with USB ports. I would rather have a just USB bluetooth dongle there than a full esp32 system.

Note that the HA bluetooth proxy is limited to BLE (unless I've missed something?). But that's probably the only thing which makes sense. This is intented and useful a sensor range extensions.

The BLE protocol is very simple and so is the esphome BLE proxy. So re-implementing it is probably not hard. Just work.... I am allergic to that myself. The main task is probably to implement the HA esphome protocol. Or at least the parts required for the BLE proxy.

As for usbip - yes, that is useful, but is terribly inefficient compared to simply proxying BLE commands.

A BLE proxy related use case I've been thinking about is implementing support for UART Bluetooth dongles using the HA BLE proxy protocol. This would allow using esp32 modules as console proxies. I am using Bluetooth modules with rfcomm for console UARTs on many of my OpenWrt devices. Newer such modules also implement a BLE serial protocol. Bouncing this off esp32 proxies to extend the range would be very useful for me.

But as I said: Too lazy to do anything about it. Maybe give the ideas to some AI to have them implemented? Unfortunately there is probably to much herding involved to actually save any work, and it would just be a very frustrating experience

4 Likes

figured others must have come up with these ideas before, and some of them probably implemented parts of it too. Haven't finished searching. But this looks like an interesting project:

3 Likes