Can I connect to other BT devices with the Bluz?


#1

I’ve had a Bluz board sitting in my stack for a little while. I claimed it on Particle today. I want to connect to other devices- in other words, I need to initiate the connection, not just say “hey, I’m available”.

It doesn’t appear there are any methods to do that in the docs, so I need pointers there.

Second, once I do connect to another device, will I still be able to communicate through my gateway or phone?


#2

Welcome!

I am not quite sure I understand what devices you want to connect to?

Bluz is like any other BLE device, the biggest difference is that it tries to connect to the Particle cloud. This requires a special BLE Central device, mainly our apps, our hardware gateways, or any other device that supports the protocol (one of our great community members made it work with a RasPi and CHIP!)

So any Bluetooth LE device can connect to bluz, but it won’t necessarily work with the Particle cloud that way.

Maybe you can give a little more detail around the type of device you want to connect with bluz?


#3

Hi Eric, what I mean is I want to use the Bluz to connect to another bluetooth device (say, a heartrate monitor strap). That means Bluz needs to be the ‘host’ while the other device is the ‘client’. The docs only mention cases where Bluz is the client, using things like ‘advertise’ and ‘send to gateway’. Instead, I want to scan for nearby bluetooth advertisements and then connect to devices.


#4

Bluz only operates as the peripheral, or client in your example. The central is the device that can scan for and connect to peripherals. The bluz gateway and gateway shield are central devices, they are also open source and so you could technically use them for that purpose. However, that would require you to local compile and change the firmware to look for new services and characteristics.

You could theoretically use bluz for this purpose as well, but it would require a JTAG programmer to completely change the code loaded on the device. We use Nordic chipsets and their BLE stack comes in two flavors*, one that supports central and one that supports peripheral. So you would have to change the underlying stack, which requires a JTAG programmer and some definite firmware changes.

*Actually, Nordic does offer a third flavor of their BLE stack that can act as central and peripheral at the same time. We don’t use this for bluz since it has a lot more limitations, so I’m not including it in the conversation here since we don’t use it in any way.


#5

Huh. Okay. Sounds like I should grab a Redbear or something to do it. Thanks.


#6

You can certainly check out what they have to offer, but they use the same chipset as us so I believe they will tell you something very similar.

What are you trying not to do exactly? Are you trying to connect to any nearby BLE device and discover what it can do? Where does the information need to go?

A gateway or gateway shield can do this, so if you let me know your specific use case I can give you an idea of how complicated it would be


#7

I want to connect to one or more local BLE devices and get their current status. An example is a heartrate monitor, you can imagine getting the current BPM from it. The other device has communication under NDA.

The redbear uses the Broadcom 4334, so I think I can make it work- or at least make progress. And it was wifi+usb so it’s a little easier for early prototyping.


#8

Ah, yes, I think the Duo may support central. I usually think of their other offerings when I think of RedBear which almost all use Nordic.


#9

Yep, all good. Not a knock against my Bluz, just different devices.


#10

This looks like a good though to cooperate with RedBear and make same BLE code work on both Bluz and RedBear then with particle.io as cental point