Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kako mvvmcross.plugin.ble ročaje odkrivanje naprave v primerjavi z Plugin.ble


Kako mvvmcross.plugin.ble ročaje odkrivanje naprave v primerjavi z Plugin.ble


Mvvmcross.plugin.ble in Plugin.ble se uporabljata za odkrivanje naprav Bluetooth z nizko energijo (BLE), vendar ta postopek obravnavata drugače glede na njihovo arhitekturo in izvajanje.

mvvmcross.plugin.ble

Mvvmcross.plugin.ble je zasnovan tako, da deluje v okviru MVVMcross, ki zagotavlja strukturiran pristop k odkrivanju naprav BLE. Registrira "ibluetoothle" in "iadapter" kot leno-inicializirane singlone, ki razvijalcem omogočajo, da te storitve razrešijo v svojih modelih pogleda ali drugih komponent. Ta vtičnik podpira platforme Android, iOS, MacOS in Windows.

Če želite odkriti naprave z uporabo mvvmcross.plugin.ble, običajno za dostop do adapterja uporabljate `crossbluetoothle.current.adapter`. Vendar posebne metode za skeniranje ali odkrivanje naprav v dokumentaciji vtičnika niso izrecno podrobne. Namesto tega se opira na osnovno izvedbo "Crossbluetoothle", ki se običajno uporablja pri projektih, ki temeljijo na Xamarinu.

Vtičnik vam omogoča, da preverite stanje Bluetooth in poslušate spremembe stanja, kar je koristno za upravljanje odkrivanja naprav na podlagi trenutnega stanja Bluetooth. Za dejansko skeniranje običajno uporabljate metode, podobne tistim v izvedbi vanilijevega `Crossbluetoothle`, na primer dostop do adapterja in uporaba njegovih metod za začetek skeniranja.

Plugin.ble (Crossbluetoothle)

Plugin.ble, ki ga pogosto imenujemo Crossbluetoothle, je bolj splošen vtičnik za dostop do funkcionalnosti BLE na več platformah, vključno z Androidom in iOS. Omogoča preprost način za odkrivanje Ble naprav z uporabo `crossbluetoothle.current.adapter` za začetek skeniranja.

Če želite odkriti naprave s Crossbluetoothle, običajno uporabite metode adapterja za začetek skeniranja. Vtičnik podpira odkrivanje vseh oglaševanih naprav, naprav s posebnimi oglaševanimi storitvami ali napravami, ki ustrezajo filtru po meri. Ko naprave odkrijejo, se lahko povežete z njimi, raziščete njihove storitve in značilnosti ter izvajate operacije branja/pisanja ali se naročite na obvestila.

Glede na odkrivanje naprav Crossbluetoothle ponuja bolj neposreden nadzor nad postopkom skeniranja v primerjavi z mvvmcross.plugin.ble. Razvijalcem omogoča, da določijo filtre za odkrivanje naprav s posebnimi storitvami ali značilnostmi, zaradi česar so bolj vsestranski za aplikacije, ki morajo interakcijo z različnimi Ble napravami.

Primerjava

- Arhitektura: mvvmcross.plugin.ble je zasnovan posebej za uporabo v okviru MVVMcross, ki zagotavlja storitve, ki jih je mogoče vbrizgati v modele ogledov. Plugin.ble (Crossbluetoothle) je bolj splošen in ga je mogoče uporabiti v katerem koli projektu, ki temelji na Xamarinu.

- Odkritje naprav: Oba vtičnika se za odkrivanje naprav zanašata na osnovno izvedbo BLE. Vendar Crossbluetoothle omogoča bolj neposreden dostop do načinov skeniranja in filtrov, kar olajša prilagoditev postopka odkrivanja. Dokumentacija mvvmcross.plugin.bleja izrecno ne podrobno opisuje metode skeniranja, kar kaže na to, da se lahko zanese na razvijalca za uporabo osnovne funkcionalnosti Crossbluetoothle.

- Podpora platformi: Oba vtičnika podpirata Android in iOS, vendar mvvmcross.plugin.ble omenja tudi podporo za macOS in Windows, ki bi lahko bila koristna za večplastne aplikacije, ki ciljajo na te platforme.

Če povzamemo, medtem ko oba vtičnika omogočata odkritje naprav BLE, je mvvmcross.plugin.ble bolj integriran s okvirom MVVMcross in bo morda potrebna dodatna nastavitev ali zanašanje na osnovno funkcijo Crossbluetoothle za skeniranje. Plugin.ble (Crossbluetoothle) ponuja bolj preprost pristop k odkrivanju naprav z neposrednim dostopom do načinov skeniranja in filtrov.

Navedbe:
[1] https://www.nuget.org/packages/mvvmcross.plugin.ble/
[2] https://github.com/don/cordovi-plugin-ble-central
[3] https://github.com/xabre/xamarin-bluetooth-le/isissue/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-fforms-plugins-ble-mvvmcross-plugins-ble