I'm working with integrating RTLS systems again for Infrafon devices (www.infrafon.com) - it moves therefore we want to know where it is!!
From my previous experience with Wyres, I know that iBeacon infrastructure based systems are a nice and simple/cheap way to do it - but require a back 'solver' to map the fixed point ibeacon(s) being detected by the mobile device to a real-world map position using their RSSI, AoA, etc data.
For some use cases, the precision required is low, so we could just pick the closest iBeacon and say 'thats where I am'. If only the iBeacon itself could tell the device its GPS position directly...
I haven't found anyone doing this, so I'll throw this idea out there : encode in the UUID the lat/lon/alt of the iBeacon's position when it gets installed, with a specific prefix, and then any device that knows this format can immediately get a rough real-world position whenever it detects it...
the geopos-UUID
A UUID is a 16 byte value:
bytes 0-5 : fixed prefix flagging this as a 'geopos' uuid : "38B8EBE00000" (*)
bytes 6-7 : 2s complement 16 bit LE integer : altitude in 0.1m
bytes 8-11 : 2s complement 32 bit LE integer : decimal degrees of longitude multiplied by 10000000
bytes 12-15 : 2s complement 32 bit LE integer : decimal degrees of latitude multiplied by 10000000
We only need to do the position once (when the iBeacon gets installed), and then every BLE sniffing device can get a real world position to within a few meters!
Easy and simple to do, all the iBeacons I have used let you set the UUID, and it doesn' cost anything!
Feedback and comments? brian@wt-consulting.fr
(*) For the curious, this is the IEEE MAC prefix that a certain RTLS company once used....
Aucun commentaire:
Enregistrer un commentaire