android使用 ymodem协议,GitHub - LeonXtp/YModemForAndroid: A ymodem implementation that suitable for andr...

YModemForAndroid

YModem For Android is a library that easy to transmit file data with some terminal devices like BloothLE using ymodem protocol.

Notice

Though suitable, this library doesn't supply a ble component for transmitting data with terminal, it's your responsibility to encapsulate your own.

Get Started

Supported URI formats:

"file:///storage/emulated/0/filename.bin" // from SD card

"assets://image.png" // from assets

Initiation

ymodem = new YModem.Builder()

.with(this)

.filePath("assets://demo.bin")

.fileName("demo.bin")

.checkMd5("lsfjlhoiiw121241l241lgljaf")

.callback(new YModemListener() {

@Override

public void onDataReady(byte[] data) {

//send this data[] to your ble component here...

}

@Override

public void onProgress(int currentSent, int total) {

//the progress of the file data has transmitted

}

@Override

public void onSuccess() {

//we are well done with md5 checked

}

@Override

public void onFailed(String reason) {

//the task has failed for several times of trying

}

}).build();

Start transmission

ymodem.start();

Received data from terminal

When you received response from the ble terminal, tell ymodem to handle it:

ymodem.onReceiveData(data);

The param data should be byte array.

Stop

ymodem.stop();

Just enjoy it!

About

The concrete ymodem protocol implemented in this library:

* MY YMODEM IMPLEMTATION

* *SENDER: ANDROID APP *------------------------------------------* RECEIVER: BLE DEVICE*

* HELLO BOOTLOADER ---------------------------------------------->*

*

* SOH 00 FF filename0fileSizeInByte0MD5[90] ZERO[38] CRC CRC----->*

*

* STX 01 FE data[1024] CRC CRC ---------------------------------->*

*

* STX 02 FF data[1024] CRC CRC ---------------------------------->*

*

* ...

* ...

*

* STX 08 F7 data[1000] CPMEOF[24] CRC CRC ----------------------->*

*

* EOT ----------------------------------------------------------->*

*

* SOH 00 FF ZERO[128] ------------------------------------------->*

*

*

Reference

License

MIT

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值