使用 Zwift Click、Zwift Play、Shimano Di2,或任何藍牙控制器搭配 MyWhoosh、Rouvy、Zwift 等。可於 iOS、Android、Windows 與 macOS 免費試用。
AI 翻譯
Use Zwift Click, Zwift Play, Shimano Di2, or any Bluetooth controller with MyWhoosh, Rouvy, Zwift, and more. Free to try on iOS, Android, Windows, and macOS.
運動與健身Dart · TypeScriptGitHub @OpenBikeControl上線中營運者未確認
試用過了嗎? 點一下就好,不需要登入。
在任何騎乘應用程式中使用 Zwift Play、Zwift Click、Zwift Ride 或其他控制器,實現虛擬變速(以及更多功能)!
AI 翻譯
Do Virtual Gear Shifting (and more) in any rider app with your Zwift Play, Zwift Click, Zwift Ride or any other controller out there!
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
With BikeControl you can control your favorite trainer app using your Zwift Click, Zwift Ride, Zwift Play, Shimano Di2, or other similar devices. Here's what you can do with it, depending on your configuration:
• Add Virtual Shifting for trainer apps that do not support it natively
• Adjust Virtual Shifting to your liking: change the number of gears, adjust the gear ratios, and more
• Steering / navigation
• adjust workout intensity
• control music on your device
• create screenshots or launch any command / shortcut
• gestures: single click, double click, long press, etc.檢視完整 README ↗With BikeControl you can control your favorite trainer app using your Zwift Click, Zwift Ride, Zwift Play, Shimano Di2, or other similar devices. Here's what you can do with it, depending on your configuration:
You can also connect your smart trainer directly to BikeControl to:
Best follow our landing page and the "Get Started" button: bikecontrol.app to understand on which platform you want to run BikeControl. A testing period is available, allowing you to try out the full functionality of BikeControl:
(or direct download for Windows here)
Support for other devices can be added; check the issues tab here on GitHub.
Follow the "Get Started" button over at bikecontrol.app to understand on which platform you want to run BikeControl. You can even try it out in your Browser, if it supports Bluetooth connections. No controlling possible, though.
Check the troubleshooting guide here.
BikeControl is for the trainer. For outdoor rides there's BikeOtter, my companion app for Wahoo ELEMNT and Garmin Edge bike computers: plan a route, send it with water and café stops straight to the unit over Bluetooth, pull rides off it without the cloud, and share a live map with friends.
The app connects to your Controller devices (such as Zwift ones) automatically. BikeControl uses different methods of connecting to the trainer app, depending on the trainer app and operating system:
git clone https://github.com/OpenBikeControl/bikecontrol.git
cd bikecontrol
flutter pub get
# The localization accessors under lib/gen/ are generated, not committed.
flutter pub global activate intl_utils
flutter pub global run intl_utils:generate
flutter build apk --debug # or: flutter run
prop submodule.gitmodules references a private prop repository. You do not need it, and
git submodule update --init is expected to fail for you — leave it
uninitialised.
prop holds the trainer/controller emulator implementations, which are not
open source. If you want to have a look at it, contact me :)
The repository ships prop_public/, an API-compatible stub of the
same package, and pubspec.yaml points at it. A clone therefore builds,
analyzes and runs against the stub without any extra setup.
What that means in practice: the app launches and the UI, settings, localization and non-emulator code are all fully buildable and hackable, but the stubbed calls are inert, so trainer emulation and virtual shifting do not actually do anything in a build made this way. If you need the full implementation, get in touch.
Release APKs are signed with a key that is not in the repository. When
android/keystore.properties is absent the release build falls back to the
debug key, so flutter build apk --release works from a plain clone.
flutter test runs, except for 11 of the 297 test files which exercise the
emulator implementations themselves and import test seams from prop. Those
need the private package; the rest of the suite does not.