Intro to Estimote APIs

At Estimote, we’re building an operating system for the physical world.

What does it mean? An operating system’s key role is to give apps APIs to interact with the hardware. For example, subscribe to mouse clicks, or draw on the screen.

An OS for the physical world is no different, except the world itself is the hardware. We want to provide developers with APIs to subscribe to the movements of people and objects, or to wirelessly take control of the nearby displays.

What’s ahead (aka Table of Contents)

Overview of the key APIs

  • Proximity is about your apps detecting when they're near areas of interest. First, tag the area with a Proximity Beacon, and tag it—for example, “lobby.” From now on, Bluetooth-enabled devices such as iOS and Android smartphones can detect when they’re in the lobby. You can also attach some extra data to your beacons—for example, “venue_id = 13”.

  • LTE Beacon and IoT Apps are for indoor and outdoor tracking of assets and vehicles. The LTE Beacon can detect nearby assets via Bluetooth, locate itself outdoors via GPS, and report directly to Estimote Cloud via LTE-M or NB-IoT. You can program it with your own micro-app, in JavaScript, and also put your own JavaScript function in Estimote Cloud to process the data incoming from the LTE Beacon.

  • Nearables APIs and protocol are designed for smart objects that advertise their state and presence over Bluetooth. Stick a Sticker Beacon on an object/asset, and you can now detect it with an LTE Beacon, in a mobile app, or with Estimote Mirror.

  • Indoor Location is about replicating the GPS technology, but indoors, where there’s no satellite coverage. Put up a whole bunch of Location Beacons throughout the space, and create a floor plan. From now on, your iOS and Android apps gain access to precise indoor (x,y) coordinates of the smartphone.

    There’s also the Robotics version of our Indoor SDK, which enables indoor positioning for AGVs, Automated Guided Vehicles … more commonly known as self-driving robots. 😉

  • Mirror is to wirelessly take control of any nearby displays. Imagine walking up to an airport information screen, and having your flight info pop up, along with a map to the gate. That’s the smartphone in your pocket, and the airport/airlines app, communicating with the Mirror video-beacon attached to the screen’s HDMI and USB ports.

Estimote APIs at scale

Building an app that interacts with the physical world is one thing. Deploying thousands of beacons spread around hundreds of venues is another one, which is why we also have a bunch of APIs and technologies for that:

  • Beacon Health Check. Beacons broadcast telemetry data such as their battery level or when was the last time they moved, and our SDKs forward this data to Estimote Cloud. This way, we can notify you when something’s off.

  • Remote Fleet Management. If you need to update firmware or settings of your beacons, you can queue the changes via Estimote Cloud dashboard or API. They will automatically propagate to the beacons the next time somebody is in range of them.

  • Bulk Updater and deployment tools. For when you need to efficiently configure and deploy large quantities of beacons.

  • Analytics. Monitor which areas and objects are the most interacted with.

What about iBeacon or Eddystone?

All Estimote Beacons are compatible with iBeacon and Eddystone—that is, you can configure your Estimote Beacons to broadcast iBeacon and Eddystone data. This is useful if you want to use your Estimote Beacons with some iBeacon- or Eddystone-compatible service.

Note however that most Estimote SDKs and APIs themselves don’t use iBeacon/Eddystone. Instead, we generally use technologies developed in-house. This gives us better control over the behavior of our SDKs and APIs, and makes it easier for us to develop improvements and fix common issues.