4

I need to connect multiple Bluetooth 4.0 devices to the arduino.

There is a "master" module, which is an arduino + WiFi + HM-10 BLE module.

Then there are "slave" modules, which are made with an arduino + sensor + HM-10 BLE module.

I have one master module and multiple slave modules, and I want to read the sensors data of the slave modules from the master module, but keeping the connection open with both slave modules simultaneously.

Is that possible? Thanks!

Sam Protsenko
  • 14,045
  • 4
  • 59
  • 75
  • Yes, it's possible. You can connect to multiple peripheral devices, that's why all packets come in with connection handles to identify which connection the data is related to. – Tim Tisdall Aug 04 '15 at 14:36
  • On the contrary, I'm pretty sure it is not possible unless you implement a mesh system (which Bluetooth SIG should be releasing the spec for soon). The current Bluetooth model is a one-to-one relationship (master and slave). Once a connection is established with a client, you can only communicate with that client. – DigitalNinja Sep 03 '16 at 00:41

2 Answers2

2

Actually it's impossible to connect to multiple devices simultaneously using HM-10 or any other Arduino Bluetooth module for now.

If you need to combine several devices into one network - then I suggest using NRF24 modules. They are working on the same frequency as BT, but more convenient to work with, because you don't need to establish a connection(pair) between devices. Here is the short info from the official datasheet:

The nRF24L01+ is a single chip 2.4GHz transceiver with an embedded baseband protocol engine (Enhanced ShockBurst™), suitable for ultra low power wireless applications.

These modules supports multiple slaves network, exactly what you need:

MultiCeiver™ is a feature used in RX mode that contains a set of six parallel data pipes with unique addresses. enter image description here

Ruslan
  • 122
  • 1
  • 14
0

If the communication is one-way, it is possible by using only the GAP protocol, not the GATT protocol. That means that all slaves are broadcasting their data, e.g. sensor reads, and the master (called "central device" in BLE terminoloty). However, this also means that the broadcasted data could be picked up by any other central device...