Solution approach validation for a usecase (Nearable)

Dear Members,

I am describing my usecase and solution approach I am taking. It will be great if experts can validate and help.

Usecase: I am going to attach beacons to hundreds of product in a big mall. Products can be moving. I am creating an iOS consumer app. Consumer will move in a mall and if he spends significant time (around 5-10 seconds) around a product (near beacon), I will want it to be captured and then push promotional messages to consumer lately. Consumer can have app in terminated mode or in a running mode (background or foreground)

Solution Points:

  • Using nearable stickers
  • All stickers will have the same UUID. They will differ in major and minor number and based on major/minor, I will indentify the product.
  • Stickers will transmit iBeacon packets (as otherwise I believe I will not be able to monitor a region which will be an issue when app is terminated)
  • I will be monitoring a region identified by my UUID.
  • Once I move into a region, my app will be launched in a background mode for around 10 seconds. I will start ranging and get beacon major/minor IDs.
  • Once I move out of a region, I will stop ranging.
  • My sticker settings:
    a. packet type = iBeacon (to manage fleet of hundreds of beacon and support monitoring them while app is terminated)
    b. broadcast internal = 100mS (lowest to make sure ranging gives result sooner than later)
    c. power transmission = -20dB (to make sure regions are smaller and I get more entry/exits to start ranging often)

Questions and Issues:

  1. Is this the best and only approach? Is there any alternate approach/settings I can use?
  2. Once I made above settings, I could no longer detect stickers. Not even in iOS application of Estimote in foreground.
  3. Earlier I had my power set as default 0dB but that means huge region and that did not give me enough call backs for entering and exiting regions => I thought of narrowing a region by reducing power. Is this correct?
  4. Does ranging really work in initiated background mode (invoked from termination) and will I really get major/minor? When my power was 0dB, I got entry into a region callback, but ranging gave no beacon (count was always 0).

Will really appreciate your comments on above solution and questions.

Regards,
Shyamal

Can anyone from Estimote team respond to this please?

Regards,
Shyamal

Your use case should be perfectly implementable with stickers! Two notes:

  1. The default 0 dBm is about 5 m range. -20 dBm will give you a very short range, probably more like, 0.5 m.
  2. 100 ms advertising interval is very aggressive, remember that stickers has a tiny tiny battery, that’s why they’re so small.

If you can’t detect your stickers in the Estimote app anymore, try moving the phone very close to the sticker, since the -20 dBm you’ve set means the range is very short now. Another option is, the battery in your stickers died already, how long was the sticker set to 100 ms?

Thank you very much for your response.

I was running at 100ms frequency for hardly a day. I will want my range to be around 3m. What do you think will be the ideal power transmission? Earlier I had set it at 0dB and I hardly got exit region call back.

Another fundamental question is - what should be my packet type for my usecase? Can it be achieved using “nearable” packet type? I don’t think so. But can you please confirm?

Thanks again.

Shyamal