The scenario is that multiple iOS devices are in the room and are running in the background. They can see if someone is a peripheral but can't be peripherals themselves. So what we want to do is to enable both iOS apps in the foreground as well as Android apps to act as Hubs who can relay discovery information for the iOS centrals running in the background.
In other words if user A pulls out their phone and can now act as a peripheral we want them to be able to be connected to by the other iOS devices running in the background, receive their discovery announcements and then relay those discovery announcements to the other iOS devices running in the background. When this happens we also need to be able to relay any requests that result from discovery.
In other words if device C receives via device A a discovery announcement from device B and C wants to respond then C needs to send its response via A.
In an ideal world we will be able to build all this logic at the node.js layer and just use a standard BLE API to talk to the BLE stacks on both Android and iOS.
The scenario is that multiple iOS devices are in the room and are running in the background. They can see if someone is a peripheral but can't be peripherals themselves. So what we want to do is to enable both iOS apps in the foreground as well as Android apps to act as Hubs who can relay discovery information for the iOS centrals running in the background.
In other words if user A pulls out their phone and can now act as a peripheral we want them to be able to be connected to by the other iOS devices running in the background, receive their discovery announcements and then relay those discovery announcements to the other iOS devices running in the background. When this happens we also need to be able to relay any requests that result from discovery.
In other words if device C receives via device A a discovery announcement from device B and C wants to respond then C needs to send its response via A.
In an ideal world we will be able to build all this logic at the node.js layer and just use a standard BLE API to talk to the BLE stacks on both Android and iOS.
Also see http://thaliproject.org/Stories/#02---ble-hub