يتم استخدام MVVMcross.plugin.ble و Plugin.ble لاكتشاف جهاز Bluetooth Low Energy (BLE) ، لكنهم يتعاملون مع هذه العملية بشكل مختلف بناءً على بنيةهم وتنفيذها.
mvvmcross.plugin.ble
تم تصميم MVVMCROSS.PLUGIN.BLE للعمل في إطار MVVMCROSS ، مما يوفر نهجًا منظمًا لاكتشاف الجهاز. إنه يسجل `ibluetoothle" و `iadapter` كأعمان مسجلة كسول ، مما يسمح للمطورين بحل هذه الخدمات في نماذج عرضهم أو مكونات أخرى. يدعم هذا البرنامج المساعد منصات Android و iOS و MacOS و Windows.
لاكتشاف الأجهزة باستخدام mvvmcross.plugin.ble ، يمكنك عادةً استخدام `crossbluetoothle.current.adapter` للوصول إلى المحول. ومع ذلك ، لا يتم تفصيل طرق محددة لمسح الأجهزة أو اكتشافها بشكل صريح في وثائق البرنامج المساعد. بدلاً من ذلك ، يعتمد على تطبيق "Crossbluetoothle" الأساسي ، والذي يستخدم عادة في مشاريع Xamarin.
يتيح لك المكون الإضافي التحقق من حالة Bluetooth والاستماع إلى تغييرات الحالة ، وهو أمر مفيد لإدارة اكتشاف الجهاز استنادًا إلى حالة Bluetooth الحالية. للمسح الفعلي ، يمكنك عادةً استخدام طرق مماثلة لتلك الموجودة في تطبيق الفانيليا crossbluetoothle` ، مثل الوصول إلى المحول واستخدام أساليبها لبدء المسح.
Plugin.ble (Crossbluetoothle)
يعد البرنامج المساعد ، الذي يشار إليه غالبًا باسم Crossbluetoothle ، مكونًا إضافيًا أكثر عامة للوصول إلى وظائف BLE عبر منصات متعددة ، بما في ذلك Android و iOS. يوفر طريقة مباشرة لاكتشاف أجهزة BLE باستخدام "crossbluetoothle.current.adapter" لبدء المسح.
لاكتشاف الأجهزة باستخدام Crossbluetoothle ، يمكنك عادةً استخدام طرق المحول لبدء فحص. يدعم المكون الإضافي اكتشاف جميع الأجهزة المعلن عنها أو الأجهزة ذات الخدمات المعلنة المحددة أو الأجهزة التي تتطابق مع مرشح مخصص. بمجرد اكتشاف الأجهزة ، يمكنك الاتصال بها واستكشاف خدماتها وخصائصها ، وإجراء عمليات القراءة/الكتابة أو الاشتراك في الإشعارات.
فيما يتعلق باكتشاف الجهاز ، يوفر Crossbluetoothle التحكم المباشر في عملية المسح مقارنةً بـ MVVMCROSS.Plugin.ble. يسمح للمطورين بتحديد مرشحات لاكتشاف الأجهزة ذات الخدمات أو الخصائص المحددة ، مما يجعلها أكثر تنوعًا للتطبيقات التي تحتاج إلى التفاعل مع مجموعة متنوعة من أجهزة BLE.
مقارنة
- الهندسة المعمارية: تم تصميم MVVMCROSS.PLUGIN.BLE خصيصًا للاستخدام في إطار MVVMCROSS ، مما يوفر خدمات يمكن حقنها في نماذج العرض. Plugin.ble (crossbluetoothle) أكثر عامة ويمكن استخدامه في أي مشروع قائم على Xamarin.
- اكتشاف الجهاز: يعتمد كلا الإضافات على تطبيق BLE الأساسي لاكتشاف الجهاز. ومع ذلك ، يوفر Crossbluetoothle المزيد من الوصول المباشر إلى طرق المسح والمرشحات ، مما يسهل تخصيص عملية الاكتشاف. لا تفصل وثائق MVVMCROSS.PLUGIN.BLE بشكل صريح عن طرق المسح ، مما يشير إلى أنه قد يعتمد على المطور لاستخدام وظيفة Crossbluetoothle الأساسية.
- دعم النظام الأساسي: يدعم كل من الإضافات Android و iOS ، لكن mvvmcross.plugin.ble يذكر أيضًا دعم MacOs و Windows ، والتي قد تكون مفيدة للتطبيقات عبر الطورة التي تستهدف هذه المنصات.
باختصار ، على الرغم من أن كلا الإضافات يمكّن اكتشاف جهاز BLE ، فإن mvvmcross.plugin.ble أكثر دمجًا مع إطار عمل MVVMCROSS وقد يتطلبان إعدادًا أو اعتمادًا إضافيًا على وظيفة crossbluetoothle الأساسية للمسح. يوفر Plugin.ble (Crossbluetoothle) مقاربة أكثر وضوحًا لاكتشاف الجهاز مع الوصول المباشر إلى طرق المسح والمرشحات.
الاستشهادات:[1] https://www.nuget.org/packages/mvvmcross.plugin.ble/
[2] https://github.com/don/cordova-plugin-ble-central
[3] https://github.com/xabre/xamarin-luetooth-le/issues/524
[4] https://github.com/mrozema/xamarin-luetooth-le
[5] https://developer.android.com/develop/connectivity/bluetooth/ble/find-ble-devices
[6] https://punchthrough.com/ble-connectivity-architecture/
[7] https://smstuebe.de/2016/05/13/blev1.0/
[8] https://github.com/dotnet-luetooth-le/dotnet-luetooth-le
[9] https://stackoverflow.com/questions/38327176/xamarin-forms-plugins-ble-mvvmcross-plugins-ble