FIND Framework for Internal Navigation and Discovery

FIND is an open source indoor locating system for home automation, indoor local positioning and passive tracking. It uses your smartphone or laptop to pinpoint your position in your home or office with a location precision of below 10 sq ft.

FIND uses scanning of WiFi and Bluetooth:

FIND compiles these different signals can be compiled into a fingerprint which can be used to uniquely classify the current location of that device

Read the documentation, the FAQ and source code on GitHub.