Is there any equivalent to the SPP profile from Bluetooth Classic? I've always used this as a way to transmit custom data using Bluetooth, but I can't seem to find anything equivalent for BLE.
Is there any equivalent to the SPP profile from Bluetooth Classic? I've always used this as a way to transmit custom data using Bluetooth, but I can't seem to find anything equivalent for BLE.
No, there isn't really any SPP equivalent. However, with BLE, it is important to understand that all the profile and service support is entirely in the application space. This is opposed to the situation in Bluetooth Classic, where it seems to me that all profiles used in the application actually had to be natively supported by the stack used.
This means that with BLE, there isn't really a need for a serial port service to transmit custom data, since you can easily make your custom service, that is specially tailored for the data your application needs to transfer. This avoids the need for cramming all kinds of data into serial packages, and most often this leads to much cleaner data handling strategies and hence applications.
We're working on an application note explaining how to build a custom service for the S110, and I'll add a link here as soon as it's published. For now, I'd recommend taking a look at the battery service (ble_bas.c, ble_bas.h), and trying to understand it at least partially and building from there.
Edit: The application note is now out; nAN-36.
Unfortunately, I can't really give any promises on schedule yet, especially not now in the time of holidays and variants.
In the mean time, this question, which I answered earlier may give some good hints: http://devzone.nordicsemi.com/index.php/what-is-the-most-efficient-way-to-transfer-data-over-ble The general tip is to structure things similar to the SDK services, make an init method that adds the service and all its characteristics, an event handler to handle events coming from the S110 and then all methods you need to do whatever is special for your service. As I said to the other person, the battery service is probably the simplest in the SDK, and should be a good starting point.
Unfortunately, I can't really give any promises on schedule yet, especially not now in the time of holidays and variants.
In the mean time, this question, which I answered earlier may give some good hints: http://devzone.nordicsemi.com/index.php/what-is-the-most-efficient-way-to-transfer-data-over-ble The general tip is to structure things similar to the SDK services, make an init method that adds the service and all its characteristics, an event handler to handle events coming from the S110 and then all methods you need to do whatever is special for your service. As I said to the other person, the battery service is probably the simplest in the SDK, and should be a good starting point.