Can I make iPhone/iPad broadcast as Eddystone Beacon? - iphone

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.

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.

Related

Flutter Ble Advertisement

I need to broadcast custom ble advertisement data from an ios/android device to many custom BLE Devices. My goal is to set the bytes of the ble adv package to broadcast it to ble devices nearby.
As far as is i know i need to set the payload of the advertise package of my ios / android device.
In my case it isn’t possible to simply connect to every ble device and write characteristics values, because i need to broadcast data to many devices.
Is there any way to solve this problem with flutter / flutter blue?
Advertisement is not meant to connect to devices, just advertising data.
If a device is advertising, it is up to the receiver to make a connection and exchange data.
This is only possible if the application on the receiver is made for the advertising device, or has some pre-defined protocol to interact with advertising devices that have the same protocol.
In the advertising packet there is a flag that states if the advertiser is connectable or not.

How to do a Beacon paring bluetooth

Hi Would like to do bluetooth pairing request with the ALteBeacon library, in order to establish communication between two devices because I did a virtual beacon. Is it Possible?
The Android Beacon Library is designed for Bluetooth LE Beacon detection, ranging and monitoring. It is not designed for Bluetooth LE GATT communications. For that purpose, please use the built-in Android APIs. See the Connect to a GATT Server section here.

Using Beacon as a locating device in retail

how to detect beacon signal and do we need to make any app to manage it or any predefined app or site is available?
I want to know how Beacon works and which Beacon is suitable for retail.
You need a mobile phone with Bluetooth 4.0 to detect beacons. They emit a BLE signal which is a little different from the normal Bluetooth signal. There are many generic apps in the play store and maybe in the app store to detect them.
But if you are looking for real functionality related to that, then you'll be needing the retail store-specific mobile app so that it can show you relevant updates in the app.

Can I detect proximity between two beacons?

I'm currently study BLE Beacon. I know that with Google Beacon API and its app, it is possible to know when the beacon communicates with my mobile phone, so I can design different notifications based on the proximity. But in my case, I need to know the proximity between a wearable beacon to a stable beacon. Is that possible at all?
Two challenges to doing this:
Google Beacon APIs do not provide proximity information beyond a beacon being visible at all (regardless of distance) to a mobile phone.
Beacons are generally speaking one way transmitters. You cannot use a beacon to listen for another beacon.
To make something like this work you need one of the two devices (either fixed or mobile) to be a beacon scanner, not a beacon. You could make a beacon scanner out of a fixed Raspberry Pi 3 which would detect the beacon wearables and calculate the distance to them. This is an approach I have helped multiple clients implement.

can iphone act as beacon having eddystone format

I read that Nexus6 and Nexus9 can only act as beacon in eddystone format.
Currently I do not have either of the phones. I have an iphone, can we use aniphone to broadcast eddystone format?
Unfortunately, this is not possible. Apple restricts the type of advertisements that can be sent out by its CoreBluetooth APIs. While you can broadcast an advertisement with the same GATT Service UUID as required for Eddystone, 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:
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.