„Mvvmcross.plugin.ble“ ir „Pillin.ble“ yra naudojami „Bluetooth Low Energy“ (BLE) įrenginių atradimui, tačiau jie šį procesą tvarko skirtingai, atsižvelgiant į jų architektūrą ir įgyvendinimą.
mvvmcross.plugin.ble
MVVMCROSS.PLUGIN.BLE yra sukurtas veikti „Mvvmcross“ sistemoje, pateikdamas struktūrizuotą požiūrį į BLE įrenginių atradimą. Tai registruoja „iBluetoothle“ ir „iAdapter“ kaip tinginius initializuotus singletonus, leidžiančius kūrėjams išspręsti šias paslaugas savo vaizdų modeliuose ar kituose komponentuose. Šis papildinys palaiko „Android“, „iOS“, „MacOS“ ir „Windows“ platformas.
Norėdami atrasti įrenginius, naudodamiesi mvvmcross.plugin.ble, paprastai naudojate „crossbluetoothle.current.adapter“, kad pasiektumėte adapterį. Tačiau konkretūs įrenginių nuskaitymo ar atradimo metodai nėra aiškiai aprašyti papildinio dokumentacijoje. Vietoj to, jis priklauso nuo pagrindinio „crossbluetoothle“ įgyvendinimo, kuris dažniausiai naudojamas Xamarine pagrįstuose projektuose.
Papildinys leidžia patikrinti „Bluetooth“ būseną ir klausytis būsenos pakeitimų, kurie yra naudingi tvarkant įrenginių atradimą, atsižvelgiant į dabartinę „Bluetooth“ būseną. Tikrai nuskaitymui paprastai naudotumėte metodus, panašius į vanilės „crossbluetoothle“ įgyvendinimą, pavyzdžiui, pasiekti adapterį ir naudoti jo metodus, kad būtų galima nuskaityti.
papildinys.ble („CrossBluetoothle“)
„Pupilin.ble“, dažnai vadinama „CrossBluetoothle“, yra bendras papildinys, skirtas pasiekti BLE funkcionalumą keliose platformose, įskaitant „Android“ ir „iOS“. Tai yra paprastas būdas atrasti BLE įrenginius naudojant „crossbluetoothle.current.adapter“ pradėti nuskaityti.
Norėdami atrasti įrenginius su „CrossBluetoothle“, paprastai naudodamiesi adapterio metodais, norėdami inicijuoti nuskaitymą. Papildinys palaiko visus reklamuojamus įrenginius, įrenginius su konkrečiomis reklamuojamomis paslaugomis ar įrenginiais, atitinkančiais pasirinktinį filtrą. Kai bus atrasti įrenginiai, galite prisijungti prie jų, ištirti jų paslaugas ir charakteristikas ir atlikti skaitymo/rašymo operacijas arba užsiprenumeruoti pranešimus.
Kalbant apie įrenginio atradimą, „CrossBluetoothle“ siūlo tiesioginį nuskaitymo proceso valdymą, palyginti su mvvmcross.plugin.ble. Tai leidžia kūrėjams nurodyti filtrus, skirtus atrasti įrenginius su konkrečiomis paslaugomis ar charakteristikomis, todėl jis yra universalesnis programoms, kurioms reikia sąveikauti su įvairiais BLE įrenginiais.
palyginimas
- Architektūra: mvvmcross.plugin.ble yra specialiai sukurta naudoti MVVMCross sistemoje, teikiant paslaugas, kurias galima įšvirkšti į „View“ modelius. „Pupilin.ble“ („CrossBluetoothle“) yra bendresnis ir gali būti naudojamas bet kuriame „Xamarin“ pagrindu sukurtame projekte.
- Įrenginio atradimas: abu papildiniai priklauso nuo pagrindinio BLE diegimo įrenginio atradimui. Tačiau „CrossBluetoothle“ suteikia daugiau tiesioginės prieigos prie nuskaitymo metodų ir filtrų, todėl lengviau pritaikyti atradimo procesą. MVVMCross.plugin.ble dokumentacijoje nėra aiškiai išsamiai aprašomi nuskaitymo metodai, ir tai rodo, kad jis gali pasikliauti kūrėju naudoti pagrindinę „CrossBluetoothle“ funkciją.
- Platformos palaikymas: Abu papildiniai palaiko „Android“ ir „iOS“, tačiau „Mvvmcross.plugin.ble“ taip pat mini „MacOS“ ir „Windows“ palaikymą, kuris gali būti naudingas įvairių platformų programoms, nukreiptoms į šias platformas.
Apibendrinant galima pasakyti, kad nors abu papildiniai įgalina „BLE Device Discovery“, „Mvvmcross.plugin.ble“ yra labiau integruotas su „MVVMCross“ sistema ir gali prireikti papildomos sąrankos ar priklausomybės nuo pagrindinės „CrossBluetoothle“ funkcijų nuskaitymui. „Pupilin.ble“ („CrossBluetoothle“) siūlo paprastesnį požiūrį į įrenginių atradimą, tiesiogiai prieigą prie nuskaitymo metodų ir filtrų.
Citatos:[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-architcture/
[7] https://smstube.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