Use Case
U909 RFID BLE Flutter Plugin dibangun untuk kebutuhan skenario di mana perangkat Chainway U909 perlu berkomunikasi tidak hanya melalui RFID, tetapi juga melalui koneksi Bluetooth dengan perangkat peripheral lain — seperti printer label BLE atau scanner tambahan. Plugin ini menggabungkan dua kapabilitas hardware dalam satu antarmuka Dart yang konsisten.
Fitur Utama
- Pembacaan tag RFID — fungsionalitas inti yang sama dengan C72 plugin: single scan, continuous scan, dan stream-based tag output
- Pemindaian perangkat BLE — scan perangkat Bluetooth di sekitar dengan filter berdasarkan nama, UUID layanan, atau RSSI minimum
- Manajemen koneksi BLE — connect, disconnect, dan monitoring status koneksi ke perangkat BLE yang dipilih
- Karakteristik GATT — baca dan tulis data ke karakteristik GATT perangkat BLE yang terhubung
- Dual-channel API —
MethodChanneluntuk operasi satu kali danEventChanneluntuk data stream (RFID tag & notifikasi BLE)
Perbedaan dengan C72 Plugin
| Fitur | C72 Plugin | U909 Plugin |
|---|---|---|
| Baca tag RFID | ✓ | ✓ |
| Scan perangkat BLE | — | ✓ |
| Koneksi & manajemen BLE | — | ✓ |
| Baca/tulis GATT | — | ✓ |
| Target perangkat | Chainway C72 | Chainway U909 |
Tantangan Teknis
Mengelola dua subsistem hardware (RFID reader dan BLE stack) secara bersamaan dalam satu plugin membutuhkan manajemen thread yang hati-hati di sisi Android. Callback dari RFID SDK dan BLE callback (BluetoothGattCallback) berjalan di thread yang berbeda — keduanya harus di-marshal ke main thread sebelum dikirim ke Flutter melalui EventChannel.