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.
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.
Why don't you create a pull request to the Arduino 101 corelibs (https://github.com/01org/corelibs-arduino101.git) on github
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.
Done (I hope). See https://github.com/01org/corelibs-arduino101/pull/146 (https://github.com/01org/corelibs-arduino101/pull/146)
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 .