Arduino Forum

Products => Arduino 101 => Topic started by: bneedhamia on Mar 04, 2016, 08:09 am

Title: Arduino 101 Eddystone Beacon support posted to GitHub
Post by: bneedhamia on Mar 04, 2016, 08:09 am
Want to turn your Arduino 101 into a BLE Beacon? You can!

After a few small modifications to the CurieBLE library, I've succeeded in creating an Arduino/Genuino 101 Sketch that Advertises an Eddystone (https://github.com/google/eddystone) URL.

Eddystone is a BLE (Bluetooth Low Energy) Advertising packet protocol used by Google's Physical Web(tm) (https://google.github.io/physical-web/) project.  The Physical Web is about having BLE beacons that advertise URLs so that users can interact with Internet-Of-Things devices using the web rather than having to download device-specific apps.

The modifications to CurieBLE are at https://github.com/bneedhamia/CurieBLEServiceData (https://github.com/bneedhamia/CurieBLEServiceData) - I gave the project that name because the main change I made to CurieBLE/BLEPeripheral.cpp was to add support a BLE Service Data block.

A simple demonstration Sketch that broadcasts a short URL is at https://github.com/bneedhamia/CurieEddystoneURL (https://github.com/bneedhamia/CurieEddystoneURL). To modify it to Advertise a different URL, you probably need to learn Eddystone URL format (https://github.com/google/eddystone/tree/master/eddystone-url).

Because the CurieBLE library changes add support for BLE Service Data, I imagine the modified library may enable you to write Sketches that Advertise other beacon formats - I haven't tested formats other than Eddystone.

Brad

P.S., to the Intel CurieBLE team: I'd be delighted if you were to incorporate these changes into the next release of CurieBLE.  The changes are quite simple, and enable important beacon functionality.
Title: Re: Arduino 101 Eddystone Beacon support posted to GitHub
Post by: Merlin513 on Mar 04, 2016, 10:16 pm
Hi Brad

Why don't you create a pull request to the Arduino 101 corelibs  (https://github.com/01org/corelibs-arduino101.git) on github
Title: Re: Arduino 101 Eddystone Beacon support posted to GitHub
Post by: bneedhamia on Mar 05, 2016, 06:39 pm
Thanks for the pointer. I hadn't looked for the open source project, because I started out hoping I could add Eddystone support from the Sketch level.

Thanks again - I'll get right on creating pull requests for the changes.
Title: Re: Arduino 101 Eddystone Beacon support posted to GitHub
Post by: Merlin513 on Mar 05, 2016, 07:17 pm
Good Luck.

Cheers
Mike
Title: Re: Arduino 101 Eddystone Beacon support posted to GitHub
Post by: bneedhamia on Mar 09, 2016, 05:47 am
Done (I hope).  See https://github.com/01org/corelibs-arduino101/pull/146 (https://github.com/01org/corelibs-arduino101/pull/146)
Title: Re: Arduino 101 Eddystone Beacon support posted to GitHub
Post by: YassineChouh on Mar 19, 2019, 09:27 am
Hello mister and thank you for your article,

I'm actually working on my graduation project and i was wondering if you could help me with a couple of steps, I really need help and im stucked right now. any help will be appreciated .