Az mvvmcross.plugin.ble és a plugin.ble -t egyaránt használják a Bluetooth alacsony energiájú (BLE) eszköz felfedezéséhez, ám architektúrájuk és megvalósításuk alapján eltérően kezelik ezt a folyamatot.
mvvmcross.plugin.ble
Az mvvmcross.plugin.ble -t úgy tervezték, hogy az Mvvmcross kereten belül működjön, és strukturált megközelítést biztosítson az eszköz felfedezéséhez. Regisztrálja az „ibluetoothle” és az „iadapter” mint lusta-initializált szinguletteket, lehetővé téve a fejlesztők számára, hogy ezeket a szolgáltatásokat néző modellekben vagy más összetevőkben oldják meg. Ez a plugin támogatja az Android, iOS, MacOS és Windows platformokat.
Az eszközök felfedezéséhez az mvvmcross.plugin.ble használatával általában a `crossbluetoothle.current.adapter" -et használja az adapter eléréséhez. Az eszközök beolvasására vagy felfedezésére szolgáló speciális módszereket azonban a plugin dokumentációjában nem részletezik. Ehelyett a mögöttes „CrossBluetoothle” megvalósításra támaszkodik, amelyet általában a Xamarin-alapú projektekben használnak.
A plugin lehetővé teszi a Bluetooth állapot ellenőrzését és az állapotváltozások meghallgatását, ami hasznos az eszköz felfedezésének kezelésére az aktuális Bluetooth állapot alapján. A tényleges szkenneléshez általában hasonló módszereket alkalmazna a vanília „CrossBluetoothle” megvalósításához, például az adapterhez való hozzáféréshez és annak módszereinek felhasználásával a szkennelés megkezdéséhez.
plugin.ble (CrossBluetoothle)
A plugin.ble, amelyet gyakran CrossBluetoothle -nek neveznek, egy általánosabb plugin, amely több platformon, beleértve az Androidot és az iOS -t, a BLE funkciók eléréséhez. Ez egyértelmű módszert kínál a BLE eszközök felfedezésére a „CrossBluetoothle.Current.Adapter” használatával a szkennelés megkezdéséhez.
A CrossBluetoothle készülékekkel rendelkező eszközök felfedezéséhez általában az adapter módszereit használja a szkennelés kezdeményezésére. A plugin támogatja az összes hirdetett eszköz, az egyedi hirdetett szolgáltatásokkal rendelkező eszközök vagy az egyéni szűrő megfelelő eszközök felfedezését. Miután az eszközöket felfedezték, csatlakozhat hozzájuk, felfedezheti szolgáltatásaikat és jellemzőiket, és végrehajthatja az olvasási/írási műveleteket, vagy feliratkozhat az értesítésekre.
Az eszköz felfedezése szempontjából a CrossBluetoothle közvetlen irányítást nyújt a szkennelési folyamat felett, mint az mvvmcross.plugin.ble. Ez lehetővé teszi a fejlesztők számára, hogy meghatározzák a szűrőket az adott szolgáltatásokkal vagy jellemzőkkel rendelkező eszközök felfedezésére, így sokoldalúbbá téve az alkalmazások számára, amelyeknek kölcsönhatásba kell lépniük a különféle BLE eszközökkel.
Összehasonlítás
- Építészet: Az mvvmcross.plugin.ble kifejezetten az MVVMCross kereten belüli használatra készült, és olyan szolgáltatásokat nyújt, amelyek beinjektálhatók a nézetmodellekbe. A plugin.ble (CrossBluetoothle) általánosabb, és bármilyen Xamarin-alapú projektben használható.
- Eszközök felfedezése: Mindkét plugin az eszköz felfedezésének alapjául szolgáló BLE megvalósításra támaszkodik. A CrossBluetoothle azonban közvetlen hozzáférést biztosít a szkennelési módszerekhez és a szűrőkhöz, megkönnyítve a felfedezési folyamat testreszabását. Az mvvmcross.plugin.ble dokumentációja nem részletezi kifejezetten a szkennelési módszereket, ami azt sugallja, hogy a fejlesztőre támaszkodhat a mögöttes CrossBluetoothle funkció használatához.
- Platform támogatás: Mindkét plugin támogatja az Androidot és az iOS-t, de az mvvmcross.plugin.ble megemlíti a MACO-k és a Windows támogatását is, ami hasznos lehet az ezen platformokat célzó platformok közötti alkalmazások számára.
Összefoglalva: míg mindkét plugin lehetővé teszi a BLE eszköz felfedezését, az mvvmcross.plugin.ble jobban integrálódik az MVVMCross keretbe, és szükség lehet további beállításra vagy a szkennelés alapjául szolgáló Crossbluetoothle funkciókra való támaszkodásra. A plugin.ble (CrossBluetoothle) egyértelműbb megközelítést kínál az eszköz felfedezéséhez, közvetlen hozzáféréssel a szkennelési módszerekhez és a szűrőkhöz.
Idézetek:[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