Mvvmcross.plugin.ble e plugin.ble são usados para a descoberta do dispositivo Bluetooth Low Low Energy (BLE), mas lidam com esse processo de maneira diferente com base em sua arquitetura e implementação.
mvvmcross.plugin.ble
Mvvmcross.plugin.ble foi projetado para funcionar dentro da estrutura MVVMCROSS, fornecendo uma abordagem estruturada para a descoberta de dispositivos BLE. Ele registra `ibluetoothle` e` `iadapter` como singletons preguiçosos iniciados, permitindo que os desenvolvedores resolvam esses serviços em seus modelos de visualização ou outros componentes. Este plug -in suporta plataformas Android, iOS, MacOS e Windows.
Para descobrir os dispositivos usando mvvmcross.plugin.ble, você normalmente usa o `crossbluetoothle.current.adapter` para acessar o adaptador. No entanto, métodos específicos para digitalização ou descoberta de dispositivos não são explicitamente detalhados na documentação do plug -in. Em vez disso, depende da implementação subjacente do `CrossBluetoothle`, que é comumente usada em projetos baseados em xamarina.
O plug -in permite que você verifique o estado Bluetooth e ouça as alterações do estado, o que é útil para gerenciar a descoberta de dispositivos com base no status Bluetooth atual. Para a digitalização real, você normalmente usaria métodos semelhantes aos da implementação da baunilha `CrossBluetoothle`, como acessar o adaptador e usar seus métodos para iniciar a digitalização.
plugin.ble (CrossBlueToothle)
O plugin.ble, geralmente chamado de CrossBlueTothle, é um plug -in mais genérico para acessar a funcionalidade BLE em várias plataformas, incluindo Android e iOS. Ele fornece uma maneira direta de descobrir dispositivos BLE usando o `CrossBluetoothle.current.adapter` para iniciar a digitalização.
Para descobrir dispositivos com o CrossBlueTothle, você normalmente usaria os métodos do adaptador para iniciar uma varredura. O plug -in suporta a descoberta de todos os dispositivos anunciados, dispositivos com serviços anunciados específicos ou dispositivos que correspondem a um filtro personalizado. Depois que os dispositivos são descobertos, você pode se conectar a eles, explorar seus serviços e características e executar operações de leitura/gravação ou assinar notificações.
Em termos de descoberta de dispositivos, o CrossBlueToothle oferece mais controle direto sobre o processo de varredura em comparação com mvvmcross.plugin.ble. Ele permite que os desenvolvedores especifiquem filtros para descobrir dispositivos com serviços ou características específicas, tornando -o mais versátil para aplicativos que precisam interagir com uma variedade de dispositivos BLE.
comparação
- Arquitetura: mvvmcross.plugin.ble é projetado especificamente para uso na estrutura MVVMCROSS, fornecendo serviços que podem ser injetados nos modelos de exibição. O plugin.ble (CrossBlueTothle) é mais genérico e pode ser usado em qualquer projeto baseado em Xamarin.
- Descoberta do dispositivo: Ambos os plugins dependem da implementação BLE subjacente para a descoberta do dispositivo. No entanto, o CrossBlueTothle fornece mais acesso direto aos métodos e filtros de digitalização, facilitando a personalização do processo de descoberta. A documentação do MVVMCROSS.PLUGIN.BLE não detalha explicitamente os métodos de digitalização, sugerindo que ele pode depender do desenvolvedor para usar a funcionalidade subjacente CrossBlueToLethle.
- Suporte da plataforma: Ambos os plugins suportam Android e iOS, mas mvvmcross.plugin.ble também menciona suporte para macOS e Windows, o que pode ser benéfico para aplicativos de plataforma cruzada direcionados a essas plataformas.
Em resumo, enquanto os dois plug -ins permitem a descoberta de dispositivos BL, mvvmcross.plugin.ble é mais integrado à estrutura MVVMCROSS e pode exigir configuração ou confiança adicional na funcionalidade de bluetothle subjacente para digitalização. O plugin.ble (CrossBlueTothle) oferece uma abordagem mais direta para a descoberta de dispositivos com acesso direto aos métodos e filtros de digitalização.
Citações:[1] https://www.nuget.org/packages/mvvmcross.plugin.ble/
[2] https://github.com/don/cordova-plugin-ble-central
[3] https://github.com/xabre/xamarin-bruetooth-le/issues/524
[4] https://github.com/mrozema/xamarin-bleetooth-le
[5] https://developer.android.com/devell/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-bruetooth-le/dotnet-bruetooth-le
[9] https://stackoverflow.com/questions/38327176/xamarin-forms-plugins-ble-mvvmcross-plugins-ble