Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hvordan håndterer mvvmcross.plugin.ble -enhedsopdagelse sammenlignet med plugin.ble


Hvordan håndterer mvvmcross.plugin.ble -enhedsopdagelse sammenlignet med plugin.ble


Mvvmcross.plugin.ble og plugin.ble bruges begge til Bluetooth lavenergi (BLE) enhedsopdagelse, men de håndterer denne proces forskelligt baseret på deres arkitektur og implementering.

mvvmcross.plugin.ble

Mvvmcross.plugin.ble er designet til at arbejde inden for MVVMCROSS -rammen, hvilket giver en struktureret tilgang til BLE -enhedsopdagelse. Det registrerer `Ibluetoothle` og` Iadapter` som doven-initialiserede singletons, hvilket giver udviklere mulighed for at løse disse tjenester i deres synsmodeller eller andre komponenter. Dette plugin understøtter Android, iOS, MACOS og Windows platforme.

For at opdage enheder ved hjælp af mvvmcross.plugin.ble bruger du typisk `Crossbluetoothle.current.adapter` for at få adgang til adapteren. Imidlertid er specifikke metoder til scanning eller opdagelse af enheder ikke eksplicit detaljeret i pluginets dokumentation. I stedet er det afhængig af den underliggende 'CrossBluetoothle' implementering, der ofte bruges i Xamarin-baserede projekter.

Plugin giver dig mulighed for at kontrollere Bluetooth -tilstand og lytte til tilstandsændringer, hvilket er nyttigt til håndtering af enhedsopdagelse baseret på den aktuelle Bluetooth -status. Til faktisk scanning vil du typisk bruge metoder, der ligner dem i Vanilla `CrossBluetoothle 'implementering, såsom adgang til adapteren og bruge dens metoder til at starte scanning.

Plugin.ble (CrossBluetoothle)

Plugin.ble, ofte benævnt CrossBluetoothle, er et mere generisk plugin til adgang til BLE -funktionalitet på tværs af flere platforme, herunder Android og iOS. Det giver en ligetil måde at opdage ble -enheder ved at bruge `Crossbluetoothle.current.adapter` til at begynde at scanne.

For at opdage enheder med CrossBluetoothle, vil du typisk bruge adapterens metoder til at starte en scanning. Plugin understøtter at opdage alle annoncerede enheder, enheder med specifikke annoncerede tjenester eller enheder, der matcher et brugerdefineret filter. Når enheder er opdaget, kan du oprette forbindelse til dem, udforske deres tjenester og egenskaber og udføre læse/skriveoperationer eller abonnere på meddelelser.

Med hensyn til enhedsopdagelse tilbyder CrossBluetoothle mere direkte kontrol over scanningsprocessen sammenlignet med mvvmcross.plugin.ble. Det giver udviklere mulighed for at specificere filtre til at opdage enheder med specifikke tjenester eller egenskaber, hvilket gør det mere alsidigt til applikationer, der skal interagere med en række ble -enheder.

Sammenligning

- Arkitektur: mvvmcross.plugin.ble er specifikt designet til brug inden for MVVMCROSS -rammen, der leverer tjenester, der kan injiceres i visningsmodeller. Plugin.ble (CrossBluetoothle) er mere generisk og kan bruges i ethvert Xamarin-baseret projekt.

- Enhedsopdagelse: Begge plugins er afhængige af den underliggende BLE -implementering til enhedsopdagelse. Crossbluetoothle giver imidlertid mere direkte adgang til scanningsmetoder og filtre, hvilket gør det lettere at tilpasse opdagelsesprocessen. Mvvmcross.plugin.ble's dokumentation detaljerede ikke eksplicit scanningsmetoder, hvilket antyder, at det kan stole på udvikleren til at bruge den underliggende CrossBluetoothle -funktionalitet.

- Platformstøtte: Både plugins understøtter Android og iOS, men mvvmcross.plugin.ble nævner også support til macOS og Windows, hvilket kan være fordelagtigt for applikationer på tværs af platform, der er målrettet mod disse platforme.

Sammenfattende, mens begge plugins muliggør BLE -enhedsopdagelse, er MVVMCross.plugin.ble mere integreret med MVVMCROSS -rammen og kan kræve yderligere opsætning eller afhængighed af underliggende CrossBluetoothle -funktionalitet til scanning. Plugin.ble (CrossBluetoothle) tilbyder en mere ligetil tilgang til enhedsopdagelse med direkte adgang til scanningsmetoder og filtre.

Citater:
[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