
يتيح Gymnasticon أن يمارس دراجات التمرينات القديمة و/أو الملكية للعمل مع Zwift وغيرها من تطبيقات التدريب. يمكن إضافة دعم الدراجات الجديدة بسهولة. يوضح الرسم البياني أدناه مثالًا على كيفية عمله مع دراجة Flywheel Home.

يجب أن تعمل أي برنامج أو كمبيوتر دراجة أو مشاهدة يدعم Bluetooth LE و ANT+ Power Meter وأجهزة استشعار الإيقاع ، بما في ذلك:
ينصح Raspberry Pi Zero W بأفضل تجربة مستخدم. يجب أن يكون أي نظام Linux أو MacOS حديثًا قادرًا على تشغيل الجمباز.
ملاحظة: إذا كان استخدام Bluetooth LE Bike (على سبيل المثال دولاب الموازنة) محول Bluetooth LE 4.1+ مع إمكانية متعددة الأدوار مطلوب. تحتوي جميع أجهزة Raspberry Pi المدرجة أعلاه على هذه الإمكانية ولكن ليس كل محول BT 4.1+ مضمون للحصول عليها. بدلاً من ذلك ، يمكن أن يعمل اثنان من محولات BT 4.0+ أيضًا: أحدهما للعميل (للاتصال بالدراجة) وواحد للخادم (لتلقي الاتصالات من Zwift أو تطبيق آخر).

هذه هي أسهل طريقة للاستعداد والجري على التوت.
المتطلبات الأساسية:
dd(1)خطوات:
ddملف التكوين:
إذا كنت تستخدم دراجة أخرى غير دولاب الموازنة أو Peloton - قم بإنشاء ملف gymnasticon.json وتكييفه داخل المجلد الرئيسي لبطاقة SD. يجب أن ينتهي الأمر في نفس المجلد مثل bootcode.bin ، cmdline.txt ، config.txt ، إلخ.
يقوم المثال التالي بتكوين Gymnasticon للبحث عن دراجة Schwinn IC4 وتقليل قيم قياس الطاقة بنسبة 8 ٪:
{
"bike": "ic4",
"power-scale": 0.92
}
يهيئ المثال التالي Gamnasticon للبحث عن دراجة سلسلة Kizer M:
{
"bike": "keiser"
}
انظر أدناه للحصول على خيارات التكوين الإضافية.
أثناء First Boot Gymnasticon ، يتيح نظام ملفات التراكب لنظام ملفات الجذر ("/") و Mounts "/boot" على أنه قراءة فقط. هذا يقلل من خطر الفساد المميت في نظام الملفات نتيجة فشل EG في الطاقة ، ولكنه يمتد أيضًا عمر بطاقة SD عن طريق تقليل التآكل.
وبالتالي ، فإن الإغلاق النظيف للجمبازون ليس ضروريًا. فقط حافظ على توصيل Raspberry Pi الخاص بك وتشغيله.
لا يزال من الممكن إعداد الشبكات والوصول عن بُعد حتى تتمكن من التحقق من السجلات ، أو المشاركة في أعمال التطوير. ولكن هذا الوضع ليس ضروريًا ، ولا ينصح به للمستخدمين النموذجيين.
ملاحظة: سوف تتصرف صورة PI OS المعدلة هذه معادلة لتخزين صور PI OS فيما يتعلق بملفات
wpa_supplicant.confوsshفقط أثناء التمهيد الأول. هذا يعني أن إعدادات WiFi و SSH تصبح جزءًا من نظام الملفات السفلي وتستمر عبر إعادة التشغيل اللاحقة. إن وضع ملفwpa_supplicant.confأوsshعلى قسم التمهيد بعد الحذاء الأول سيؤدي إلى عدم استمرار الإعدادات عبر إعادة التشغيل. لاحظ أيضًا أنه في هذه الحالة ، تتم إزالة ملفاتwpa_supplicant.confوsshوغير متوفرة أثناء إعادة تشغيل أخرى.
يمكنك تغيير نظام ملفات الجذر بين وضع القراءة فقط وموضع القراءة والكتابة ، ولكن أيضًا إظهار الوضع الحالي باستخدام الأمر overctl .
دراجة دولاب الموازنة
دراجة بيلوتون (مع الأسلاك السلبية)
جرب البداية السريعة أولاً. بخلاف ذلك ، اقرأ عن كيفية تثبيت Gymnasticon وتبعياتها يدويًا.
التبعيات:
Node.js 12.16.1+
على Linux (بما في ذلك Raspberry Pi)
sudo apt-get install libudev-dev (المطلوبة بواسطة مقبس bluetooth-hci)ملاحظة: يجب أن يكون لدى المستخدم إذن للوصول إلى محول Bluetooth والإعلان عن الخدمات.
ثَبَّتَ:
npm install -g gymnasticon
gymnasticon
لتشغيله كمستخدم غير محظور:
# this gives cap_net_raw+eip to all node programs not just gymnasticon
sudo setcap cap_net_raw+eip $(eval readlink -f $(which node))
لتشغيله في وقت التمهيد ، أعد التشغيل عند الخروج ولتجنب إعطاء cap_net_raw+eip إلى العقدة الثنائية ، يوصى بتشغيلها تحت SYSTEMD. راجع خدمة deploy/gymnasticon.service من هذا المستودع للحصول على مثال على ملف وحدة النظام.
sudo cp gymnasticon.service /etc/systemd/system
sudo systemctl enable gymnasticon
sudo systemctl start gymnasticon
لعرض إخراج Gymnasticon الذي يعمل تحت SystemD:
journalctl -u gymnasticon -f
ملاحظة: يمكن أيضًا استخدام خيارات CLI أدناه في ملف التكوين.
--bike ic4على سطر الأوامر هو نفس{"bike":"ic4"}في ملف التكوين.
$ 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
يجب أن يكون من التافهة إضافة دعم للدراجات الملكية الأخرى ، طالما أن هناك وسيلة للحصول على بيانات الإيقاع/الطاقة في الوقت الفعلي منها.
معهد ماساتشوستس للتكنولوجيا
اقرأ ملاحظات التطوير هنا.