Mvvmcross.plugin.ble và plugin.ble đều được sử dụng để khám phá thiết bị Bluetooth Low Energy (BLE), nhưng chúng xử lý quá trình này khác nhau dựa trên kiến trúc và triển khai của chúng.
mvvmcross.plugin.ble
Mvvmcross.plugin.ble được thiết kế để hoạt động trong khung MVVMCROSS, cung cấp một cách tiếp cận có cấu trúc để khám phá thiết bị BLE. Nó đăng ký `ibluetoothle` và` iAd CHƯƠNG` dưới dạng các đơn lẻ được sáng lập lười biếng, cho phép các nhà phát triển giải quyết các dịch vụ này trong các mô hình chế độ xem hoặc các thành phần khác của họ. Plugin này hỗ trợ các nền tảng Android, iOS, MacOS và Windows.
Để khám phá các thiết bị bằng mvvmcross.plugin.ble, bạn thường sử dụng `crossbluetoothle.current.ad CHƯƠNG` để truy cập bộ điều hợp. Tuy nhiên, các phương pháp cụ thể để quét hoặc khám phá các thiết bị không được chi tiết rõ ràng trong tài liệu của plugin. Thay vào đó, nó phụ thuộc vào việc triển khai `crossbluetoothle` cơ bản, thường được sử dụng trong các dự án dựa trên Xamarin.
Plugin cho phép bạn kiểm tra trạng thái Bluetooth và lắng nghe các thay đổi trạng thái, rất hữu ích để quản lý khám phá thiết bị dựa trên trạng thái Bluetooth hiện tại. Để quét thực tế, bạn thường sử dụng các phương thức tương tự như các phương thức trong triển khai vani `crossbluetoothle`, chẳng hạn như truy cập bộ điều hợp và sử dụng các phương thức của nó để bắt đầu quét.
plugin.ble (crossbluetoothle)
Plugin.ble, thường được gọi là Crossbluetoothle, là một plugin chung chung hơn để truy cập chức năng BLE trên nhiều nền tảng, bao gồm Android và iOS. Nó cung cấp một cách đơn giản để khám phá các thiết bị BLE bằng cách sử dụng `crossbluetoothle.civerse.ad CHƯƠNG` để bắt đầu quét.
Để khám phá các thiết bị có crossbluetoothle, thông thường bạn sẽ sử dụng các phương thức của bộ chuyển đổi để bắt đầu quét. Plugin hỗ trợ khám phá tất cả các thiết bị được quảng cáo, thiết bị có dịch vụ được quảng cáo cụ thể hoặc thiết bị phù hợp với bộ lọc tùy chỉnh. Khi các thiết bị được phát hiện, bạn có thể kết nối với chúng, khám phá các dịch vụ và đặc điểm của chúng và thực hiện các hoạt động đọc/ghi hoặc đăng ký thông báo.
Về khám phá thiết bị, Crossbluetoothle cung cấp kiểm soát trực tiếp hơn đối với quá trình quét so với mvvmcross.plugin.ble. Nó cho phép các nhà phát triển chỉ định các bộ lọc để khám phá các thiết bị với các dịch vụ hoặc đặc điểm cụ thể, làm cho nó linh hoạt hơn cho các ứng dụng cần tương tác với nhiều thiết bị BLE khác nhau.
So sánh
- Kiến trúc: MVVMCROSS.Plugin.ble được thiết kế đặc biệt để sử dụng trong khung MVVMCROSS, cung cấp các dịch vụ có thể được đưa vào các mô hình xem. Plugin.ble (Crossbluetoothle) chung chung hơn và có thể được sử dụng trong bất kỳ dự án dựa trên Xamarin nào.
- Khám phá thiết bị: Cả hai plugin đều dựa vào việc triển khai BLE cơ bản để khám phá thiết bị. Tuy nhiên, Crossbluetoothle cung cấp quyền truy cập trực tiếp hơn vào các phương pháp và bộ lọc quét, giúp dễ dàng tùy chỉnh quy trình khám phá. Tài liệu của mvvmcross.plugin.ble không chi tiết các phương thức quét chi tiết, cho thấy nó có thể dựa vào nhà phát triển để sử dụng chức năng crossbluetoothle cơ bản.
- Hỗ trợ nền tảng: Cả hai plugin hỗ trợ Android và iOS, nhưng mvvmcross.plugin.ble cũng đề cập đến hỗ trợ cho macOS và windows, có thể có lợi cho các ứng dụng đa nền tảng nhắm vào các nền tảng này.
Tóm lại, trong khi cả hai plugin cho phép khám phá thiết bị BLE, mvvmcross.plugin.ble được tích hợp nhiều hơn với khung MVVMcross và có thể yêu cầu thiết lập hoặc phụ thuộc bổ sung vào chức năng crossbluetoothle cơ bản để quét. Plugin.ble (Crossbluetoothle) cung cấp một cách tiếp cận đơn giản hơn để khám phá thiết bị với quyền truy cập trực tiếp vào các phương thức và bộ lọc quét.
Trích dẫn:[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