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.
|
||
---|---|---|
.gitignore | ||
README.md | ||
env.sh | ||
go.mod | ||
go.sum | ||
main.go |
README.md
embedded-bt-rssi-monitor
A bluetooth RSSI monitor to run on a tiny system such as a microcontroller or single board computer.
Vulnerability
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.
Usage
Configure env.sh with the devices you want to monitor. The environment variables must have an _%d suffix, in series, starting from 0.
#/bin/bash
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