I just wanted to give a shoutout to a project I think is very awesome:
https://github.com/schollz/find
“High-precision indoor positioning framework for most wifi-enabled devices.”
It used to be in Python, but moved to Go for I assume speed and ease of porting to other platforms. Also, I wanted to tell you about a light variation, purely python/OSX based, just for fun:
https://github.com/kootenpv/whereami
It can really nicely make use of DictVectorizer and RandomForest in sklearn :)
Here’s what you can expect (after pip install whereami
):
# in your bedroom, takes 100 samples
whereami learn -l bedroom -n 100
# in your kitchen, takes 100 samples
whereami learn -l kitchen # default is n=100
# cross-validated accuracy on historic data
whereami crossval
# 0.99319
# use in other applications, e.g. by piping the most likely answer:
whereami predict | say
# Computer Voice says: "bedroom"
# probabilities per class
whereami predict_proba
# {"bedroom": 0.99, "kitchen": 0.01}
For those interested: when you have ~8 different WiFi networks nearby, scanning to find out how well the connection is for each (or whether it is “missing”) are great features in distinguishing whether you are in place A or place B.
It works with 99% accuracy for me based on 10 meters, and around 75% between Couch 1 and Couch 2 (2 meters apart).