Mvvmcross.plugin.Be a plugin.Be sa používajú na objavovanie zariadení Bluetooth s nízkym obsahom energie (BLE), ale tento proces zvládajú odlišne na základe ich architektúry a implementácie.
mvvmcross.plugin.ble
MVVMCross.plugin.BLE je navrhnutý tak, aby pracoval v rámci MVVMCROSS, čím poskytuje štruktúrovaný prístup k objavovaniu zariadení BLE. Zaregistruje sa `Ibluetoothle` a` iadapter "ako leniví-inicializované singletony, čo vývojárom umožňuje vyriešiť tieto služby v ich modeloch pohľadu alebo iných komponentoch. Tento doplnok podporuje platformy Android, iOS, MacOS a Windows.
Ak chcete objaviť zariadenia pomocou MVVMcross.plugin.Be, zvyčajne používate „crossbluetoothle.current.Adapter` na prístup k adaptéru. Konkrétne metódy na skenovanie alebo objavovanie zariadení však nie sú v dokumentácii doplnku výslovne podrobné. Namiesto toho sa spolieha na základnú implementáciu „Crossbluetoothle“, ktorá sa bežne používa v projektoch založených na Xamarin.
Doplnok vám umožňuje skontrolovať stav Bluetooth a počúvať zmeny stavu, čo je užitočné na správu objavovania zariadení založeného na aktuálnom stave Bluetooth. Na skutočné skenovanie by ste zvyčajne používali metódy podobné metódach v implementácii vanilky „Crossbluetoothle“, ako je napríklad prístup k adaptéru a jeho metódy na začatie skenovania.
plugin.ble (crossbluetoothle)
Plugin.Be, často označovaný ako Crossbluetoothle, je všeobecnejším doplnkom na prístup k funkciám BLE na viacerých platformách vrátane Android a iOS. Poskytuje jednoduchý spôsob, ako objaviť zariadenia BLE pomocou „crossbluetoothle.current.Adapter“ na začatie skenovania.
Ak chcete objaviť zariadenia s Crossbluetoothle, zvyčajne by ste použili metódy adaptéra na začatie skenovania. Doplnok podporuje objavovanie všetkých inzerovaných zariadení, zariadení so špecifickými inzerovanými službami alebo zariadeniami, ktoré zodpovedajú vlastnému filtru. Po objavení zariadení sa k nim môžete pripojiť, preskúmať ich služby a charakteristiky a vykonávať operácie čítania/zápisu alebo sa prihlásiť na odber oznámení.
Pokiaľ ide o objavenie zariadenia, CrossBluetoothle ponúka priamejšiu kontrolu nad procesom skenovania v porovnaní s MVVMCross.plugin.ble. Umožňuje vývojárom špecifikovať filtre na objavovanie zariadení so špecifickými službami alebo charakteristikami, vďaka čomu sú všestrannejšie pre aplikácie, ktoré musia interagovať s rôznymi zariadeniami BLE.
Porovnanie
- Architektúra: mvvmcross.plugin.Be je špeciálne navrhnutá na použitie v rámci MVVMCross Framework, poskytujúca služby, ktoré je možné vstreknúť do modelov v zobrazení. Plugin.Be (Crossbluetoothle) je všeobecnejší a môže sa použiť v akomkoľvek projekte založenom na Xamarin.
- Discovery zariadenia: Oba doplnky sa spoliehajú na podkladovú implementáciu BLE na objavovanie zariadení. Crossbluetoothle však poskytuje priamy prístup k metódam skenovania a filtrom, čo uľahčuje prispôsobenie procesu objavovania. Mvvmcross.plugin.bleova dokumentácia výslovne podrobne opisuje metódy skenovania, čo naznačuje, že by sa mohol spoliehať na vývojára, aby použil základnú funkciu Crossbluetoothle.
- Podpora platformy: Obidva doplnky podporujú Android a iOS, ale MVVMCross.plugin.ble tiež uvádza podporu pre MacOS a Windows, čo by mohlo byť prospešné pre aplikácie medzi platformami zamerané na tieto platformy.
Stručne povedané, zatiaľ čo obe doplnky povoľujú Discovery BLE Discovery, MVVMCross.plugin.BLE je integrovanejší s rámcom MVVMCROSS a môže si vyžadovať ďalšie nastavenie alebo spoliehanie sa na základnú funkciu Crossbluetoothle na skenovanie. Plugin.Be (Crossbluetoothle) ponúka priamy prístup k objavovaniu zariadení s priamym prístupom k metódam skenovania a filtrom.
Citácie:[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-le/issues/524
[4] https://github.com/mrozema/xamarin-bluetooth-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-bluetooth-le/dotnet-bluetooth-le
[9] https://stackoverflow.com/questions/38327176/xamarin-forms-plugins-ble-mvvmcross-plugins-ble