The Framework for Internal Navigation and Discovery (FIND) is like indoor GPS for your house or business, using only a simple smartphone or laptop.
This version, 3.X, is a complete re-write of the previous versions 2.x.
This repository is a complete re-write of the previous version of FIND (github.com/schollz/find). There are notable improvements from 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 stringsizer)
- Data storage in SQLITE-database (previously it was BoltDB)
The API for sending fingerprints (/track
and /learn
) and MQTT endpoints are backward compatible.
FIND3 is in the beta stage. Its ready for use, with possible bugs.
FIND3 is a framework with multiple components. There are three repositories that have the components, including:
- Data storage server (this repo)
- Machine learning server (this repo)
- Command-line tool for gathering fingerprints (schollz/find3-cli-scanner)
- Android app for gathering fingerprints (schollz/find3-android-scanner)
Please report issues through this repo's issue tracker.
Subscribe to the Slack channel to get latest information about the project and get help.
Use the FIND mailing list for discussion about use and development.
MIT