I'm just getting started with the nRF51-DK, and I'm still confused about which SD I need to load, and which roles I need to support aka GAP and GATT.
My end application will look something like this. I will have my board installed inside another device, communicating with it via a serial connection, or in some cases, monitoring and controlling via digital I/O. There is a fairly wide range of devices my board could be installed in, but most are fairly similar. Most of the time, my board will just be monitoring the devices, not even collecting data. There will be several of these devices with my boards together within radio range.
At some point, a person will come in with a smart phone or tablet and open my app, and will be presented with a list of all of the devices within range that contain my board. They will be able to select one of those devices, read the current status of the device from my board, and based on that status give a command to my board that will then be passed to the device.
For this to work, my board has to ??advertise?? or ??broadcast?? its presence fairly frequently, which I think means my board should be a GAP Peripheral. Then the phone has to connect to it to read status and send commands, which I think means my board should be a GATT server.
To make things more complicated, multiple people with multiple phones should be able to be in the same area, and each get the same list of my boards, and each pick a device (but not a device someone else has picked until they have finished with it) and get the device's status and send commands to it.
Also, since mostly this is serial, but also because the digital I/O requires timed pulses, I have to be sure that when my board is communicating with a device that it isn't interrupted (which would break the serial data stream or mess up the timing of digital I/O).
So, is all of this possible, and do I have the right idea about which GAP and GATT roles I need? And if so, which SD do I need to use to implement this? Is S110 appropriate?
Thanks for any input.