Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I make iPhone/iPad broadcast as Eddystone Beacon?

We can make iOS devices act as a iBeacon transmitter and We can locate nearby iBeacons if we know their Proximity UUID.

With Google's Proximity Beacon API, It's possible to configure and register real Beacon hardware, and we can locate them with Nearby Messaging API.

But is it possible to make iOS devices to broadcast as Eddystone Beacons ? And it needs to be discoverable by apps that scan Eddystone beacons.

Thanks in advance.

like image 423
ayon Avatar asked Feb 03 '16 10:02

ayon


People also ask

How do I turn my iPhone into an iBeacon?

You must go to Settings – General – Profiles – tap on your Profile – tap on Trust button on your iPhone. After trusting it should look like this. And that's how you configure your iPhone to be an iBeacon transmitter. We hope you found this useful.

Is Eddystone still available?

Eddystone and the Physical Web are dead – effective on December 6th, 2018, Google will stop delivering these notifications to Android users worldwide. The easy way to send messages to Android phones nearby – it worked out of the box with all devices and without an app – is thus gone.

What is Apple iBeacon?

Apple introduced the iBeacon protocol at the Apple Worldwide Developers Conference in 2013. iBeacon opened doors to a host of opportunities for location-data and proximity marketing. This protocol enables seamless interactivity between iOS and Android devices, and an iBeacon hardware, such as BLE beacons.


1 Answers

Unfortunately, this is not possible. While iOS devices can advertise Bluetooth LE service advertisements(which are the advertisement type used by Eddystone) using CoreBluetooth APIs, you cannot attach the necessary data. This is because the CBAdvertisementDataServiceDataKey that associates service data to an advertisement is read-only on iOS. You can't set the data.

So while you want to make the iOS device advertise something like this to transmit Eddystone-UID:

0201060303aafe1516aafe00e72f234454f4911ba9ffa6000000000001

You end up advertising something like this:

0201060303aafe0316aafe

This leaves off the Eddystone-UID type code (00), the calibrated power (e7), the namespace identifier (2f234454f4911ba9ffa6) and the instance identifier (000000000001). As a result, it won't be recognized as an Eddystone-UID frame.

like image 121
davidgyoung Avatar answered Sep 19 '22 23:09

davidgyoung