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

combined iBeacon advertising and standard advertising

Hi

Any ideas how best to implement a combined iBeacon and standard advertising device (both devices are active at the same time) ?

The iBeacon has to send an advertisement every 100ms.

It would be useful if we could vary the advertisement interval for the standard device

Thanks in advance

John

  • Can you elaborate what you mean?

    AFIK, for a device to appear as an iBeacon it just sends "manufacturer data" in a specific format.

    You can change the advertising period, from the default if you want, but it will impact on the device receiving the beacon, as it may expect a transmission every 100ms.

    I'm not sure what you mean by "Standard advertising device"

    You could build a advertising packet that contains both manufacturer data and also a 16 bit service list etc, but its probably dependant on the receiver if it chooses to see the device as an iBeacon if it contains other data.

  • FormerMember
    0 FormerMember

    If you need your device to advertise two different advertising packet you have the following options:

    1) Alternate between the two advertising packets: Use a timer, app_timer for instance, to change the content of the advertising packet every given interval.

    Advantage: Easy to implement: just use the regulart sd_xxx API. To alternate the advertising packet data, just call ble_advdata_set(--> sd_ble_gap_adv_data_set(..)).

    Disadvantage: The device will advertise one type of the packets at the time, and alternate between the two. While one packet is advertising, it will obviously not be possible to "see" the other advertising packet.

    2) Advertise the two advertising packets concurrently, one using the softdevice and the other using the timeslot API. The example experimental_ble_app_multiactivity -> hrs_advertiser (SDK11) shows how set up an advertiser with the timeslot API with the nRF51. Note: the timeslot advertiser in that example has not implemented scan response.

    Advantage: The two advertising packets will be broadcasted concurrently.

    Disadvantage: The example that we have is only implemented for nRF51 (it should be fairly easy to make it work for nRF52 as well), we have not implemented scan response in the timeslot API version (but maybe scan request/scan response is not needed?), it is harder to debug the timeslot API.

  • An application which transmits iBeacon advertising at 100ms that also transmits another generic advertisement without interfering with the regular iBeacon 100ms transmission.

  • Many thanks What are the advantages and disadvantages for the two methods?

Related