This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Multiactivity_beacon advertiser for nRF52 (Service and iBeacon together)

I am trying to port the experimental_ble_app_multiactivity_beacon advertiser example to nRF52.

I have used the document 'Migrating an nRF51 BLE project to nRF52' (infocenter.nordicsemi.com/index.jsp

I have only changed the Memory Areas as follows:

  • IROM1: 0x1C000/0x64000
  • IRAM1: 0x20002080/0xDF80

Moreover, I have changed:

  • APP_COMPANY_IDENTIFIER to 0x004C
  • BEACON_UUID, BEACON_MAJOR, BEACON_MINOR as per my needs.

(I did exactly the same with ble_app_beacon which worked as expected).

All the services are properly advertised and I am able to connect to them, but unfortunately the iBeacon is not detected by my iOS device.

I have also tried the timeslot variation, but I am not able to compile because of this error:

cannot open source input file "ble_stack_handler_types.h": No such file or directory

Can anyone help me with this or point me to a working sample of a BLS service together with iBeacon?

Tks

Parents
  • @Fab: I see no problem with the project you sent. After I connected, the device advertise as a beacon as show below:

    image description

    The only modification I need to add is to add to main.c :

    err_code = NRF_LOG_INIT();
    APP_ERROR_CHECK(err_code);
    

    As it's not included by default, it's a bug.

  • Hi Hung, thank you for your support. I eventually made it working. Using Master Control Panel on Android I realized that the minor value was wrong: 256 instead of 1. This because the major/minor have to be expressed in little endian format. What fooled my is that in the ibeacon example major/minor are in big endian format instead.

    Unfortunately, I have not reached my actual goal yet. I need to make the ibeacon advertise all the time and not when a device is connected. I think I need timeslot api. Is there any specific example to start with?

Reply
  • Hi Hung, thank you for your support. I eventually made it working. Using Master Control Panel on Android I realized that the minor value was wrong: 256 instead of 1. This because the major/minor have to be expressed in little endian format. What fooled my is that in the ibeacon example major/minor are in big endian format instead.

    Unfortunately, I have not reached my actual goal yet. I need to make the ibeacon advertise all the time and not when a device is connected. I think I need timeslot api. Is there any specific example to start with?

Children
No Data
Related