After reading about Google’s new Eddystone protocol specification for BLE (Bluetooth Low Energy) beacons similar to Apple’s iBeacon I wanted to try it out. I don’t have any BLE beacons but fortunately you don’t need them. You can use mDNS and I quickly got it running on a Raspberry Pi by following these instructions. It’s pretty straightforward but I had to use HTTP as HTTPS didn’t appear to work just by changing the protocol and port (probably need to stick with a redirect for now).
Eddystone lighthouse (with someone fishing)
Once you’ve got your server configured and running you need to install the Android or iOS app (although I understand this will eventually be integrated into Android). I’ve tested this on a Nexus 5 running the latest version of Lollipop (5.1.1). Here’s what it looks like with the Pi set up to broadcast notifications about InstaBail.
The app has a splash screen explaining what it does. I’m not sure what you’re actually accepting at this stage.
The splash screen of the Physical Web app
The app will force you to turn on Bluetooth in a loop until you accept. You can turn it off once you’ve closed the app and notifications will still work. The beacon list looks like this.
Beacon list in the Physical Web app
You’re not really meant to use the app directly as beacons create notifications. You can only see these when you open the panel (no icon in the status bar) but it doesn’t need to be fully open like this. You can have Bluetooth off and mDNS notifications will still work over Wi-Fi.
Notifications outside the Physical Web app
Selecting the notification opens the website in the default browser. It can also be swiped away to dismiss it like most notifications.