
توثيق بروتوكول BLE لـ Osmo Mobile

يستكشف هذا المستودع بروتوكول Bluetooth Low Energy (BLE) المستخدم من قبل سلسلة جيمبال Osmo Mobile.
التطبيقات الرسمية للهواتف المحمولة قديمة وتتطلب أذونات نظام واسعة. ومع ذلك، تتواصل الجيمبال نفسها عبر بروتوكول BLE بسيط.
الهدف من هذا المشروع هو توثيق ذلك البروتوكول بطريقة مفتوحة وقابلة للتكرار، مما يتيح التحكم في الجهاز من أي مضيف بلوتوث، مثل كمبيوتر محمول.
هذا المشروع هو للأغراض التعليمية وقابلية التشغيل البيني فقط. لا يتم توزيع أي برامج أو برامج ثابتة مملوكة في هذا المستودع.
إن Osmo Mobile 2 (OM2) هو الجيمبال الوحيد في السلسلة الذي لا يزال بالإمكان تشغيله باستخدام Mobile SDK الرسمي.
الخطة هي أولاً بناء تطبيق Android بسيط (انظر sdk-app) يمكنه اكتشاف الجهاز والاتصال به، ثم إرسال أوامر الدوران مع معلمات دقيقة وقابلة للتحكم. بعد ذلك، تطوير أداة اعتراض لالتقاط وتحليل حركة مرور BLE الناتجة عن التطبيق.
شاهده قيد التشغيل على imgur.
تم اختباره على: OM2، OM3، OM4.
duml.py - محلل أساسي لحزم DUML؛ يتبع الجيمبال نفس البروتوكول المستخدم في منتجات أخرى، مثل Mavicgimbal.py - سائق يتعامل مع الاتصال، اكتشاف MTU، كتابة أوامر الإخراج والاشتراك في قناة الإشعاراتrotate.py - برنامج مثال، يصدر عدة أوامر دوران إلى الجيمبال[!NOTE] في Linux/BlueZ، تأكد من أن الجهاز غير متصل حاليًا بنظامك، وإلا فلن يتمكن Bleak من الاتصال
نموذج إثبات مفهوم آخر هو واجهة ويب مبنية على واجهة Web Bluetooth API في web-bluetooth. يوفر وحدة تحكم بسيطة داخل المتصفح لتدوير الجيمبال.
يمكنك تجربته على om-research.flab.dev