The Telemetry packets coming through my app are really slow. The Estimote app seems to pick up “moving” as soon as i move the beacon around, but my app gets telemetry packets too late so it doesn’t register beacon movement anywhere near as good as the Estimote app does.
Sometimes my listener picks up Telemetry packets within a few seconds, sometimes it doesn’t pick one up for a minute or two…
I have set my beacons’ Broadcasting Power to the highest and Interval to the lowest for both iBeacon and Estimote Telemetry.
Broadcasting Power = 4
Interval = 100
What could be causing the slowness of my app picking up Telemetry packets?
That’s a good observation. There are two things going on here.
First off, the Estimote app works with the Connectivity packet. This means, essentially, that when you connect to the beacon, the app is in constant contact with it. However, this is a specific packet, and the Estimote app, or any app that uses our SDK, can connect to one beacon at a time using this packet.
On the other hand, we have the Telemetry packet, which doesn’t require you to connect to the beacon — with it, you can just read the data a beacon broadcasts. Using this packet allows you to read sensor data from multiple beacons at the same time.
Hope that sheds some light on the difference?
The second issue is that at the moment, our SDK needs to actually read three packets of data to get the Telemetry data off a beacon. Missing even one of those can mean that one entire reading is missed. We’ll be approaching this differently in one of the updates planned for later this year.
You can read a slightly more detailed explanation from Pawel in his last comment on this GH issue.
For now, if you’re interested primarily in reading data from one beacon at a time, you can instead opt for using the Connectivity packet, described here.