A lightweight BLE-based remote control system for Raspberry Pi. Control your Pi via WebBluetooth from any Chrome browser or mobile device.
- 🔵 BLE GATT Server — Nordic UART Service (NUS) compatible
- 📱 PWA Webapp — Installable, works offline
- ⚙️ External Apps — Trigger scripts and REST APIs via BLE
- 🔧 Configurable — TOML-based configuration
┌─────────────────┐ BLE ┌─────────────────┐
│ Chrome PWA │ ◄──────────────────► │ Raspberry Pi │
│ (WebBluetooth)│ │ (blerc) │
└─────────────────┘ └─────────────────┘
│
▼
┌───────────────┐
│ External Apps │
│ - CLI scripts │
│ - REST APIs │
└───────────────┘
# Rust binary (cross-compile for Pi)
cd blerc && make build
# Webapp
cd webapp && yarn install && yarn buildmkdir -p ~/.config/blerc
cp config/config.example.toml ~/.config/blerc/config.toml./blerc --debugOpen the webapp in Chrome and click "Scan & Connect".
| Document | Description |
|---|---|
| docs/CONFIGURATION.md | Configuration reference |
| docs/PROTOCOL.md | BLE command protocol |
| docs/DEVELOPMENT.md | Building & deployment guide |
| docs/TROUBLESHOOTING.md | Troubleshooting & security |
| docs/dep_versions.md | Dependency versions |
- Pi: Raspberry Pi 3B+, BlueZ 5.50+, RPi OS Bullseye+
- Dev: Rust 1.83+, Node.js 18+, Docker (for cross-compilation)
MIT