Expose a First Degree Fitness water rower as BLE (Bluetooth Low Energy) peripheral providing Fitness Machine Service (FTMS) rower data.
Tested with First Degree Fitness NEON plus water rower which comes with the (basic) FDF Console and a serial interface.
Run:
go run ./cmd/fdf-console-monitor --name "FDF Rower" --port /dev/ttyUSB0
Build binary on Linux - e.g. for running on Raspberry Pi:
CGO_ENABLED=0 go build -a -o fdf-console-monitor ./cmd/fdf-console-monitor
Grant only specific capabilities instead of full root access:
sudo setcap 'cap_net_raw,cap_net_admin+eip' ./fdf-console-monitor
Run as non-root:
./fdf-console-monitor --name "FDF Rower" --port /dev/ttyUSB0
Prerequisites for development:
macOS
brew install pre-commit commitizen golangci-lint
Set up pre-commit hooks:
pre-commit install && pre-commit install --hook-type commit-msg && pre-commit run
Uses go-ble for BLE communication