I'm trying to use RSSI values to create a positioning system in my home.
I'm using the neXenio library as a base, the only changes I have made from this have been implementing logging to a database: https://github.com/neXenio/BLE-Indoor-Positioning
I'm using 4 Minew I7's for the beacons and they are currently set to broadcast just iBeacon type adverts at 300ms. They are positioned in a square shaped room and a cross type layout and each beacon is around 2.2m apart. There are no obvious obstructions other than normal living room furntiure. For each test run I do I place my phone in the centre of the room and gather data for around 10-15 minutes at a time. Data gets sent to a database for me to look at after.
The issue I'm having is the singal strength fluctuates massively all the time, to the point the data is basically unusable. Graphs from a typical test run.
Should there be that much difference when the phone is completely still ? I'd expect there to be some slight differences from just the nature of signal propagation but not this much.
Is this to be expected or can these be improved upon somehow ? If this is expected then I will have to look at combining some other sensor data to help improve accuracy.
Thanks
Edit:
After running some more tests, I compared values over time (I had previously only compared rssi,distance and mac address). This has led to find a consitant osscilation pattern Newest test run.
This has also led me to this overstack question: Is there an explanation for the regular oscillation experienced in Bluetooth RSSI
If I am only advertising iBeacon type adverts then this wouldn't apply? But it seems strange how it matches me issue.