I'm developing an App (iOS & Android), which can control several Bluetooth LE peripherals (lamps) at the same time. I read in some posts, that there is a limit of connected BLE devices at the same time (android 6 devices and ios 10 devices). To ensure parallel writings on more than 10 devices, I want to start a timer on the peripherals, to fire a characteristic change on all devices at the same time. We also develop the peripheral firmware.
Because several phones must have the ability to connect to the lamp nearly all the time and the lamp only accepts 1 connection at once, I only connect to write data and disconnect directly afterwards.
I found out by testing, that I must discover the characteristics - every time - I reconnect to the peripherals, even when I discovered them earlier. Someone wrote, that it's possible to cache characteristics by pairing the phone with the peripherals. Sadly this is absolutely not what I want, because the user mustn't see a pairing popup every time, a new lamp is discovered. Indeed, he never want's to see the pairing request. So this possibility is not the right way for me.... sadly
Is there any way to speed up the connection phase? At the moment it sometimes takes up to 1 second to discover the device whereas the connection itself takes only some milliseconds.
I'm very greatful for any help. Even a description, why it is not possible would be cool!
Thanks in advance,