Have you ever thought about powering your beacons externally? Connecting them with another smart device? Wanted to customize Bluetooth data packets? You can do all of that now!
We’ve already covered several major novelties and opportunities opened with Estimote Location Beacons and our brand new SDK 4.0. Today we are talking about the GPIO port. GPIO (General Purpose Input/Output) enables you to wirelessly manage external devices and receiving data. You can turn your beacon into a controller or receiver by connecting it to any electronic device. The options are numerous: diodes, displays, sensors… actually, any electronic modules.
It’s all about state
There are two modes for GPIO connection: Input and Output. They operate based on High/Low logic. Basically, beacon broadcasts or receives the state of the device in zero/one format.
With Input mode, beacon becomes a receiver, picking up data from the device and transmitting it through Estimote Telemetry packet. This way you know what’s up with the device: is it on or off, for instance.. We’ve played around with some basic examples ourselves and encourage you to try it out too! You’ll find a tutorial right here.
In Output mode, you turn you beacon into a controller and can use it to manage the connected device with an app.As soon as you are in range, app will send data to a beacon, activating the connected device. It happens just by changing the state of GPIO output pin to high.
Is that it?
There’s more to GPIO! EstiUART, our brand new protocol, allows you to define what a beacon is advertising. If you configure GPIO as an EstiUART interface, you’ll be able to use another device to enable custom advertising packets for an Estimote Beacon. We’ve developed commands that enable you to propagate data or apply changes to a beacon. Depending on the command you can change Advertising Interval, enable Generic Advertisers, and set what beacon broadcasts. Just connect a beacon to computer and define what’s it going to broadcast.
Making it live
Our friends from tretton37 based in Sweden, are already using GPIO and it’s coming along more than fine. They were looking for an opportunity to customize data beacons broadcast and Location Beacons were a perfect fit.
The team is working on a public transport project, aiming to add context to every bus ride. Checking passengers in and out of vehicles and providing them with context is what it’s all about.
Now the prototype is live and Karl-Henrik Nillson and Michał Łusiak, software developers leading the project, shared some details with us:
“We run Raspberry Pi with WIFI hotspot and Node.js server. You can connect to it, and set up test scenarios in web UI. That’s how we decide what data and when beacons will broadcast. To make communication between Raspberry PI and Location Beacon easier, we also wrote small Node.js module, that we’re planning to open source in near future.”
EstiUART is brand new and were in touch with Michał and Karl-Henrik to help them kick off the project.
“Our idea was to build prototype based on Raspberry Pi, and Location Beacon connected through UART. Estimote was very supportive making sure we have all the documentation needed.”
If you also have an idea for GPIO port or UART, feel free to reach out. Actually if you have any beacon project idea, we’d be happy to hear from you! Drop us a line to contact@estimote.com or Twitter.
Liliya Matsuk, Community Manager at Estimote