v3.0.0
flutter_nordic_dfu
이 라이브러리는 Nordic Semiconductor의 nrf51 또는 nrf52 칩에 대한 장치 펌웨어 업데이트(DFU)를 수행할 수 있게 해줍니다. 현재는 Android에서만 작동합니다.
24좋아요 6330일 다운로드135Pub 점수
AndroidiOS
Flutter Nordic dfu
{"sdk":"flutter"}^1.0.4아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
This library allows you to do a Device Firmware Update (DFU) of your nrf51 or nrf52 chip from Nordic Semiconductor. It works for Android and iOS fine.
This is the implementation of the reference "react-native-nordic-dfu"
For more info about the DFU process, see: Resources
Add your dfu zip file to example/assets/file.zip
Run example project
Scan device
Start dfu
You can pass an absolute file path or asset file to FlutterNordicDfu
/// You can define your ProgressListenerListener
await FlutterNordicDfu.startDfu(
'EB:75:AD:E3:CA:CF', '/file/to/zip/path/file.zip',
progressListener: ProgressListenerListener(),
);
class ProgressListenerListener extends DfuProgressListenerAdapter {
@override
void onProgressChanged(String deviceAddress, int percent, double speed,
double avgSpeed, int currentPart, int partsTotal) {
super.onProgressChanged(
deviceAddress, percent, speed, avgSpeed, currentPart, partsTotal);
print('deviceAddress: $deviceAddress, percent: $percent');
}
}
/// Or you can use DefaultDfuProgressListenerAdapter
await FlutterNordicDfu.startDfu(
'EB:75:AD:E3:CA:CF',
'assets/file.zip',
fileInAsset: true,
progressListener:
DefaultDfuProgressListenerAdapter(onProgressChangedHandle: (
deviceAddress,
percent,
speed,
avgSpeed,
currentPart,
partsTotal,
) {
print('deviceAddress: $deviceAddress, percent: $percent');
}),
);
/// just set [fileInAsset] true
await FlutterNordicDfu.startDfu(
'EB:75:AD:E3:CA:CF', 'assets/file.zip',
progressListener: ProgressListenerListener(),
fileInAsset: true,
);
class ProgressListenerListener extends DfuProgressListenerAdapter {
@override
void onProgressChanged(String deviceAddress, int percent, double speed,
double avgSpeed, int currentPart, int partsTotal) {
super.onProgressChanged(
deviceAddress, percent, speed, avgSpeed, currentPart, partsTotal);
print('deviceAddress: $deviceAddress, percent: $percent');
}
}