Passive indoor localization using WiFi signal strength
Inspired by whereami. Passive indoor localization using the Wifi signal strength of a users devices. A set of slaves (like Raspberry Pis) is distributed at the location and send the signal strengths of detected devices to a master server. Based on a pretrained model the master predicts where the devices currently are located.
apt-get install cython
pip install -r requirements.txt
apt-get install aircrack-ng
example.env
to .env
and add the appropriate configuration keys. Make sure that HOST holds the URI under which your server is reachable. HOST:5000/gCallback
must be configured in your Google API Console to be an authorized OAuth redirect URI.cp example.env .env
static/office.svg
and static/office_mapping.json
to your office (we recommend this online editor). You can test your office mapping at /test_mapping.python -c "from master import db, load_locations; db.create_all(); load_locations()"
example.run.sh
to run.sh
and adapt the configuration to your needscp example.run.sh run.sh
bash run.sh
on every slave device/etc/profile
file:CMD="sudo bash /home/pi/whereareyou/run.sh"
COUNT=$(ps aux | grep '$CMD' | wc -l)
if [ $COUNT -eq 1 ]; then
echo "Starting whereareyou"
cd /home/pi/whereareyou/
eval "$CMD &"
fi
master.py
on a device that can be accessed by the slaves in your internal networkpython master