I have a "monitor" device which at the moment is a BLE Central role device which collects data.
I also have a "communicator" device which at the moment is a BLE Peripheral which recieves data from the montior and forwards it on to other systems.
I have chosen this architecture as the monitor needs to be able to "push" data out but is also running from a small battery. It therefore is the master and opens a connection to the communicator and sends data when it needs to. The communicator is constantly advertising.
This system works well, but there is a case where the monitor needs to be able to send data to a smartphone instead. For this to work as far as I understand the monitor would need to become a peripheral.
If the monitor becomes a peripheral, the smartphone would need to regularly connect with it to determine if there is new data to send, but this may compromise battery life.
The V1.2 stack release notes state:
The BLE stack can now support simultaneously advertising and/or scanning while in a connection as
either a master or a slave. This allows for a central device to perform device discovery while in a connection.
Does this mean a device can be both a central and peripheral role device?