The Framework for Internal Navigation and Discovery (FIND) is like GPS, but for your every room in your house/business, with using only a simple smartphone or laptop.
Your device (laptop or a smartphone) tracks itself by actively scanning for nearby Bluetooth/WiFi devices and records their signal strengths and classifying them based on known signal strengths for a given location.
This repository is a complete re-write of the previous version of FIND (github.com/schollz/find). The API for sending fingerprints (/track and /learn) is backward compatible. There are several notable improvements on the previous version:
- Support for any data source, Bluetooth / WiFi / magnetic fields / etc. (previously just WiFi)
- Passive scanning built-in (previously required a separate server)
- Support for Bluetooth scanning in scanning utility (previously just WiFi)
- Meta-learning with 10 different machine learning classifiers (previously just three)
- Client uses Websockets+React which reduces bandwidth (and coding complexity)
- Rolling compression of mac addresses for much smaller on-disk databases (see mapslimmer)
- Data storage in SQLITE-database (previously it was BoltDB)