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.

Parents
  • Hi Abdullah_M,

    Could you elaborate on what your implementation to send both packets simultaneously is?

    Best regards,

    hieu

  • I send them simultaneously because I wanted to send a message, let's say advertising, to both android and apple users. If I send only Eddystone for example, I will only reach android users, likewise for ibeacon, I will only reach apple users. Whereas if I send both, I could reach both. Here is the code if you want to see how it looks like.

  • Hi Abdullah_M,

    I am fairly sure that there are just some APIs not being called yet and/or not being called in the correct order.

    However, before we proceed further, do you know that Eddystone is no longer supported by Android?

    Knowing that, do you still wish to explore what is wrong here?

    See:
    android - Is Google deprecating beacon service? Their announcement is ambiguous - Stack Overflow
    and
    Get Beacon Messages  |  Nearby Messages API for Android  |  Google Developers

    Best regards,

    Hieu

  • Hi Hieu,

    Yes, I want to keep exploring this, I'm a beginners in BLE, by the way Could you help me find which API hasn't been called yet and/or hasn't been called in the right order please?

    I read the first article in the first link, i understood that even if i my code is correct, my devices may not receive the packages from Eddystone because Google ended their beacon service? is that right?

    sorry for my english because im not very good.

    Regards.

    Abdullah

  • 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

Reply Children
Related