Mvvmcross.plugin.ble i wtyczka. BLES są używane do odkrywania urządzeń Bluetooth Low Energy (BLE), ale obsługują ten proces inaczej w zależności od ich architektury i implementacji.
mvvmcross.plugin.ble
Mvvmcross.plugin.ble jest zaprojektowany do pracy w ramach mvvmcross, zapewniając ustrukturyzowane podejście do odkrywania urządzeń BLE. Zrejestruje „ibluetoothle” i „iadapter” jako leniwe singletony, umożliwiając programistom rozwiązanie tych usług w ich modelach widzenia lub innych komponentach. Ta wtyczka obsługuje platformy Androida, iOS, macOS i Windows.
Aby odkryć urządzenia za pomocą mvvmcross.plugin.ble, zwykle używasz „crossbluetoothle.current.adapter` uzyskiwania dostępu do adaptera. Jednak konkretne metody skanowania lub odkrywania urządzeń nie są wyraźnie szczegółowe w dokumentacji wtyczki. Zamiast tego opiera się na podstawowej implementacji „Crossbluetoothle”, która jest powszechnie używana w projektach opartych na ksarinie.
Wtyczka pozwala sprawdzić stan Bluetooth i wysłuchać zmian stanu, co jest przydatne do zarządzania odkryciem urządzeń w oparciu o obecny status Bluetooth. Do faktycznego skanowania zwykle stosujesz metody podobne do tych z implementacji waniliowej `Crossbluetoothle`, takich jak dostęp do adaptera i użycie jego metod do rozpoczęcia skanowania.
Plugin.ble (Crossbluetoothle)
Plugin.ble, często określane jako Crossbluetoothle, jest bardziej ogólną wtyczką do dostępu do funkcji BLE na wielu platformach, w tym z Androidem i iOS. Zapewnia prosty sposób odkrywania urządzeń BLE za pomocą „crossbluetoothle.current.adapter`, aby rozpocząć skanowanie.
Aby odkryć urządzenia z Crossbluetoothle, zwykle używałbyś metod adaptera do inicjowania skanowania. Wtyczka obsługuje odkrywanie wszystkich reklamowanych urządzeń, urządzeń z określonymi reklamowanymi usługami lub urządzeniami pasującymi do niestandardowego filtra. Po odkryciu urządzeń możesz się z nimi połączyć, zbadać ich usługi i cechy oraz wykonywać operacje odczytu/zapisu lub subskrybować powiadomienia.
Jeśli chodzi o odkrywanie urządzeń, CrossBluetoothle oferuje bardziej bezpośrednią kontrolę nad procesem skanowania w porównaniu z Mvvmcross.Plugin.ble. Umożliwia programistom określenie filtrów do odkrywania urządzeń o określonych usługach lub cechach, co czyni je bardziej wszechstronnym dla aplikacji, które muszą interakcja z różnymi urządzeniami BLE.
Porównanie
- Architektura: mvvmcross.plugin.ble jest specjalnie zaprojektowany do użytku w ramach mvvmcross, zapewniając usługi, które można wstrzykiwać do modeli widoku. Plugin.ble (Crossbluetoothle) jest bardziej ogólny i może być używany w każdym projekcie opartym na ksarinie.
- Odkrycie urządzeń: Obie wtyczki polegają na podstawowej implementacji BLE do odkrywania urządzeń. Jednak Crossbluetoothle zapewnia większy bezpośredni dostęp do metod i filtrów skanowania, co ułatwia dostosowanie procesu odkrywania. Dokumentacja mvvmcross.plugin.ble nie szczegółowo opisuje metod skanowania, co sugeruje, że może polegać na deweloperze, aby użyć funkcji Crossbluetoothle.
- Obsługa platformy: oba wtyczki obsługują Android i iOS, ale Mvvmcross.plugin.ble wspomina także o obsłudze macOS i Windows, co może być korzystne dla aplikacji międzyplatformowych ukierunkowanych na te platformy.
Podsumowując, podczas gdy oba wtyczki umożliwiają odkrycie urządzenia BLE, MVVMCROSS.PLUGIN.BLE jest bardziej zintegrowana z frameworkiem MVVMCROSS i może wymagać dodatkowej konfiguracji lub polegania na podstawowej funkcji Crossbluetoothle do skanowania. Plugin.ble (CrossBluetoothle) oferuje prostsze podejście do odkrywania urządzeń z bezpośrednim dostępem do metod i filtrów skanowania.
Cytaty:[1] https://www.nuget.org/packages/mvvmcross.plugin.ble/
[2] https://github.com/don/cordova-plugin-ble-ntral
[3] https://github.com/xabre/xamarin-bluetooth-le/issues/524
[4] https://github.com/mrozema/xamarin-bluetooth-le
[5] https://developer.android.com/develops/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-bluetooth-le/dotnet-bluetooth-le
[9] https://stackoverflow.com/questions/38327176/xamarin-porms-plugins-ble-mvvmcross-plugins-ble