Bluetooth (or Zegbee) in a multi-robot project

I am working on a multi-robot project and trying to communicate a PC with these robots. The communication will be one-to-many type and robots only communicate with the PC. PC will initiate communication with the robots.I am planning to use Bluetooth Modem - BlueSMiRF module in each robot. And there will be a USB dongle in the PC.

As far as I understand I should form a piconet between the PC and the bluetooth slave modules. The modules will be connected to PC with SSP connection. The limitation in bluetooth protocol is 1 master and 7 slaves in simple Piconets. Everything is OK up to this point, the problem is with the USB bluetooth dongle. I have looked at one of the models of MSI’s bluetooth dongles and the manual says that there is a limitation on the SSP connections which is 4 for transmit and 2 for receive.

How can I solve this problem, do you know any USB dongles that can have more SSP connections? Or any other solution?

Ali Emre Turgut

re any other solution…

Consider 802.15.4 instead of BlueTooth. Modules from MaxStream or Silicon Labs or any of several others. Any node can send broadcast frame data to all in-range nodes. 250Kbps air link bit rate. Common serial port rates.

Or better, use ZigBee with one of these to assure all nodes are meshed. You can still broadcast in a mesh.

these modules are $20 each with ZigBee as an option. Without ZigBee, your messages are addressed using the MAC address (radio serial #) or to the broadcast address. Maxstream has a DNS-like scheme, where you give a name to each node and you can set the destination address to that name and not worry about numeric addresses. This works with our without ZigBee.

And of course, you have PAN-IDs much as WiFi has SSIDs, to permit network separation. There are many channels in the 2.4GHz band for 802.15.4 - far more channels than WiFi because '15.4 is 2MHz wide whereas WiFi is 20MHz.

The PC interface is usually USB as a virtual COM device. The clients produce a serial port to connect to your microprocessor.

If you are way down the road on this with Bluetooth hardware, I understand.

PS: Some, like MaxStream have 60mW radios as an option for much longer range.

Thanks for your answer, I am not stuck with Bluetooth modules. I have looked at MaxStream, and as far as I understand they are much more suitable to use in a multi-robot environment than Bluetooth modules.

You said that modules are available with or without ZigBee, but when I looked at MaxStream, I understand that they all have ZigBee. Am I right?

Do I really need ZigBee?

Is it possible for me first to make one-to-many communication having PC as the master and the other nodes are slaves, then communicate each unit among themselves without a PC or a master?

When I use a module having a USB interface connected to PC, will the PC see it as a virtual COM device, and use the module as if it were connected to a hardware serial port.

Ali

Hi Ali,

In case you’re considering bluetooth, your last master slave system comment would work fine, with the caveat of a maximum of 7 slave bluetooth connections. It’s a current limitation that a piconet can contain only 8 devices (one being the master). Unfortunately, Windows and most linux bluetooth stack implementations allow for only one bluetooth radio (ie bluetooth dongle) to be used at a time. This means it’s max 7 slaves for one PC. If that’s all you need, I’d recommend using bluetooth, as it’s the easiest RF serial replacement I’ve found.

I’ve been using the BlueRadios modules - they’re great for simple UART attachment. On the PC side, you can use either virtual com ports, or more conveniently, you can use bluetooth socket connections (part of platform SDK in Win32). If you’ve done windows socket programming in the past, it’s an easy step.

Good luck with building the system!

Hi,

Actually I want the system to be expandible. 7 slave limitation is not very appropriate in my system, since I will have approximately 10 robots in the initial system, this may increase in the future. Therefore for the time being I started to consider ZigBee which is more suitable and almost designed for that purpose.

Ali.

Hi Ali,

In case you’re considering bluetooth, your last master slave system comment would work fine, with the caveat of a maximum of 7 slave bluetooth connections. It’s a current limitation that a piconet can contain only 8 devices (one being the master). Unfortunately, Windows and most linux bluetooth stack implementations allow for only one bluetooth radio (ie bluetooth dongle) to be used at a time. This means it’s max 7 slaves for one PC. If that’s all you need, I’d recommend using bluetooth, as it’s the easiest RF serial replacement I’ve found.

I’ve been using the BlueRadios modules - they’re great for simple UART attachment. On the PC side, you can use either virtual com ports, or more conveniently, you can use bluetooth socket connections (part of platform SDK in Win32). If you’ve done windows socket programming in the past, it’s an easy step.

Good luck with building the system!