I want to send Eddystone UID frames as well as iBeacons frames and If I understand correctly I can do both with just hcitool. I am able to send the frame using iBeacon from my Debian and it displays properly but how could I send it with Eddystone standard. Is there also some conversion chart that could convert the Tx power from iBeacon (distance from 1m) or Eddystone(in 0m) to the other standard?
hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 12 34 00 01 66 00
do I also understand correctly that catching the frame in iOS or Android is different for each standard?
Try using this to transmit Eddystone-UID:
hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 06 03 03 aa fe 15 16 aa fe 00 e7 00 01 02 03 04 05 06 07 08 09 01 02 03 04 05 06
CAVEAT EMPTOR: I have not tested the above. Let me know if it works!
If all goes well, the above will send:
To convert a zero meter Tx Power level for Eddystone (e.g. -25 dBm) to a one meter Tx Poser level for iBeacon and AltBeacon, simply subtract 41 dBm. So -25 dBm at zero meters becomes -66 dBm.
On iOS, you must use CoreLocation APIs to detect iBeacon and CoreBluetooth to detect Eddystone (possibly with a higher level API like Google's Proximity API or the AltBeacon Beacon Tools). On Android there are several tools that will let you detect both frame types. I'll put in a shameless plug for my own Android Beacon Library.