I have been interested in smart buildings for quite some time. It is not easy to create an effective smart building without knowing where it's occupants are. There are many solutions on the market that use technologies such as infrared sensors, bluetooth tags, video cameras to make the rooms aware of their occupants.
I want to make a sensing platform based on sensor fusion. The two initial sensors that I am explore are Blutooth smart and Walabot. Bluetooth smart is present in many devices that we carry/wear (including Smartphones, Smart watches, Electronic Keys and Even advanced access/payment cards). Sensing proximity of bluetooth low energy devices is not some thing new but it is not trivial to get room level accuracy. RSSI of 2.4 GHz signal can be affected by presence of humans in the room which gives very fluctuating results.
As a first step fusing Bluetooth RSSI data with Walabot and can create an effecient, accurate and also cost effective room map. It is seamless to detect where people are in the room. Also it vlues privacy as only people who are actively transmitting their signals are identified. There is no need for an always on camera or visual records in this case (some thing that could deter privacy concious folks)
TheoryBluetooth Low energy signals can be picked up a BLE scanner. These signals can carry a small payload (i.e. some identification) and based on transmission power and distance they also have a signal strength.
The basic idea is to place three scanners in a room so they can do triangulation based on RSSI. If we were to use same type of scanners and in similar enclsures and view of the room, the scanners would capture BLE signals with RSSI that will be OK to use in triangulation purposes.
PreperationFirst we need to download reelyApp. This app will let you transmit some information to Bluetooth scanners. The good folks at reelyActive say the following about reelyApp.
Advertise what matters to you, simply by walking into a space.
It is available for both Android and iOS. However only a select version of Android phones can be transmitters of Bluetooth low energy. For the purpose of this document I will use an iPhone 6 running iOS 10.
Next we need to setup some bluetooh scanners. For the purpose of this document I will be using raspberry pi running raspbian, with wifi configured, running ssh, installed nodejs
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash - && sudo apt install nodejs
so we may run the provided code.
There are some other packages that are needed as well
sudo apt install libbluetooth-dev libusb-dev
An easy way of doing all of this is to use this image and just add your wifi network.
Comments