Mvvmcross.plugin.ble a plugin.ble se používají pro objev zařízení Bluetooth Low Energy (BLE), ale tento proces zvládnou jinak na základě jejich architektury a implementace.
mvvmcross.plugin.ble
Mvvmcross.plugin.ble je navržen tak, aby pracoval v rámci MVVMCross, což poskytuje strukturovaný přístup k objevu zařízení BLE. Registruje `iBluetoothle` a` iadapter` jako líné inicializované singletony, což vývojářům umožňuje vyřešit tyto služby v jejich modelech názoru nebo jiných komponent. Tento plugin podporuje platformy Android, iOS, MacOS a Windows.
Chcete -li objevit zařízení pomocí mvvmcross.plugin.ble, obvykle používáte přístup k adaptéru `crossbluetoothle.current.adapter`. Specifické metody pro skenování nebo objevování zařízení však nejsou v dokumentaci pluginu výslovně podrobně popsány. Místo toho se spoléhá na základní implementaci „crossbluetoothle“, která se běžně používá v projektech založených na Xamarinu.
Plugin umožňuje zkontrolovat stav Bluetooth a poslouchat změny stavu, což je užitečné pro správu objevu zařízení na základě aktuálního stavu Bluetooth. Pro skutečné skenování byste obvykle používali metody podobné metodám v implementaci vanilkové „crossbluetoothle“, jako je přístup k adaptéru a pomocí jeho metod k zahájení skenování.
plugin.ble (crossbluetootles)
Plugin.ble, často označovaný jako crossbluetootles, je obecnější plugin pro přístup k funkčnosti BLE na více platformách, včetně Android a iOS. Poskytuje přímý způsob, jak objevit zařízení BLE pomocí `crossbluetoothle.current.adapter k zahájení skenování.
Chcete -li objevit zařízení s crossbluetoothou, obvykle byste použili metody adaptéru k zahájení skenování. Plugin podporuje objevování všech inzerovaných zařízení, zařízení s konkrétními inzerovanými službami nebo zařízeními, která odpovídají vlastnímu filtru. Jakmile jsou zařízení objevena, můžete se k nim připojit, prozkoumat jejich služby a vlastnosti a provádět operace čtení/zápis nebo se přihlásit k odběru oznámení.
Pokud jde o objevování zařízení, CrossBluetoothle nabízí přímější kontrolu nad procesem skenování ve srovnání s mvvmcross.plugin.ble. Umožňuje vývojářům specifikovat filtry pro objevování zařízení s konkrétními službami nebo charakteristikami, což je všestrannější pro aplikace, které potřebují interagovat s různými zařízeními BLE.
Porovnání
- Architektura: mvvmcross.plugin.ble je speciálně navržena pro použití v rámci MVVMCross a poskytuje služby, které lze injikovat do modelů View. Plugin.ble (crossbluetootles) je obecnější a lze jej použít v jakémkoli projektu založeném na Xamarinu.
- Objev zařízení: Oba pluginy se spoléhají na základní implementaci BLE pro objev zařízení. Crossbluetoothle však poskytuje přímý přístup k metodám skenování a filtrů, což usnadňuje přizpůsobení procesu objevování. Dokumentace mvvmcross.plugin.ble není výslovně podrobně popisová metody skenování, což naznačuje, že by se mohl spoléhat na vývojář, aby používal základní funkčnost crossbluetoothu.
- Podpora platformy: Oba pluginy podporují Android a iOS, ale mvvmcross.plugin.ble také zmiňuje podporu pro MacOS a Windows, což by mohlo být prospěšné pro aplikace napříč platformami zaměřené na tyto platformy.
Stručně řečeno, zatímco oba pluginy umožňují objev BLE zařízení, mvvmcross.plugin.ble je více integrován s rámcem MVVMCross a může vyžadovat další nastavení nebo spoléhání se na podkladovou funkčnost crossbluetoothu pro skenování. Plugin.ble (CrossBluetoothle) nabízí jednodušší přístup k objevu zařízení s přímým přístupem k metodám skenování a filtrů.
Citace:[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-bluetooth-le/dotnet-luetooth-le
[9] https://stackoverflow.com/questions/38327176/xamarin-forms-plugins-ble-mvvmcross-plugins-ble