Ble eddystone and ibeacon simultaneously nrf52832

Hello, I am working on a project that consists of sending Eddystone and ibeacon packets simultaneously, to begin with, I started by sending one package of each separately, it was a success but the problem is that when I send both packages through my uc button,

it sends only the first packet while the second one is never sent, here's a screenshot for a better understanding :

I want to stop sending the first package (ibeacon) by pressing the button_1 (it works).

I want to send the second package (Eddystone) by pressing the button_2 (this one doesn't work) and yet it detects the button press.



Ps : the button is on a chip nordic nrf52832.

  • Hi Abdullah,

    Your English is just fine, please don't worry.

    Sorry for the long wait. The past couple of days I have spent a bit of time to look into the Eddystone specs and our Eddystone library. I found that it is not trivial to fully understand the library at all, mainly due to the security features associated with Eddystone-EID.

    On the other hand, the nRF5 SDK is in maintenance mode (no update, bug fix) since Aug 2021, and all platforms related to Eddystone is completely shut down. That means that further investigation on this is not very beneficial for either of us; and I cannot afford more time than I have.

    So instead of showing you how toggling to an Eddystone advertising packet using the SDK's library can be done, I can show you how to build an Eddystone-UID and/or an Eddystone-URL packet from the ground up; and I can show you how to toggle between them and an iBeacon.

    I'm sorry for the long wait and disappointment, but how does this sound to you?

    By the way, as you are new to the technology and are probably not bound to any specific SDK, what do you think about getting started on the nRF Connect SDK  (NCS) instead? That is our new SDK that is being actively working on. Newer generation chips from Nordic will also be supported on NCS, like the nRF53 that is otherwise not supported in the nRF5 SDK.

    Best regards,

    Hieu

  • Hi Hieu,

    I hope you are well, thank you for the compliment even if I think my English is not very good,
    No problem to wait, I rather thank you for dedicating your time on me.

    Yes, I will be very grateful if you show me how to switch between Eddystone and ibeacon because that is where I am stuck.


    In fact, when I send the Eddystone packets, the packets contain the values of the rangefinder(telemeter) that is displayed on the app (Kbeacon or nrf connect with bluetooth enabled). So when I send the packet I can see Eddystone URL on the app (you have to wait maybe a few minutes to see them), but the problem is this:

    imagine that if I send ibeacon packets first, ibeacon will work, then if I send eddystone packets, the code indicates that they were sent but on the application there is nothing that's means eddystone did not work. 

    on the other hand imagine now that if I send eddystone packets first, eddystone will work, then if I send ibeacon packets the code shows that it was sent but on the application there is nothing that means ibeacon didn't work. 

    by the way, I change the mode by pressing button 1 to stop sending the first packets and button 3 to start sending the second packets.

    I use nrf52832 and PCA10040, is it ok or do I have to change the card?


    Best Regards.

    Abdullah

  • Hi Abdullah,

    Just want to let you know that I still have your case on my book, just trying to get through my backlog to it, since I want to make sure what I give you work.

    And just to set expectation straight. I will not be using the nRF5 SDK Eddystone Library. Instead, I will just use raw advertising or the Advertisement Module to recreate an Eddystone-UID or Eddystone-URL packet.

    Sorry again for the very long wait.

    Best regards,

    Hieu

  • Hi Hieu,

    No problem with the wait, thank you very much.

    I was wondering why you are not using the Eddystone library from the nRF5 SDK. Is it because nrf52832 is compatible or not with something?

    Or because you don't have the Eddystone library of the nRF5 SDK?

    And the other question is, why use raw advertising or the Advertisement Module to recreate an Eddystone-UID or Eddystone-URL packet.?

    Best regards.

    Abdullah

  • Hi Abdullah,

    The Eddystone Library is pretty complicated. The complication is mostly for supporting the Eddystone-EID and Encrypted Eddystone-TLM features.

    Meanwhile, the Eddystone protocol is completely deprecated. The nRF5 SDK, along with the Eddystone library, is no longer recommended for new projects.

    Therefore, the cost of learning it is pretty high, while the benefit is pretty low.

    On the other hand, I can quickly use other basic advertising data to create an Eddystone-UID or Eddystone-URL beacon, because their specs are pretty simple.
    As you are already creating your own iBeacon data, I believe you are also more than capable of creating your Eddystone-UID or Eddystone-URL beacons. What I do is going to just be showing you how to toggle between different advertising data.

    Best regards,

    Hieu

Related