Assessing accelerometer and temp functionality for beacon through android SDK

Hi,

I’m developing with the estimote beacon using android studio and the supplied estimote SDK, is the accelerometer and temperature functions of the beacon available to android developers.

I believe i saw on a earlier forum post that this was not the case, has there been an update to this issue??

if they are not available can you tell me when these features will be coming online for android developers.

regards,
Ronan

Correct, sensors are not currently available in our Android SDK. We’re working on bringing them into the SDK, although there’s a few other features we want to add first (support for Estimote Stickers, beacon fleet management etc.), so it may still be some time before we focus on sensors.

Can you tell us how do you want to utilize the sensor data?

ok so just to be clear the accelerometer functionality is not availbe at all on beacons? regardless of iOS or android SDK, this feature is only available via Stickers??

All beacons have accelerometer and temperature sensor built in, and you can access it via our iOS SDK when connected to a beacon. Our Android SDK doesn’t yet have such capability.

Stickers also have these sensors, the only difference is they actively broadcast this data, i.e. you don’t need to go through the connection process to see if a sticker is in motion, or what’s the ambient temperature. Stickers also give you precise x/y/z readings from the accelerometer, while beacons at this moment only give you a binary “is moving”/“is not moving” info.

And finally, we’ve just pushed an update to our Android app that adds support for stickers. Later this week, we’ll push a similar update to the Android SDK, which means you’ll be able to discover stickers using Android devices. And it comes with full support for sensors! (:

Great thanks, I know there is a delay on stickers. But if ordered now, approximately when could i expect them to be shipped?

Hi Ronan,

We’re still burning through the backlog with stickers. Sometime in Q3 we should reach the point where new orders will be shipped almost immediately, but if you order now, the lead time is still a couple of weeks. If you need to start development fast, please note that our SDK offers a nearables simulator, so you can easily test how interactions with stickers would behave in your app. Keep in mind it’s only available on iOS, though.

Cheers.

I’m a bit confused by that. I ordered stickers in early October and haven’t seen them. Does this mean that the entire sticker backlog is going to be cleared in the next couple of weeks?

Hi Darrell,

First in order is an apology: sorry for the long wait, it took as longer than expected to polish stickers hardware, form factor, and SDK. But yeah, in a matter of a few weeks we should clear the backlog. We’ve started shipping months ago, but in small quantities, due to shipping and manufacturing constraints. Recently we’ve hit mass production velocity: it’s all good now and we’re burning through the backlog :smile:

Cheers.

Really disappointed!!. Sure I did not read the forum comments prior to purchase … my mistake I guess. Received my Estimote beacons this week … with temp sensors for testing. Surprise!! Seems Estimote STILL has not made these sensors available to us for ANDROID development!. Now from forum discussions I note this has been a question for a year or more … a number of promises made … with no solution in sight. None of this was mentioned during the purchase process. Certainly hope this is just a terrible mistake from Estimote and not withholding such information on purpose. I now sit with 3 beacons I can’t use. Estimote please comment urgently! … can we access the sensor data in another way via onLeScan perhaps? … i.e. not using the Estimote SDK which is still in development … my project is near completion …

Sorry to keep you waiting for so long :disappointed:

I can offer an alternative solution: when you set your beacons to broadcast Eddystone packets (UID or URL, doesn’t matter) instead of the iBeacon packet, there’s a so-called “telemetry” (Eddystone-TLM) packet also sent by the beacon every 12 seconds—and this packet contains the temperature readings:

http://estimote.github.io/Android-SDK/JavaDocs/com/estimote/sdk/eddystone/EddystoneTelemetry.html#temperature

In a way, it’s even better than the “usual” way to obtain the temperature readings, because it doesn’t require connecting to the beacon—anyone passing by the beacon (as long as they remain in range for up to 12 seconds) can read the temperature “off the air.” Whereas the connection process usually takes something between 10 and 30 seconds, and requires you to be standing pretty close to the beacon.

The only caveat: Eddystone support was added in firmware 3.1.1, and we have a temporary bug which prevents the firmware update from working properly. We should have it resolved this week, or early next week at the very latest.

seriously guys? beacons have no acceleration support on android and it isn’t mentioned anywhere? what kind of a chaos are you producing here? it can’t be that complicated.

you suck!

Yup … I’ve tried now for 2 weeks to get ESTIMOTE to solve [not just promise] the temp sensor issue … my project is now way overdue …

If this is not solved by end week I shall require a FULL refund of ALL costs incurred in relation to your beacons.

THIS IS NOW URGENT!!

We’re still terribly sorry about that :sweat:

Would the Eddystone-TLM solution mentioned above solve your problem?

  1. Update your beacon to firmware 3.2.0.
  2. Set the broadcasting scheme to Eddystone-UID.
  3. Use the BeaconManager to setEddystoneListener and startEddystoneScanning.
  4. In your EddystoneListener’s onEddystonesFound method, find the appropriate Eddystone object.
  5. Check if the telemetry property is not null. The TLM packet is broadcast once every 12 seconds, so it might take a short while before it’s discovered and the property changes to not-null.
  6. Read the temperature property of the EddystoneTelemetry object.

Hi heypiotr

Thank you again. I have now managed to run test activity using Estimote-SDK. I can get “eddystones” as per quick start suggestion. However I’m trying now to:

  1. Calibrate temp senors … seems not possible with Estimote Android App. [?]
  2. Get just two items of data off the beacon … Temperature and Battery %. I have looked through community posts and also GitHub but Estimote docs are not user-friendly … I can’t find anywhere a simple explanation of how to secure these two items of data …

Can you assist?

  1. Yeah, sadly, you’ll need to use the iOS app or SDK to calibrate the temp sensor for now. It’s a one-time operation.
  2. If you’re reading these off the Eddystone telemetry packet, then the EddystoneTelemetry object I was talking about in my previous post has “temperature” and “batteryVoltage” properties.

Sir,
Can you provide source code for implementing the same. As i not that good at coding… it will be appreciated.
thanks

Here’s a quick start on how to discover Eddystone beacons:

Once you have that up and running, in the onEddystonesFound you need to do something like:

@Override public void onEddystonesFound(List<Eddystone> eddystones) {
    Log.d(TAG, "Nearby Eddystone beacons: " + eddystones);
    for (Eddystone e : eddystones) {
        if (e.telemetry != null) {
            Log.d(TAG, "MAC address: " + e.macAddress 
                + ", temperature: " + e.telemetry.temperature);
        }
    }
}

Thanks again. I shall test code later today.

Nope … not possible to purchase APPLE device just to calibrate sensors … does not make any sense … one assumes if sensors are added as feature that it would be supported … for ALL platforms … if not then this should be clearly stated at order processing.

OK, so correct me if i’m wrong, Stickers have full acces to sensors via Android SDK ?