Introducing Bluetooth Mesh Networking
blog.bluetooth.com
blog.bluetooth.com
For one thing, there is no obvious way to inspect how "the mesh" is configuring itself. I can't observe whether or not repeaters are working as intended nor anything about the quality of the signal strength. The only way to make changes to what gets connected to what is by turning everything off and then turning it back on in a controlled sequence.
I hope that bluetooth mesh vendors will provide tools for troubleshooting and actually inspecting network. Networks can be squirrely things, I don't like taking a shot in the dark with this stuff.
Zigbee defines only 3 device types:
1) Coordinator - Always on and the root of the network. Only 1 per network.
2) Router - Always on, can forward data from other nodes and send it's own data.
3) End Device - Can sleep, can _not_ forward data from other devices.
In practice with something like SmartThings, the hub is the coordinator and you can assume than any device which has a battery is an End Device since routers are required to always be on. _Some_ wired Zigbee devices (like light switches) will act as routers, but I've found they usually don't advertise if they do or not.
For many people, all their devices are battery powered thus they have no routers so there is no mesh at all, every end device must talk to the controller in this setup.
This reminds me of a German engineering wise saying: "Wer Funk verstanden hat, nimmt Kabel" ("Those who have understood wireless use a cable.").
Bluetooth is like plate spinning. If you can do it, it's impressive.
And in order to get the USB adapter to work I had to install a new operating system (Windows 98SE).
Networking was difficult. I remember having to install TCP/IP and doing magical voodoo with specialised printer cables to get two computers to share files with each other.
Nowadays you just plug stuff in and it works.
I've often wondered about people's big complaints with Bluetooth in regards to headphones/speakers, because I don't seem to share them, except with our '14 Ford Explorer. That whole system gets wonky.
As I think about it though, my usage is pretty simple: Earbuds for commuting, different buds for the gym, A/V at home. My receiver at home is an upper level brand, my headphones I use every day aren't horrifically expensive, but they're not cheap either. They're only ever used with MY phone, so I don't have to keep re-pairing them. When I'm on my bike and the phone is in my bag, never have issues. On the motorcycle I get the very occasionally stutter when it's in the saddlebag. Like once a month.
I've used really cheap bluetooth audio devices before that had horrific range. I just don't buy them anymore. I even had a set of LG neck band style headphones that were supposed to be a 'better' model than the ones I still use and those were bad from the get go. I returned them on day two, four years in my lower model ones are still working flawlessly.
Now, if I was using my headphones with my laptop and my phone and had to re-pair frequently, I'd be a bit more put off, but OS X and iOS have done it okay for me. I gave up with Bluetooth audio on my Linux laptop though.
Now that I think about it, maybe it's because I've literally given up trying to do anything other than get my devices working and then leaving them alone...
There are dozens of parameters that control the interaction between two bluetooth devices. Virtually none of them are configurable, and they all have to line up just right on both ends of the connection for things to work efficiently. It's somewhat amazing to me that the protocol works at all.
This happens to me, but usually with my phone on the train; happened this morning, in fact.
But it's also happened with other brands so it's not limited to Bose.
Which would mean it's a Bluetooth issue.
GoNovate G10 is the smallest bluetooth that sits in your ear like a hearing aid. I LOVE IT.
I'm not following this too closely, but here's the summary as I understand it: it's a software evolution based on existing BLE hardware. It's not a new profile, they're above the connectivity layer. Most important "detail" IMHO: it's just the first step of BT mesh. This version 1.0 is based on flooding, so not super efficient. Take all the pictures with a gazillion devices with a big grain of salt ;) But an extension with routing, allowing better scaling, will follow soon. Then it will have the potential to scale better. But this first version is enough to get started, and sufficient for limited scale deployments like consumer applications at home for example.
I think most of this is a response to 802.15.4 meshes, which have been around for a long time, but are officially getting formalized into specifications or product offerings. Thread, Zigbee, Z-Wave are all gaining momentum, and the BT SIG is trying to not lose marketshare to these products.
Interestingly, Thread is the only mesh network of those I mentioned that supports IP, through 6LoWPAN.
Z-Wave, Bluetooth and Zigbee are full-stack, meaning they implement their own application layers as well, so unless you implemented TCP on top of the application layer, you probably won't get what you are looking for. Thread just provides the networking layer, so you could potentially use it to carry whatever traffic you like.
Is it possible there's something else in your environment interfering with the BT signal? Perhaps an office with lots of other BT connections?
Bluetooth uses the frequency range between 2,402 GHz and 2,480 GHz. This is in the ISM band that is also used by Wi-Fi. Indeed according to the German Wikipedia article on Bluetooth (I could not find such a remark in the article in the English wikipedia)
> https://de.wikipedia.org/w/index.php?title=Bluetooth&oldid=1...
Bluetooth can be disrupted by Wi-Fi, microwave ovens and cordless phones (but not by cordless phones using the DECT standard as is common in Germany).
https://www.bluetooth.com/what-is-bluetooth-technology/how-i...
"Bluetooth technology implements a managed flood approach in which only main-powered nodes serve as message relays. Low-power nodes, such as battery-powered sensors, are not responsible for message relay." [...] "Bluetooth mesh handles multicast communications using a publish/subscribe group messaging approach. [...] Bluetooth mesh also supports virtual addresses, which extend group addresses by allowing a 128-bit UUID to act as the destination address."
They also seem to have added strong security guarantees. So in theory, they could control a large number of sensors using a small number of relays, and have fine-grained, secure control over the low-power devices, and avoid complex routing. It's honestly not a bad idea.
Now let's see if they fuck it up like all the other BT implementations.
So if a central node in the network goes down, the rest of the mesh will reconfigure their connections without human involvement.
And thanks for reminding me of the term, i had a feel something like this was already in Bluetooth from the early days.
The new mesh standard, I believe, is a flood mesh. There is no new connections required because all messages are broadcast on the advertising channels and each node rebroadcasts when it receives it. (with some log of previously rebroadcast messages to avoid infinite loops)
>A Proven, Trusted Technology
When talking about mesh networking.
It is not easy to do well, though, and there are more failed attempts than successes at this point.
Will we have to wait for new hardware that supports it?
Or will we be able to update drivers on our Android phones, and then it'll just work?