Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Eddystone-URL support #146

Merged
merged 2 commits into from Apr 5, 2016

Conversation

bneedhamia
Copy link
Contributor

Added Eddystone-URL support: added setAdvertisedServiceData() to support BLE Service Data; changed Incomplete to Complete Service UUID list code in Advertising initialization, required by Eddystone-URL protocol; added (for debugging and testing Advertising) getAdvertisingLength() and getAdvertising() to enable a Sketch to view the generated BLE Advertising packet.

This change allows an Arduino 101 to be a beacon, specifically an Eddystone-URL beacon, as used in Google's Physical Web(tm) project. See https://google.github.io/physical-web/

…ort BLE Service Data; changed Incomplete to Complete Service UUID list code in Advertising initialization, required by Eddystone-URL protocol; added (for debugging) getAdvertisingLength() and getAdvertising() to enable a Sketch viewing the Advertizing packet.
@bneedhamia
Copy link
Contributor Author

For an example sketch, see my Eddystone-URL Arduino 101 Sketch, which Advertises google.com via Eddystone/Physical-Web(tm) protocol . Should I add a version of this sketch as a CurieBLE example?

@bneedhamia
Copy link
Contributor Author

I noticed I seem to have some typo in keywords.txt, because one of the new functions isn't highlighted in the IDE. Shall I correct that typo and push it to support-eddystone-url branch on my pull repo? ...or shall I wait for review to notice it.

@bigdinotech
Copy link
Contributor

@bneedhamia sorry for the late review. Yes please go ahead and fix the typo. I will approve the pull request once that is done. Thanks.

@bneedhamia
Copy link
Contributor Author

The keyword.txt corections are in.

@bigdinotech
Copy link
Contributor

@calvinatintel please merge

@bbaltz505 bbaltz505 merged commit 0e4a0d4 into arduino:master Apr 5, 2016
@bneedhamia
Copy link
Contributor Author

@Dan-Emutex @bigdinotech Excellent point. I'll take a look at @sandeepmistry Eddystone code and BLE library and if appropriate pull in the appropriate interfaces (in a new pull request). I wasn't aware of Sandeep's Eddystone code.

I had skimmed Sandeep's BLE library before I started, and at least in a quick skim of the code at that time, I didn't see Service Data support in the advertising - obviously from his Eddystone code, it must be hiding in there somewhere. I'll give his Eddystone code and BLE library a good read-over. I wouldn't want to diverge from his code.

Thanks again for the catch,
Brad

@sandeepmistry
Copy link
Contributor

@bneedhamia service data is currently controlled by calling characteristic.broadcast(). There is also support to update the advertised value, via the setValue API if the characteristic is currently broadcasted.

This feature was left out of the CurieBLE library because controlling the advertisement data after begin() was not supported at the time to my knowledge. Maybe this has changed now?

@Dan-Emutex @bneedhamia thank you for bringing this discussion up. It would be great to continue to keep the CurieBLE API in sync with the BLEPeripheral library.

@Gerriko
Copy link

Gerriko commented Feb 9, 2017

Any updates on this topic

@SidLeung
Copy link
Contributor

SidLeung commented Feb 9, 2017

@sandeepmistry , is service data broadcasting needed for the next BLE release? There was another discussion on similar topic here,

#420

@sandeepmistry
Copy link
Contributor

@SidLeung, yes #420 would allow us to accomplish the same thing.

@ElliotMebane
Copy link

EddystoneURL sample with Curie 2.0.2:
https://github.com/ElliotMebane/Arduino/tree/master/EddystoneURL_Arduino101

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants