I am working with BLE on the BC127 module. My end goal is to be able to transfer some files from a smartphone to the BC127 module. BLE data mode seems to be the key to making this transfer. According to the Melody Audio 7.x User Guide, the throughput from server to client is much higher than from client to server. So it seems obvious to configure the phone as a server and the BC127 module as a client.
For connecting the BC127 module to the phone, I am putting the BC127 module into advertising mode and pairing with it. If I am not wrong, this means that the BC127 module is the BLE peripheral/slave and the phone is the BLE central/master. Now using the Melody Smart app, I am able to communicate to the module, read the characteristics advertised by the phone and enter data mode. When I use a different app, nRF Connect from Nordic Semiconductor, I am able to read both the characteristics advertised by the phone and the BLE module.
This is where I am confused. If both devices can act as the GATT server and client, how does the module determine which one is the server and which one is the client when transferring data in BLE data mode?
Any response would be appreciated. Thanks in advance!