Search code examples
bluetootharduinoibeaconar.drone

Sending iBeacon signal strength(for distance) to arduino board


I have a project using quadcopter(ARDrone). And i want to controlled it unmanned indoor, using arduino board and iBeacons. iBeacons send signal strength and floor info to arduino board(inside ARDrone connected main board) and iphone for searching location in building. Project is just controlling drone to go to iphone's location by itself. All calculation parts are managed in server.(triangulation etc.)

Here are the questions.

  1. How can arduino board receive bluetooth 4.0 signal and send it to server? 4.0 signal can be received by bluetooth 2.0 module?
  2. Do i need to build bluetooth 4.0 receiver module? Or are there any other ways?
  3. In server, complicated calculation will be managed by programs in c++ language but simple things are handled by web language. php? jsp? or other lang which one is better?
  4. and some hints for this project. I really need your help. thanks;)

Solution

  • 3. The calculations to identify the location from the received signal strength and location of the Beacons are fairly straightforward, so should be fine in which ever language you prefer. You will need to use Trilateration, once you have converted RSSI (received signal strength) into a distance.

    4. The major challenge you will have is getting accurate distances, iBeacons as you know use Bluetooth LE, what you may not know is that this operates on a Microwave wavelength and so is easily disrupted by humidity in the air, as well as other objects like people. This means that the RSSI readings will jump about a bit, a basic way to overcome this is to take an average over several readings, even so the distances found will be rather inaccurate in many circumstances. To get an idea of the kind of readings that you will get for distance without compensating for environmental factors have a look at my presentation: "Factors effecting positional accuracy of iBeacons", that is based on Estimote iBeacons, but should be relevant for other brands as well, but you will need to do your own experiments to work out the relative errors. I was seeing distance readings that were +-2M away from the real location.