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/ttyUSB0Build binary on Linux - e.g. for running on Raspberry Pi:
CGO_ENABLED=0 go build -a -o fdf-console-monitor ./cmd/fdf-console-monitorGrant only specific capabilities instead of full root access:
sudo setcap 'cap_net_raw,cap_net_admin+eip' ./fdf-console-monitorRun as non-root:
./fdf-console-monitor --name "FDF Rower" --port /dev/ttyUSB0Prerequisites for development:
macOS
brew install pre-commit commitizen golangci-lintSet up pre-commit hooks:
pre-commit install && pre-commit install --hook-type commit-msg && pre-commit runUses go-ble for BLE communication