Beacon manager PoC

During a recent Somo hack day I was busy preparing for meetings so didn't get to dive into a particular team. Still, I didn't want to let the whole day go without doing something so being still rather backend/web focused I decided to create a little iBeacon "management" application using a combination of NodeJS for the scanner and Django for the upstream backend.

Imaginge you are doing a rollout of beacons to a several stores, for some sort of promotion I imagine. Since the beacons have embedded batteries they're going to eventually die (battery life has greatly improved so can range from months to more than a year or two). You need some sort of way to keep track of them if you want your deployment to be successful and have high availability. You might get away with just monitoring within each store but this is 2014 - so really you want some central way to manage them.

This is where I thought of having a scanner that would run on cheap, low end hardware (a RasberryPi or Arduino shield of some sort) which would simply post the data to an upstream server.

Here's the scanner itself running with a few beacons nearby:

And here's the backend - the idea being that this is a separate server, probably at a generally available URL. The scanner(s) post to this so you have a central place to view your beacons and their checkin times.

The whole beacon thing came about as the topic of the hackday was iOS8 - what do beacons have to do with that? Not much but the concept was the connected home and the plethora of new devices coming out that link into new core iOS8 APIs and services. Beacons featured quite a bit in that for location/proximity aware notification systems.

Code is available on Github - jaymzcd/beaconmanager.