A "something you have" authentication factor that has some limited, but great practical applications. You can monitor any Bluetooth MAC address and perform specific actions based on set receive signal strength indicator thresholds. Supports hysteresis to prevent flapping. My own practical application was monitoring my phone's MAC address and signal strength. Using that, automatically unlocking my toolbox when I'm nearby, and automatically locking it when I'm more than 15'ish feet away.
Go to file
Steven Polley bd01b8f146 A note on vulnerability 2023-07-01 10:30:36 -06:00
.gitignore initial commit 2023-07-01 10:16:12 -06:00
README.md A note on vulnerability 2023-07-01 10:30:36 -06:00
env.sh add example env.sh 2023-07-01 16:24:05 +00:00
go.mod initial commit 2023-07-01 10:16:12 -06:00
go.sum initial commit 2023-07-01 10:16:12 -06:00
main.go initial commit 2023-07-01 10:16:12 -06:00



A bluetooth RSSI monitor to run on a tiny system such as a microcontroller or single board computer.


As no formal pairing is completed, this is susceptible to MAC address spoofing, and so should only be used when paired with additional authentication factors.


Configure env.sh with the devices you want to monitor. The environment variables must have an _%d suffix, in series, starting from 0.


export btmacaddress_0="69:42:69:FF:04:20" # your phone
export btmacaddress_1="0F:F0:0F:F6:44:55" # your smart watch
export btmacaddress_2="0F:44:24:F5:69:69" # your tablet

Then source the env.sh file to load the variables, build the program with go and then run it.

source env.sh
go build . && ./embedded-bt-rssi-monitor