MVVMCross.plugin.Ble ve Plugin.Ble, Bluetooth Düşük Enerji (BLE) cihaz keşfi için kullanılır, ancak bu işlemi mimarilerine ve uygulamalarına göre farklı şekilde ele alırlar.
mvvmcross.plugin.ble
MVVMCross.plugin.Ble, BLE cihaz keşfine yapılandırılmış bir yaklaşım sağlayarak MVVMCross çerçevesinde çalışmak üzere tasarlanmıştır. `` Ibluetoothle '' ve `iadapter '' ı tembel-initize edilmiş singletonlar olarak kaydederek geliştiricilerin bu hizmetleri görüş modellerinde veya diğer bileşenlerinde çözmelerine izin verir. Bu eklenti Android, iOS, macOS ve Windows platformlarını destekler.
MVVMCross.plugin.ble kullanan cihazları keşfetmek için, adaptöre erişmek için genellikle `CrossBluetoothle.Current.Adapter` kullanırsınız. Bununla birlikte, cihazları taramak veya keşfetmek için özel yöntemler eklentinin belgesinde açıkça ayrıntılı olarak açıklanmamıştır. Bunun yerine, Xamarin tabanlı projelerde yaygın olarak kullanılan altında yatan 'Crossbluetoothle' uygulamasına dayanmaktadır.
Eklenti, Bluetooth durumunu kontrol etmenizi ve mevcut Bluetooth durumuna göre cihaz keşfini yönetmek için yararlı olan durum değişikliklerini dinlemenizi sağlar. Gerçek tarama için, genellikle adaptöre erişmek ve taramaya başlamak için yöntemlerini kullanmak gibi vanilya `crossbluetoothle` uygulamasındakilere benzer yöntemler kullanırsınız.
Plugin.ble (CrossBluetoothle)
Genellikle CrossBluetoothle olarak adlandırılan Plugin.Ble, Android ve iOS dahil olmak üzere birden fazla platformda BLE işlevselliğine erişmek için daha genel bir eklentidir. Taramaya başlamak için `CrossBluetoothle.Current.Arrent.Arrent` kullanarak BLE cihazlarını keşfetmenin basit bir yolunu sunar.
Crossbluetoothle ile cihazları keşfetmek için, genellikle bir tarama başlatmak için adaptörün yöntemlerini kullanırsınız. Eklenti, reklamı yapılan tüm cihazları, belirli reklamı yapılan hizmetlere sahip cihazları veya özel bir filtreye uygun cihazları keşfetmeyi destekler. Cihazlar keşfedildikten sonra, bunlara bağlanabilir, hizmetlerini ve özelliklerini keşfedebilir, okuma/yazma işlemleri gerçekleştirebilir veya bildirimlere abone olabilirsiniz.
Cihaz keşfi açısından CrossBluetoothle, tarama işlemi üzerinde mvvmcross.plugin.ble'a kıyasla daha doğrudan kontrol sunar. Geliştiricilerin belirli hizmetlere veya özelliklere sahip cihazları keşfetmek için filtreler belirtmelerine olanak tanır, bu da çeşitli BLE cihazlarıyla etkileşime girmesi gereken uygulamalar için daha çok yönlü hale getirir.
Karşılaştırmak
- Mimari: MVVMCross.plugin.Ble, MVVMCross çerçevesinde kullanılmak üzere özel olarak tasarlanmıştır ve görünüm modellerine enjekte edilebilecek hizmetler sunar. Plugin.ble (CrossBluetoothle) daha geneldir ve herhangi bir Xamarin tabanlı projede kullanılabilir.
- Cihaz Keşfi: Her iki eklenti de cihaz keşfi için temel BLE uygulamasına güvenir. Bununla birlikte, CrossBluetoothle, tarama yöntemlerine ve filtrelerine daha doğrudan erişim sağlar, bu da keşif sürecini özelleştirmeyi kolaylaştırır. MVVMCross.plugin.Ble'ın belgeleri, tarama yöntemlerini açıkça ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılı olarak ayrıntılarıyla ifade etmiyor.
- Platform Desteği: Her iki eklenti de Android ve iOS'u destekler, ancak mvvmcross.plugin.ble, bu platformları hedefleyen platformlar arası uygulamalar için faydalı olabilecek macOS ve Windows için de destekten bahseder.
Özetle, her iki eklenti de BLE aygıt keşfini etkinleştirirken, mvvmcross.plugin.ble, MVVMCross çerçevesi ile daha fazla entegre edilir ve tarama için altta yatan çapraz crossetoothle işlevselliğine ek kurulum veya güven gerektirebilir. Plugin.ble (CrossBluetoothle), tarama yöntemlerine ve filtrelerine doğrudan erişim ile cihaz keşfine daha basit bir yaklaşım sunar.
Alıntılar:[1] https://www.nuget.org/packages/mvvmcross.plugin.ble/
[2] https://github.com/don/cordova-plugin-ble-central
[3] https://github.com/xabre/xamarin-bluetooth-e/issues/524
[4] https://github.com/mrozema/xamarin-bluetooth-le
[5] https://deceloper.android.com/develop/connective/bluetooth/ble/find-ble-vices
[6] https://punchthrough.com/ble-connectivity-architecture/
[7] https://smstueb.de/2016/05/13/blev1.0/
[8] https://github.com/dotnet-bluetooth-le/dotnet-bluetooth-le
[9] https://stackoverflow.com/questions/38327176/xamarin-forms-plugins-ble-mvvmcross-plugins-ble