We are planning to integrate a BLE compatible Bluetooth module on one of our product hardware. For the last few days I have been digging around the net and got a fair idea about the technology. Now that I have an understanding of the tech, I think we have a choice of going with either of iBeacon, AltBeacon or Eddystone as the advertising format.
Please note that we would not be approaching a BLE vendor but instead we would be approaching a chip manufacturer like Texas instruments or somebody who would be delivering our original hardware. The Bluetooth module is a last minute addendum.I guess chip manufacturers would be open to work with any of the advertising formats as we suggest them (this is my guess. I have no clue on this). But let's say if they are, which would be the preferred format to go with ??
My 2 cents -
I understand iBeacon compatible devices would have some kind of a
cert process from apple. We want to avoid any kind of mandatory cert
process. As I mentioned the Bluetooth module is only an addendum for
us.
iBeacon seems to be the most mature since it has been around for a while
AltBeacon looks to be almost similar to iBeacon with a bit of more flexibility and sans the Apple luggage. Is there any cert required by
the owners i.e. Radius Networks ??
Eddystone looks to be the most robust and future proof. Again is there a cert process ?
What are our concerns -
Low cost.
Low battery consumption.
Changing payload after deployment.
Host processor should be able to turn ON/OFF the on-board BLE device. The latency should be low in such case.
We should be able to monitor Beacon health i.e. if any beacon is down.
Security.
Are there any other things we should be concerned with ?? :)
Yes, you will need to use iBeacon if you need scanning in background on iOS. Android can scan in background for any advertising payload.
The StackOverflow rules do not allow recommendations, but I will answer two embedded questions:
AltBeacon does not require any certification, but you obviously must meet the spec for it to work with other devices.
Eddystone similarly does not require pre-certification, but you may optionally do so to have your products listed on Google's website listing of compatible manufacturers.
#Simon-Judge is mostly correct in his answer that iBeacon provides fastest background on iOS. However, you can detect Eddsystone formats in the background on iOS as they use service advertisements which iOS APIs allow. This is much slower than iBeacon (typically 10 minutes vs. 5 seconds for iBeacon). AltBeacon, by comparison cannot be detected at all in the background on iOS as it is a manufacturer advertisement. The only manufacturer advertisements that can be detected in the background on iOS are iBeacon advertisements.
Related
Can we see analytics just by connecting to beacons ( beacons who are not actually STICK to the walls ) through estimote app ?
Due to pandemic in India it is not possible to go to the office now . I have a development kit of proximity beacons and I need to develop a simple project out of it.
So should i travel and bring that kit to home and develop an app using some already available templates and later on return it to the office so that once we resume after 5-6 months we can stick them to the wall and play around it.
Please let me know, I have read every article but can't find anything about it.
You will need to bring the kit home, enable the beacons so they are transmitting (which means the battery will start being used), register them with Estimote, and then use a mobile phone in the vicinity of the beacons with an app running the Estimote SDK. You may install the beacons in their permanent location at a later time.
I want to detect offline mobile phones in a specific area, they are offline no GPS and no internet. I have an application and it should take an action when it detects that it is in the area.
the area may be a floor on a building or even a room.
Can I set a repeater device and wait for its signal to show up then to take an action based on the Cell Id?
knowing that I don't need the mobile phone to connect the repeater.
is there a better approach?
I think you mean that you want an app on the phone to detect it is in the room or building, even when the app is not connected to the internet and not using GPS.
An alternative approach to using a specialist device as you outline, and which might be worth testing, is to leverage the WiFi scanning that your device is probably already doing, even when not connected to the internet.
In Android, for example, you can register a broadcast listener for 'SCAN_RESULTS_AVAILABLE_ACTION' which will provide you a list of all the nearby wifi access points including their BSID's and SSID's ():https://developer.android.com/reference/android/net/wifi/ScanResult
There are permission restrictions which you need to be aware of but they are quite common ones for users - more details here:
https://developer.android.com/guide/topics/connectivity/wifi-scan
Many location services use this type of approach, often to supplement the GPS info and improve accuracy.
What is the preferred state of the app in order to receive a proximity-based offer - App in foreground, background or not-yet-launched?
There are mixed opinions on this, some say how should a user know he should have the app launched, on the other hand if the app is not launched, a deamon process needs to be listening to BLE packets (and consuming battery).
I'm trying to understand what some of the real applications are doing in practice.
Beacon apps that present offers when a user is nearby typically require background detection of beacons, because it is unlikely the user will know to manually open the app at the right time.
This is possible on both iOS and Android, provided that the beacon app is already installed on the phone. Both platforms allow ways to do low power beacon scanning in the background that will deliver a callback to an app when a beacon matching an identifier pattern is detected.
The basic practice is to have the app register for these callbacks the first time it runs, so even if the phone is rebooted, it will be notified of a detection.
As you say, background scanning requires some battery usage, but there are optimizations that make this acceptable on both Android and iOS. These optimizations are automatic on iOS and the implementation closed source and undocumented. On Android, similar optimizations are provided by the open source Android Beacon Library. You can read about how background launching works here and battery saving here.
Full disclosure: I am lead developer on the Android Beacon Library project.
I am just trying to bring some idea for that i need something similar to NFC which can communicate to my device just like NFC but should be able to communicate between few meters.
I have seen several NFC tags but they just work at few centimeters which do not full fill my purpose.
Found something similar too - NearBytes; But still it is not helping me
Thanks in Advance !!
This depends on what exactly you want to achieve with the communication. Also completely depends on what devices you have available.
On assuming no limitations what so ever, BLE (Bluetooth Low Enegery) may be a technology to consider. It also works with radio but with the range of a few meters rather than a few centimetres as restricted by NFC. However although the technologies in essence are based in the same way, they are implemented rather differently.
Here is an interesting article comparing the two technologies of NFC and BLE with focus of mobile payments:
Mobile Payment Transactions: BLE and/or NFC?
I'd interested in sending data from one WP7 to another WP7 phone so I could create 2 player games. If I understand correctly most WP7 will support bluetooth, but its not in the minimum spec, is this correct? What API's can I use to access the bluetooth, any good examples of this out there?
Unfortunately Microsoft don't provide any access to the bluetooth stack via any documented APIs in this version of the Dev tools.
They don't seem to have any sense of urgency about fixing this (or any of the many other missing features), so I wouldn't expect the situation to change any time soon.