Skip to content

skittleson/bluetooth-wos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bluetooth "Wall of Sheep"

A little app that discovers bluetooth devices near by and displays them on a board.

✨ Demo

Interactive app

✅ Features

  • The "Wall of Sheep". A list of all bluetooth devices and useful information.
  • Writes a current device list to a csv file.
  • Identifies the company of a device using a public listing.
  • Calculates distance from transmitter and receiver of a device with TX Power and RSSI.
  • Removes devices that have not been present for certain amount of time. This combats the "private resolvable random addresses" feature that prevents tracking of devices.
  • Highlights devices that tend to "stick around"
  • Hide device addresses from screen

🚀 Quick Start

pip install -r requirements.txt

python index.py

Development

python -m pylint $(git ls-files '*.py')

🛠️ Build Portable

pyinstaller index.py -F -n bluetooth-wos

🛣️ Roadmap

  • Resolve services by name
  • Estimates distance from transmitter and receiver of a device given ONLY RSSI if know distance values are present.
  • Configurable columns
  • Load spinner on first load. It's boring to see nothing in a table
  • Fingerprint devices that keep changing MAC addresses
  • Show adv data
  • Go into service data
  • Resolve common service->characteristics such as temp/humidity
  • attempt to keep same indexes of current devices

🤝 Contributing

Contributions, issues and feature requests are welcome.
Feel free to check issues page if you want to contribute.

Author

👤 Spencer Kittleson

Show your support

⭐️ this repository if this project helped you! It motivates me a lot! 👋

Buy me a coffee ☕: skittles

Built with ♥

  • python
  • rich
  • bleak
  • ruamel.yaml

📑 References