I'm trying to update the 51822 beacon example to work with iOS8 (iBeacon).
So far, I have registered to get iBeacon license from Apple, and setup the tools for compilation. (devzone.nordicsemi.com/.../)
I also could build an Beacon example to get the HEX file, but I have some questions to ask.
Question 1 : Firmware modification
I'm not 100% sure, but I guess ble_app_beacon/pca10028/s110 is the source to modify. I could open the source in Keil's uVision to build the original source code to get the HEX file.
From the document, I have to make a packet of 30 bytes with the following contents. I removed some of the contents to be shown as ??.
Total 30 Bytes
0 - 2 : 0x??/0x??/0x??
3 (Length) : 0x1A
4 (Type) : 0x??
5-6 (Company ID) : 0x????
7-8 (Beacon Type) : 0x????
9-24 (Proximity UUID)
25-26 (Major)
27-28 (Minor)
29 (Measured Power)
However, the source code (main.c) does not exactly match the packet format. For example, the beacon info length is 23 (0x17), not 30. And there is no way to make the first three bytes as prescribed.
#define APP_BEACON_INFO_LENGTH 0x17 /**< Total length of information advertised by the Beacon. */
#define APP_ADV_DATA_LENGTH 0x15 /**< Length of manufacturer specific data in the advertisement. */
#define APP_DEVICE_TYPE 0x02 /**< 0x02 refers to Beacon. */
#define APP_MEASURED_RSSI 0xC3 /**< The Beacon's measured RSSI at 1 meter distance in dBm. */
#define APP_COMPANY_IDENTIFIER 0x0059 /**< Company identifier for Nordic Semiconductor ASA. as per www.bluetooth.org. */
Edit
This is what I have done to make the nRF51822 beacon can trigger the nRFBeacons iOS app.
- Contact Apple to get iBeacon license.
- Bought jlink programming connector for firmware programming.
- Download the nFRgo studio to download the hex file with the jlink.
- Modify the beacon example from the nRF51822 Beacon v1.1.0.
I modified the beacon.h in
C:\Nordic Semiconductor\nRF51822 Beacon v1.1.0\Source Code\nrf51_beacon\common\beacon
directory line 29
From: #define APP_DEFAULT_COMPANY_IDENTIFIER 0x0059 To: 0x0059 -> 0x00?? (The Apple ID).
No error in compliation, get the hex file, no error in downloading the hex file into the nRF51822 beaon.
Reset the device after the programming, and scan to register the device.