Mvvmcross.plugin.ble un spraudnis.ble tiek izmantoti Bluetooth zemas enerģijas (BLE) ierīces atklāšanai, taču viņi šo procesu apstrādā atšķirīgi, pamatojoties uz to arhitektūru un ieviešanu.
mvvmcross.plugin.ble
Mvvmcross.plugin.ble ir paredzēts darbam MVVMCross ietvarā, nodrošinot strukturētu pieeju BLE ierīces atklāšanai. Tas reģistrē `iBluetoothle` un` iadapter` kā slinku initializētus singletonus, ļaujot izstrādātājiem atrisināt šos pakalpojumus savos skatu modeļos vai citos komponentos. Šis spraudnis atbalsta Android, iOS, MacOS un Windows platformas.
Lai atklātu ierīces, izmantojot mvvmcross.plugin.ble, parasti adapterim piekļuvei izmanto `crossbluetoothle.current.adapter`. Tomēr spraudņa dokumentācijā īpašas metodes ierīču skenēšanai vai atklāšanai nav skaidri aprakstītas. Tā vietā tas ir atkarīgs no pamatā esošās “CrossBluetoothle” ieviešanas, ko parasti izmanto Xamarin balstītos projektos.
Spraudnis ļauj jums pārbaudīt Bluetooth stāvokli un klausīties stāvokļa izmaiņas, kas ir noderīga ierīču atklāšanas pārvaldīšanai, pamatojoties uz pašreizējo Bluetooth statusu. Faktiskai skenēšanai jūs parasti izmantojat metodes, kas līdzīgas tām, kas atrodas vaniļas “CrossBluetoothle” ieviešanā, piemēram, piekļuvei adapterim un izmantojot tās metodes, lai sāktu skenēšanu.
spraudnis.ble (CrossBluetoothle)
Spraudnis.ble, ko bieži dēvē par CrossBluetoothle, ir vispārīgāks spraudnis, lai piekļūtu BLE funkcionalitātei vairākās platformās, ieskaitot Android un iOS. Tas nodrošina vienkāršu veidu, kā atklāt ble ierīces, lai sāktu skenēšanu, izmantojot “CrossBluetoothle.Current.adapter”.
Lai atklātu ierīces ar CrossBluetoothle, parasti izmantojat adaptera metodes, lai sāktu skenēšanu. Spraudnis atbalsta visas reklamētās ierīces, ierīces ar īpašiem reklamētiem pakalpojumiem vai ierīcēm, kas atbilst pielāgotajam filtram. Kad ierīces ir atklātas, varat izveidot savienojumu ar tām, izpētīt to pakalpojumus un īpašības un veikt lasīšanas/rakstīšanas operācijas vai abonēt paziņojumus.
Runājot par ierīces atklāšanu, CrossBluetoothle piedāvā tiešāku kontroli pār skenēšanas procesu, salīdzinot ar mvvmcross.plugin.ble. Tas ļauj izstrādātājiem norādīt filtrus ierīču atklāšanai ar īpašiem pakalpojumiem vai īpašībām, padarot to daudzpusīgāku lietojumprogrammām, kurām ir jā mijiedarbība ar dažādām BLE ierīcēm.
salīdzinājums
- Arhitektūra: mvvmcross.plugin.ble ir īpaši paredzēts izmantošanai MVVMCROSS sistēmā, nodrošinot pakalpojumus, kurus var ievadīt skata modeļos. Spraudnis.ble (CrossBluetoothle) ir vispārīgāks, un to var izmantot jebkurā Xamarin balstītā projektā.
- Ierīces atklāšana: abi spraudņi paļaujas uz ierīces atklāšanas pamatā esošo BLE ieviešanu. Tomēr CrossBluetoothle nodrošina tiešāku piekļuvi skenēšanas metodēm un filtriem, padarot vieglāku atklāšanas procesa pielāgošanu. Mvvmcross.plugin.ble dokumentācijā nav skaidri detalizētas skenēšanas metodes, kas liek domāt, ka tas varētu paļauties uz izstrādātāju, lai izmantotu pamatā esošo CrossBluetoothle funkcionalitāti.
- Platformas atbalsts: gan spraudņi atbalsta Android, gan iOS, bet mvvmcross.plugin.ble arī piemin atbalstu MacOS un Windows, kas varētu būt noderīgs starpplatformu lietojumprogrammām, kuru mērķis ir šīs platformas.
Rezumējot, lai gan abi spraudņi nodrošina ierīces atklāšanu, mvvmcross.plugin.ble ir vairāk integrēts ar MVVMCross ietvaru un, iespējams, būs nepieciešama papildu iestatīšana vai paļaušanās uz skenēšanas pamatā esošo CrossBluetoothle funkcionalitāti. Spraudnis.ble (CrossBluetoothle) piedāvā vienkāršāku pieeju ierīces atklāšanai ar tiešu piekļuvi skenēšanas metodēm un filtriem.
Atsauces:[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/connecivity/bluetooth/ble/find-ble-devices
[6] https://punchthrough.com/ble-connectivity-architecture/
[7] https://smstube.de/2016/05/13/blev1.0/
[8] https://github.com/dotnet-luetooth-le/dotnet-bluetooth-le
[9] https://stackoverflow.com/questions/38327176/xamarin-forms-plugins-ble-mvvmcross-plugins-ble