google / physical-web

The Physical Web: walk up and use anything
http://physical-web.org
Apache License 2.0
6k stars 665 forks source link

Create a beacon app #14

Closed jonathanstark closed 9 years ago

jonathanstark commented 9 years ago

My excitement about this project is peaking right now, but there's no way for me to play with it.

I wish there was an application that I could download to my Bluetooth enabled devices that would convert them into beacons so I could play with the interaction model around my house.

I am a web developer so I'm not sure if this is even possible, but I can promise you I be playing with the physical web right now if I had beacon applications on my laptop, Xbox, Roku, Android phones, iPhone, iPads, etc...

Just a thought :)

Jonathan Stark

scottjenson commented 9 years ago

I agree! It's killing us too.

There is an iBeacon app for mac which we looked at but apparently the mac libraries make it hard to do much outside the iBeacon fold so we can't setup our own ad packets. I've received a few pings from folks that are planning on adding to the 'firmware' directory for BLE devices that you can use.

For what it's worth, if you pick up an RFduino, there is code in the 'getting started' doc that lets you fire that up. Probably your fastest route for now. I've got a few hundred beacons that I'm giving out when I speak at conferences. I'm working on getting an online partner to source and sell them but it might take a month or so to get that sorted out.

Scott

don commented 9 years ago

I think you might be able to create URL beacons with nodejs and bleno but it probably only works on Linux since the OS X APIs don't let you set random advertising packets.

jonathanstark commented 9 years ago

Do you know if it's possible to turn an android device into a beacon?

don commented 9 years ago

@jonathanstark not with 4.4 since Android can only be central role. L preview added APIs for peripheral role but I haven't looked into them yet.

jonathanstark commented 9 years ago

@don Thanks. I'll look into node.

jonathanstark commented 9 years ago

Question: does anyone know the protocol that wifi access points use to broadcast their presence? It occurs to me - perhaps naively - that this might be an alternative to Bluetooth.

JulienGenoud commented 9 years ago

you can broadcast the google signal with bluetooth 4.0 on linux

ghost commented 9 years ago

@jonathanstark One possibility for a 'universal' test setup would be to get a Bluegiga BLED113 and use @jrowberg's BGLib to write a python app that either acts as a beacon or scans for them. You can also use any Bluetooth dongle on Linux with BlueZ as @JulienGenoud says.

don commented 9 years ago

@jonathanstark here's a simple beacon with NodeJS and Bleno https://github.com/don/UriBeacon

/cc @sandeepmistry

ghost commented 9 years ago

@don Maybe the new 'firmware' directory could be renamed 'beacon_examples' (or something like that) and your example could go in it. Not all beacons are necessarily 'firmware'.

jonathanstark commented 9 years ago

@don You are a rock star. Thanks!

don commented 9 years ago

@jcrabtr examples is a good idea, but this could live in firmware/ too. I'll contribute the example once I get the code agreement signed. I'd like to create a better versions with some helper methods too.

scottjenson commented 9 years ago

Don, what's the best way to have your Bleno code in our 'firmware' directory? We're trying to collect all of the examples in one place. I can almost guarantee that we'll be tweaking the packet format as we go forward and it would be helpful to have all of them in one place so we can update them collectively.

don commented 9 years ago

@scottjenson I'll sign the CLA and contribute the examples. Do you think the node library belongs in there too?

scottjenson commented 9 years ago

We'd like all the beacons to be in one place. I'm happy to rename 'firmware to 'beacon_examples' if that makes people happier

sandeepmistry commented 9 years ago

@don @scottjenson my vote would be for the library to be published to npm, and then the node.js example would include an npm install step (which is probably already needed to include bleno).

don commented 9 years ago

@sandeepmistry I think the UriBeacon (uri-beacon?) library in npm and the examples in this repo makes sense. @scottjenson does that work for you?

scottjenson commented 9 years ago

Sounds good. Closing this issue for now. Please feel free to open another.