I want to know if I can setup altbeacon uuid, major and minor with altbeacon library for any beacon hardware that support altbeacon layout. I haven't seen this information in any place. Because of operational reasons, I need to set them up remotely, with open source software. All of them are proprietary. I am looking for an open source solution for set them up. Any help or information would be apreciate it.This question is related to altbeacon, because I couldn't find a non property solution for ibeacons.
Altbeacon is 'old' and not used so much now. In any case, it sends out a URL, not unique id(s). You should instead look into Eddystone if you really don't want to use iBeacon. All beacons just use 'standard' Bluetooth advertising so there's nothing to stop you designing your own Bluetooth advertising payload. There's an overview of advertising at BeaconZone.
The Android Beacon Library does not provide a SDK for configuring beacon identifiers. Unfortunately this is not possible because every beacon manufacturer has a different way of configuring their beacons, and the mechanisms are often proprietary and does not have a published API.
The open source AltBeacon standard is supported by a wide variety of beacon hardware manufacturers. However, there is simply no standard way of configuring the identifiers. You must follow manufacturer instructions.
Related
We develop applications using ble beacons. One of the beacons providers offering beacons with MiniBeacon firmware. I guess MiniBeacon firmware makes it possible to configure the beacon in iBeacon and Eddystone format simultaneously. Is it correct ?
I searched but could not find much information about MiniBeacon firmware. Does it have any known compatibility issues with Eddystone or iBeacon format or any known performance issues ?
Sorry for asking such a generic question. Thanks a lot.
Reg,
It does not look to me like the firmware supports Eddystone, at least not at the link referenced in the comment below the question. That firmware is 3 or 4 years old by the changelog, dating to before the release of Eddystone.
The README mentions iBeacon compatibility, and if that format is indeed supported, it would be compatible with the Android Beacon Library if the library is configured with the proper BeaconParser for iBeacon.
You may wish to check with the firmware author to see if a newer version is available supporting Eddystone.
I am working on an ibeacon app and I am worrying about that others might sniff the proximity UUID of my app. So i did some research and found this article: http://developer.radiusnetworks.com/2013/10/21/corebluetooth-doesnt-let-you-see-ibeacons.html
It basically stated like others that apple DOES NOT ALLOW you to do this. but then i found some mac app like this one: https://github.com/liamnichols/iBeaconScanner
I did some test and it really can show me the UUIDs. Does there has any ways to prevent even those mac or android app from getting my proximity UUID?
The "CoreBluetooth Doesn't Let You See Beacons" blog post you mention was specifically about iOS. On that platform, the operating system's public APIs do not allow you to detect iBeacons unless you know the identifier up front.
The iBeaconScanner program you reference is for OSX, which does not have the same restrictions. On OSX as well as on Android, Linux, Windows and other platforms, you can scan for beacons and read the identifiers without knowing them up front.
I once used the Android Locate app to read the beacon identifiers at the Apple Store, and then made a beacon with the same identifiers and was able to pop an Apple Store welcome message on an iPhone.
You cannot prevent other people from doing this. You need to design any system that uses iBeacon technology to take this possibility into account.
As far as I understand eddybeacon (just released by Google) is effectively a new 'operating system' for Bluetooth 4.0 Low energy devices (iBeacons). I have been experimenting with iBeacons for sometime now and want to try out a few things with eddybeacon. Has anyone had a go with it yet? I've read a few sites and they say it can be installed to some devices... Can anyone share how to do this?
If you want to start out by playing with Eddystone, you have a couple of options:
You can use a software transmitter. Just download my free Locate App in the Google Play store which will both act as an Eddystone transmitter and decode other Eddystone-compatible beacons in the vicinity. Google also has posted an Android app that can transmit the Eddystone-UID frame here, but you have to compile it yourself.
You can get a few hardware beacons for testing with a Developer Kit from Radius Networks (my company) here.
Once you have a transmitter, you can try writing some software to work with it. Here's a tutorial I wrote on how to build a basic Eddystone-capable Android app.
One other thing that might be useful is an Eddystone detector tool. You can use the free Android Locate app to detect and decode all of the frames transmitted by Eddystone.
So:
Eddystone is a specification for Bluetooth Smart (usually just called BLE) devices to behave like beacons — it defines the Bluetooth frames and content they need to broadcast to be seen as beacons.
iBeacon is not a generic term. iBeacon is actually Apple's specification for Bluetooth beacons. Eddystone and iBeacon are both examples of beacon specifications for BLE devices.
There are a few ways to get started with Eddystone beacons.
a. A number of hardware manufacturers sell developer kits that will let you get started with Eddystone beacons right away, and there is plenty of example software out, either from those vendors, or from the google pages on GitHub — github.com/google/eddystone and github.com/google/beacon-platform.
b. Some people have had good luck with Arduinos and Raspberry Pis. You can see an Arduino example here (Note: I have no idea how well that project works, I've just seen it used a few times.)
Is it possible to use an iBeacon to get the UUIDs of all devices in its radius? I tried searching this up, but I couldn't find a definitive answer.
Technically speaking, iBeacon is a standard designed for broadcast-only, meaning that it can only advertise data (UUID, Major, and Minor). However, there's nothing stopping you from building a device that's more than just iBeacon. Actually, most of the beacons available today are more than just iBeacon hardware, with connectivity mode and adjustable settings, which goes beyond what's specified in the iBeacon documentation.
A good example of a device like that is an iPhone. You can make your iPhone act as an iBeacon (at Estimote, we call this Virtual Beacon: https://community.estimote.com/hc/en-us/articles/200908836-What-s-Virtual-Beacon-) and still have apps installed that are monitoring for other iBeacon regions.
Cheers.
As a beginner in ibeacon technology, I've been trying to get an answer to the following question online but I couldnt find anything that comes close to it!
So here goes...I'm aware that there are hardware ibeacons (eg: by Estimote, Radius Networks etc..) and then there is an iphone which can act as an ibeacon. My question is : When I receive a signal from an ibeacon, is it possible to distinguish whether the signal is from an iphone ibeacon or a hardware ibeacon?
Using the basic CoreLocation APIs, all beacons that meet the iBeacon specs will be indistinguishable. You can make some guesses (e.g. does the beacon use the default Radius Networks or Estimote UUID?) but these won't always be reliable.
If you have access to a proprietary configuration SDK for the hardware beacons (hardware beacons are sometimes configurable via Bluetooth), you might be able to use the CoreBluetooth APIs to try to connect to the beacon and determine its manufacturer. But doing this would require you to write different code for each proprietary hardware beacon you might encounter. You have to decide if this is worth the trouble (it's a lot of work) especially since you'll never be able to cover all the different hardware beacon types out there.