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.
About the project
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)
- Released under MIT license (more commercially compatible than AGPL)
The API for sending fingerprints (/track
and /learn
) and MQTT endpoints are backward compatible.
Status
FIND3 is stable and ready for use.
Contributing
FIND3 is a framework with multiple components. There are multiple 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)
- ESP code for gathering fingerprints with ESP8266/ESP32 (DatanoiseTV/esp-find3-client)
Reporting issues
Please report issues through this repo's issue tracker.
Community
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.
License
MIT