Theengs Explorer is a text user interface to discover BLE devices and show their raw advertisement data and decoded data. It leverages the Theengs Decoder library. It decodes data from a wide range of BLE sensors; LYWSD03MMC, CGD1, CGP1W, H5072, H5075, H5102, TH1, TH2, BBQ, CGH1, CGDK2, CGPR1, RuuviTag, WS02, WS08, TPMS, MiScale, LYWSD02, LYWSDCGQ, MiFlora, ...
Theengs Explorer is still in early development. To try the development version, install its dependencies Theengs Decoder, Textual, bluetooth-numbers and humanize and run it like this:
python3 TheengsExplorer/__init__.py
You can use some optional arguments:
$ python3 TheengsExplorer/__init__.py --help
usage: __init__.py [-h] [-a ADAPTER] [-s {active,passive}] [-t {celsius,fahrenheit}]
optional arguments:
-h, --help show this help message and exit
-a ADAPTER, --adapter ADAPTER
Bluetooth adapter (e.g. hci1 on Linux)
-s {active,passive}, --scanning-mode {active,passive}
Scanning mode (default: active)
-t {celsius,fahrenheit}, --temperature-unit {celsius,fahrenheit}
Temperature unit (default: celsius)
Passive scanning only works on Windows or Linux kernel >= 5.10 and BlueZ >= 5.56 with experimental features enabled.
To enable experimental features in BlueZ on a Linux distribution that uses systemd, run the following command:
sudo systemctl edit bluetooth.service
Then add the following lines:
[Service]
ExecStart=
ExecStart=/usr/lib/bluetooth/bluetoothd --experimental
Save and close the file and then run the following commands:
sudo systemctl daemon-reload
sudo systemctl restart bluetooth.service
Note that currently Theengs Explorer has only been tested on Linux, but all libraries it depends on work on Linux, Windows and macOS. If you try it on Windows and macOS and you encounter problems, please let us know in an issue or a discussion.