https://github.com/wgierke/whereareyou
Passive indoor localization using WiFi signal strength
https://github.com/wgierke/whereareyou
aircrack localization
Last synced: about 1 month ago
JSON representation
Passive indoor localization using WiFi signal strength
- Host: GitHub
- URL: https://github.com/wgierke/whereareyou
- Owner: WGierke
- Created: 2017-02-04T23:41:10.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-02-28T18:10:34.000Z (over 8 years ago)
- Last Synced: 2025-04-04T23:33:28.820Z (7 months ago)
- Topics: aircrack, localization
- Language: Python
- Homepage:
- Size: 312 KB
- Stars: 8
- Watchers: 0
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# whereareyou
Inspired by [whereami](https://github.com/kootenpv/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.
## Setup
- Install Cython
`apt-get install cython`
- Install Python dependencies
`pip install -r requirements.txt`
### Slaves
- Install aircrack-ng
`apt-get install aircrack-ng`
- Set your Wifi interface to monitor mode e.g.
`airmon-ng start wlp3s0`
### Master
- Create the database initially
`python -c "from master import db; db.create_all()"`
- Copy `example.locations.yml` to `locations.yml` and add the locations you want to track
`cp example.locations.yml locations.yml`
- Copy `example.env` to `.env` and add the appropriate configuration keys
`cp example.env .env`
- Adapt `static/office.svg` and `static/office_mapping.json` to your office (we recommend [this](http://editor.method.ac/) online editor). You can test your office mapping at /test_mapping.
## Usage
### Slaves
- Run `slave.py` on every device at the location you're owning
`python slave.py --network ItHurtsWhenIP --wifi-interface wlp3s0`
### Master
- Run `master.py` on a device that can be accessed by the slaves in your internal network
`python master`