Semantic heuristic localization
- fitbit wireless sync dongle
- people wearing fitbits
All fitbits need to be identified so people and fitbit IDs can be correlated data is stored to and pulled from GATD
Fitbitfinder Installation steps
Install galileo, a python utility for interacting with fitbits, and other python libraries
sudo pip install galileo IPy socketIO-client
Modify usb permissions
sudo cp 99-fitbit.rules /etc/udev/rules.d/99-fitbit.rules
Remove and re-insert Fitbit dongle
MacScanner Installation steps
Install scapy python library
tar zxvf scapy-latest.tar.gz
sudo python setup.py install
Weareabouts Installation steps
Create a virtual environment
sudo pip install virtualenv
Start the virtual environment
Install IPy and socketIO-client to virtual environment
pip install IPy socketIO-client
Replace init file from socketIO-client
cp socketIO_client__init__.py venv/lib/python2.7/site-packages/socketIO_client/__init__.py
Running Wearabouts in a local context requires:
A central RabbitMQ server that handles queuing and distributing data between applications.
To set this up using Docker:
docker run -d -p 5672:5672 -p 15672:15672 tutum/rabbitmq
to get the container ID. Now to figure out the password that the RabbitMQ admin user was assigned:
docker logs <container id>
If you know the password:
docker run -d -p 5672:5672 -p 15672:15672 -e RABBITMQ_PASS="password" tutum/rabbitmq
Now configure the RabbitMQ instance using the web interface:
Add a new vhost, a user for that vhost, and add the admin user to the vhost. Finally, we need to add a topic exchange to the vhost.
A central Wearabouts instance that is making determinations about where people are.
Many BLE (and other) scanner applications that are looking for packets from devices.
For the node.js based scanner:
# Need BLE packages sudo apt-get install bluetooth bluez-utils libbluetooth-dev cd bleScannerHCI # Setup the config paramters # Need tiller sudo gem install tiller sudo tiller_json="$(cat ../config.json)" tiller -n -b $PWD/tiller npm install sudo NOBLE_REPORT_ALL_HCI_EVENTS=1 node bleScanner.js
For the Python scanner (uses Nordic dongle):
cd bleScanner tiller_json="$(cat ../config.json)" tiller -n -b $PWD/tiller sudo pip install pika socketIO-client ./bleScanner.py OR sudo docker run --privileged -v /dev/ttyACM0:/dev/ttyACM0 -e tiller_json="$(cat config.json)" -t lab11/wearabouts-ble-scanner-py
Tiller is a tool that helps with creating config files inside of Docker containers. It's a little tricky to pass config parameters and passwords to Docker containers because listing a ton of command line arguments is clunky and you can't add the specific config files to the container. Tiller, while a little clunky, allows you to pass a single JSON string as a command line argument to the docker run command which is handled by tiller inside of the docker container to create a config file. When the file has been generated Tiller then runs your original command.
There are Docker containers for some of the parts of this project. To build them:
sudo pip install sh sudo ./build_docker.py