Mvvmcross.plugin.ble e plugin.ble sono entrambi utilizzati per la scoperta del dispositivo Bluetooth a bassa energia (BLE), ma gestiscono questo processo in modo diverso in base alla loro architettura e implementazione.
mvvmcross.plugin.ble
Mvvmcross.plugin.ble è progettato per funzionare all'interno del framework MVVMCRoss, fornendo un approccio strutturato alla scoperta di dispositivi BLE. Registrerà `ibluetoothle` e` iadapter` come singoli ittini iniziali, consentendo agli sviluppatori di risolvere questi servizi nei loro modelli di visualizzazione o altri componenti. Questo plugin supporta piattaforme Android, iOS, macOS e Windows.
Per scoprire i dispositivi usando mvvmcross.plugin.ble, in genere si utilizza `crossbluetoothle.current.adapter` per accedere all'adattatore. Tuttavia, metodi specifici per la scansione o la scoperta di dispositivi non sono esplicitamente dettagliati nella documentazione del plug -in. Invece, si basa sull'implementazione di "CrossBluetoothle" sottostante, che è comunemente utilizzata nei progetti a base di Xamarin.
Il plug -in consente di controllare lo stato Bluetooth e ascoltare le modifiche allo stato, che è utile per la gestione della scoperta dei dispositivi in base all'attuale stato Bluetooth. Per la scansione effettiva, in genere si utilizzerebbero metodi simili a quelli nell'implementazione della vaniglia `CrossBluetoothle`, come l'accesso all'adattatore e l'utilizzo dei suoi metodi per iniziare la scansione.
plugin.ble (CrossBluetoothle)
Plugin.ble, spesso indicato come CrossBluetoothle, è un plug -in più generico per accedere alle funzionalità BLE su più piattaforme, tra cui Android e iOS. Fornisce un modo semplice per scoprire i dispositivi BLE utilizzando `CrossBluetoothle.Current.Adapter` per iniziare la scansione.
Per scoprire i dispositivi con CrossBluetoothle, in genere useresti i metodi dell'adattatore per avviare una scansione. Il plugin supporta la scoperta di tutti i dispositivi pubblicizzati, dispositivi con servizi pubblicizzati specifici o dispositivi che corrispondono a un filtro personalizzato. Una volta scoperti i dispositivi, puoi connetterti ad essi, esplorare i loro servizi e caratteristiche ed eseguire operazioni di lettura/scrittura o iscriverti alle notifiche.
In termini di scoperta del dispositivo, CrossBluetoothle offre un controllo più diretto sul processo di scansione rispetto a mvvmcross.plugin.ble. Consente agli sviluppatori di specificare i filtri per la scoperta di dispositivi con servizi o caratteristiche specifiche, rendendolo più versatile per le applicazioni che devono interagire con una varietà di dispositivi BLE.
confronto
- Architettura: mvvmcross.plugin.ble è specificamente progettato per l'uso all'interno del framework MVVMCRoss, fornendo servizi che possono essere iniettati nei modelli di visualizzazione. Plugin.ble (CrossBluetoothle) è più generico e può essere utilizzato in qualsiasi progetto a base di Xamarin.
- Displorato del dispositivo: entrambi i plugin si basano sull'implementazione BLE sottostante per il rilevamento del dispositivo. Tuttavia, CrossBluetoothle fornisce un accesso più diretto ai metodi e ai filtri di scansione, rendendo più facile personalizzare il processo di scoperta. La documentazione di mvvmcross.plugin.ble non dettagliati in dettaglio i metodi di scansione, suggerendo che potrebbe fare affidamento sullo sviluppatore per utilizzare la funzionalità CrossBluetoothle sottostante.
- Supporto della piattaforma: sia i plug-in supportano Android e iOS, ma mvvmcross.plugin.ble menziona anche il supporto per macOS e Windows, il che potrebbe essere vantaggioso per le applicazioni multipiattaforma che mirano a queste piattaforme.
In sintesi, mentre entrambi i plugin consentono il rilevamento del dispositivo BLE, mvvmcross.plugin.ble è più integrato con il framework MVVMCRoss e potrebbe richiedere una configurazione aggiuntiva o dipendenza dalla funzionalità CrossBluetoothle sottostante per la scansione. Plugin.ble (CrossBluetoothle) offre un approccio più semplice alla scoperta del dispositivo con accesso diretto ai metodi e ai filtri di scansione.
Citazioni:[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