
Gymnasticon ermöglicht veraltete und/oder proprietäre Übungsräder, mit Zwift und anderen Trainings -Apps zu arbeiten. Die Unterstützung für neue Fahrräder kann leicht hinzugefügt werden. Das folgende Diagramm zeigt ein Beispiel dafür, wie es mit dem Flywheel Home Bike funktioniert.

Jegliche Software, Fahrradcomputer oder Uhr, die Standard -Bluetooth -LE- und Ant+ Power -Meter- und Cadence -Sensoren unterstützt, sollte funktionieren, einschließlich:
Raspberry Pi Zero W wird für die beste Benutzererfahrung empfohlen. Jedes Linux- oder MacOS -System sollte in der Lage sein, Gymnasticon zu betreiben.
HINWEIS: Wenn Sie ein Bluetooth Le Bike (z. B. Schwungrad) verwenden, ist ein Bluetooth LE 4.1+ -Atapter mit mehreren Rollenfunktionen erforderlich. Alle oben aufgeführten Himbeer -Pi -Geräte haben diese Funktion, aber nicht jeder BT 4.1+ -Anadapter hat es garantiert. Alternativ können zwei BT 4.0+ -Anadapter auch funktionieren: eine für den Client (um eine Verbindung zum Fahrrad herzustellen) und eine für den Server (um Verbindungen von Zwift oder einer anderen App zu empfangen).

Dies ist der einfachste Weg, um auf einem Raspberry Pi aufzusteigen.
Voraussetzungen:
dd(1)Schritte:
dd auf die SD -KarteKonfigurationsdatei:
Wenn Sie ein anderes Fahrrad als Schwungrad oder Peloton verwenden - erstellen und passen Sie eine gymnasticon.json -Datei im Hauptordner der SD -Karte an. Es sollte im selben Ordner wie bootcode.bin , cmdline.txt , config.txt usw. landen.
Das folgende Beispiel konfiguriert Gymnasticon, um nach einem Schwinn IC4 -Fahrrad zu suchen und seine Leistungsmesswerte um 8%zu verringern:
{
"bike": "ic4",
"power-scale": 0.92
}
Das folgende Beispiel konfiguriert Gymnasticon, um nach einem Fahrrad für Keiser M -Serie zu suchen:
{
"bike": "keiser"
}
Weitere Konfigurationsoptionen finden Sie unten.
Während des ersten Boot-Gymnasticon aktiviert Gymnasticon das Overlay-Dateisystem für das Root-Dateisystem ("/") und den Montieren "/Boot" als schreibgeschützt. Dies verringert das Risiko einer tödlichen Korruption des Dateisystems als Folge von EG -Leistungsfehlern, erweitert aber auch die Lebensdauer der SD -Karte durch Minimierung des Verschleißes.
Eine saubere Abschaltung von Gymnasticon ist daher nicht erforderlich. Halten Sie einfach Ihren Raspberry Pi in den Laufen.
Es ist weiterhin möglich, Networking und Remote -Zugriff einzurichten, damit Sie Protokolle überprüfen oder an Entwicklungsarbeiten teilnehmen können. Dieser Modus ist jedoch weder notwendig noch für typische Benutzer empfohlen.
HINWEIS: Dieses geänderte PI -Betriebssystem verhalten sich gleichwertig mit den PI -OS -Bildern in Bezug auf die
wpa_supplicant.confundssh-Dateien nur während des ersten Starts. Dies bedeutet, dass die WLAN- und SSH -Einstellungen Teil des Unterlagensystems werden und über nachfolgende Neustarts hinweg bestehen. Durch das Platzieren einerwpa_supplicant.confoderssh-Datei auf der Startpartition nach dem ersten Start wird die Einstellungen nicht über Neustarts hinweg angehalten. Beachten Sie auch, dass in diesem Fallwpa_supplicant.confundssh-Dateien entfernt und während eines anderen Neustarts nicht verfügbar sind.
Sie können das Root-Dateisystem zwischen schreibgeschütztem und Leseschreiben ändern, aber auch den aktuellen Modus mit dem Befehl overctl anzeigen.
Schwungradfahrrad
Peloton -Fahrrad (mit passiver Verkabelung)
Probieren Sie zuerst den schnellen Start. Ansonsten lesen Sie weiter, wie Sie Gymnasticon und seine Abhängigkeiten manuell installieren.
Abhängigkeiten:
Node.js 12.16.1+
Unter Linux (einschließlich Raspberry Pi)
sudo apt-get install libudev-dev (erforderlich durch Node-Bluetooth-Hci-Socket)Hinweis: Ihr Benutzer muss die Berechtigung haben, auf den Bluetooth -Adapter zuzugreifen und Dienste zu werben.
Installieren:
npm install -g gymnasticon
gymnasticon
Als unzügiger Benutzer zu laufen:
# this gives cap_net_raw+eip to all node programs not just gymnasticon
sudo setcap cap_net_raw+eip $(eval readlink -f $(which node))
Um zur Kartonzeit zu laufen, starten Sie das Ausgang neu und vermeiden Sie es cap_net_raw+eip an den Knoten -Binary zu geben. Es wird empfohlen, unter Systemd ausgeführt zu werden. Eine Beispiel -Systemd -Einheit -Datei finden Sie in der deploy/gymnasticon.service aus diesem Repository.
sudo cp gymnasticon.service /etc/systemd/system
sudo systemctl enable gymnasticon
sudo systemctl start gymnasticon
Um die Ausgabe von Gymnasticon zu sehen, die unter Systemd ausgeführt werden:
journalctl -u gymnasticon -f
Hinweis: Die folgenden CLI -Optionen können auch in der Konfigurationsdatei verwendet werden.
--bike ic4in der Befehlszeile entspricht{"bike":"ic4"}in der Konfigurationsdatei.
$ gymnasticon --help
__o
_ <_
(_)/(_)
Gymnasticon
v1.4.0
usage: gymnasticon [OPTIONS]
Options:
--config <filename> load options from json file [string]
--bike <type>
[string] [choices: "flywheel", "peloton", "ic4", "keiser", "bot",
"autodetect"] [default: "autodetect"]
--bike-connect-timeout <seconds> [number] [default: 0]
--bike-receive-timeout <seconds> [number] [default: 4]
--bike-adapter <name> for bike connection [default: "hci0"]
--flywheel-address <macaddr>
--flywheel-name <name>
--peloton-path <path> usb serial device path
[string] [default: "/dev/ttyUSB0"]
--bot-power <watts> initial bot power [number]
--bot-cadence <rpm> initial bot cadence [number]
--bot-host <host> for power/cadence control over udp [string]
--bot-port <port> for power/cadence control over udp [number]
--server-adapter <name> for app connection [default: "hci0"]
--server-name <name> used for Bluetooth advertisement
[default: "Gymnasticon"]
--server-ping-interval <seconds> ping app when user not pedaling
[number] [default: 1]
--ant-device-id <id> ANT+ device id for bike power broadcast
[number] [default: 11234]
--power-scale <value> scale watts by this multiplier
[number] [default: 1]
--power-offset <value> add this value to watts [number] [default: 0]
--version Show version number [boolean]
-h, --help Show help [boolean]
git clone https://github.com/ptx2/gymnasticon.git
cd gymnasticon
npm run build
npm link
gymnasticon --help
Es sollte trivial sein, andere proprietäre Motorräder zu unterstützen, solange es ein Mittel gibt, um Echtzeit-Kadenz-/Machtdaten von ihnen zu erhalten.
MIT
Lesen Sie hier die Entwicklungsnotizen.