Are you new to beacons and overwhelmed by our Getting Started Guide? Have no fear! We've covered some of the most popular questions about how beacons work below. Let's take a closer look!
What is a beacon?
A beacon is a tiny device that broadcasts Bluetooth data packets. Think of it as a lighthouse that you place in a harbor. It sends its signal in the form of light to nearby ships. The light itself is meaningless, but when picked up by the captain of a ship, they can determine which lighthouse the ship is approaching and can roughly estimate how far from shore the ship is. The captain can then perform specific actions based on this data - they can change the direction of a ship, start preparations for arrival or even sound an alarm if they're dangerously close.
Now, imagine that instead of a lighthouse, you place a beacon and instead of ships, people with mobile devices are wandering around. Instead of light, a beacon is sending a Bluetooth signal, and the captain's knowledge about what to do when they sees a lighthouse we replace with a dedicated mobile app installed on a smartphone. Just like light, the Bluetooth signal itself is meaningless but with the knowledge of how to interpret it (a mobile app), you can build virtually anything.
Do I really need a mobile device?
Yes. You need a device that is able to receive the Bluetooth signal sent by beacons and also interpret it. What would be the point of a lighthouse if the area wasn't even visited by ships, right? ;-) So whether you want to track people or objects, log or welcome visitors to your event or automate a process, there needs to be a mobile device in the equation. Most commonly smartphones are used, and our beacons are compatible with both iOS and Android devices. Raspberry Pi is also a good example thanks to our support for Android Things. We can’t offer support for devices running other systems, but we’ve compiled a list of tools for integrating them! Beacons themselves cannot receive any data packets from other beacons (the only exception is mesh networking which we covered in our documentation but let’s not focus on it now).
Do I really need an app?
Yes, but you can also try out some limited features without one. Our beacons and software are optimized to work best with native applications for iOS or Android. So if you want to create a great product solving a real problem, you're going to need a mobile app (check Developer Docs to see how to get started)
If you're not a developer or don't have a team that could build an app for you, there are several options available out there. Check out our dedicated guide.
What is it that a beacon sends?
Beacons send Bluetooth data packets that can only be understood by the compatible devices. These packets are definitely not notifications or any other media, instead they are seemingly random sets of letters and digits. Beacons broadcast them with a certain strength in every possible direction (just like a lighthouse 'broadcasts' light). In each packet, beacons "introduce themselves" by sending their unique identifiers as well as certain additional data. The exact look of those packets and their capabilities is determined by certain protocols such as Estimote Monitoring, iBeacon or Eddystone. (Note: With Google discontinuing Nearby Notifications starting on December 6th, 2018, users will no longer be able to receive notifications through Eddystone-URL.) Almost every iOS and Android Bluetooth-enabled device is compatible with each of these protocols.
What happens when a mobile device receives a beacon packet
As we discussed above, the packets wouldn't make much sense if they just showed up on a screen. Luckily though, there are thousands of mobile apps built for beacons that know exactly what to do when a packet is received. The moment a packet arrives, a corresponding app is immediately launched and the first thing it does is ask the Estimote Cloud for additional context (e.g. instruction on what to do about this particular beacon). The Cloud, also in the matter of milliseconds, returns the necessary information and the app performs the programmed activity - displays a notification, logs someone's visit, changes occupancy of a room, etc. In order to do that, it will often have to communicate with its own server (in addition to the exchange with the Estimote Cloud). This is why internet connection is necessary for any interaction to take place. Although this might seem like a lot of steps to perform a simple action, all of them are taken almost instantly. On top of the internet connection, Bluetooth needs to be enabled on the user's device in order to receive the packets in the first place.