1、main.lua:主程序入口,负责初始化系统和启动蓝牙FOTA服务;
2、ble_main.lua:BLE服务主功能模块,负责蓝牙连接管理、事件处理和数据传输;支持配置选择FOTA升级方式;
3、ble_file_fota.lua:FOTA业务逻辑模块(文件写入方式),负责升级流程控制、命令处理和文件操作;
4、ble_packet_fota.lua:FOTA业务逻辑模块(分段写入方式),负责升级流程控制、命令处理和分段数据操作;
5、ble_fota_tool.py:Python脚本工具,用于通过蓝牙发送升级包,演示ble升级的完整流程;
6、ble_fota.bin:演示蓝牙FOTA升级的升级包文件,用于测试升级功能的完整性;内容只升级了版本号,加了个打印
本demo演示的核心功能为:
Air8101模块通过BLE(蓝牙低功耗)进行固件远程升级(FOTA)的完整实现方案,支持两种升级方式:
文件写入方式:将接收到的升级包数据先保存到本地临时文件,完成数据接收后再执行升级
分段写入方式:直接将接收到的升级包数据通过fota.run()函数处理,无需保存到本地文件
适用场景:
1、Air8101 核心板一块
2、TYPE-C USB数据线一根 ,Air8101 核心板和数据线的硬件接线方式为:
1、Luatools下载调试工具,需要注意的是luatools工具版本必须为3.1.10及以上版本,否则制作的升级包没办法升级。
2、Air8101 V2001版本固件以上,25/12/17日后的固件)
3、Python 3 环境(用于运行ble_fota_tool.py发送升级包)
注意需要安装bleak库,可通过pip安装:
```bash
pip install bleak
```
在命令行中运行ble_fota_tool.py脚本,指定升级包文件名
python ble_fota_tool.py -f 升级包文件名
-d 或 --device - 指定目标设备名称(默认值为"Air8101_FOTA")
-f 或 --firmware - 指定固件文件路径(必需参数)
当运行脚本后,它会自动执行以下步骤:
脚本会在每个步骤显示详细的日志信息,包括连接状态、数据传输进度等,方便用户监控整个升级过程。
| 类型 | UUID | 属性 | 功能描述 |
|---|---|---|---|
| Service | F000 | - | FOTA服务主UUID,用于标识升级服务 |
| Characteristic | F001 | Write Without Response | 命令特征值,用于发送升级控制命令 |
| Characteristic | F002 | Write Without Response | 数据特征值,用于发送升级包数据 |
[命令码(1字节)] + [文件大小(4字节)]01 75 15 00 00 表示开始升级,固件大小为5493字节[命令码(1字节)]02[固件数据(n字节)]蓝牙FOTA升级通过BLE特征值进行命令控制和数据传输: 协议流程:
1、搭建好演示硬件环境
2、根据ble_main.lua中的fota_mode选择FOTA升级方式:"file" 或 "packet",默认是"packet"方式。
-- 选择FOTA升级方式,"file" 或 "packet"
local fota_mode = "packet"
3、测试的时候可以直接使用demo目录下已经制作好的升级包,也可以自己制作升级包。
自己制作升级包时使用Luatools制作升级包,流程参考升级包制作流程。将制作好的升级包放在ble_fota_tool.py同级目录下
4、使用Luatools烧录内核固件和demo脚本代码,烧录成功后,自动开机运行。
5、确认设备处于蓝牙广播状态(设备名称为"Air8101_FOTA")
6、运行Python脚本发送升级包:
python ble_fota_tool.py -f ble_fota.bin
7、脚本会自动扫描并连接到目标设备,发送升级命令并传输固件文件
8、设备接收并验证升级包,校验升级包没问题后会启动升级并重启,重启后项目版本号会从1.0.0更新为1.0.1
9、可以看到如下日志:
蓝牙FOTA升级日志解读:
设备启动,蓝牙服务初始化成功
收到开始升级命令,初始化FOTA分区和缓冲区
开始分段接收固件数据
所有数据接收完成,验证固件完整性
升级完成,设备重启
重启后新版本正常运行,确认升级成功
packet 升级方式日志如下:
[2025-12-17 16:54:14.565] luat:U(1248):I/user.BLE_INIT 开始初始化BLE...
[2025-12-17 16:54:14.565] luat:D(1249):bluetooth:执行bt初始化
[2025-12-17 16:54:14.565] bt_ipc:W(1248):bt_ipc_init bt ipc already initialised
[2025-12-17 16:54:14.565] rwnx_cal_set_rfconfig(0x101) phy on; rf off
[2025-12-17 16:54:14.658] luat:U(1326):I/user.BLE_INIT 蓝牙核心初始化成功
[2025-12-17 16:54:14.658] luat:D(1326):bluetooth:cmd:27
[2025-12-17 16:54:14.658] luat:U(1327):I/user.BLE_INIT BLE功能初始化成功
[2025-12-17 16:54:14.658] luat:U(1327):I/user.BLE_INIT GATT服务创建成功
[2025-12-17 16:54:14.658] luat:U(1328):I/user.BLE_INIT 配置广播数据...
[2025-12-17 16:54:14.658] luat:D(1334):bluetooth:ble_cmd_cb cmd:1 status:0
[2025-12-17 16:54:14.690] luat:D(1340):bluetooth:ble_cmd_cb cmd:2 status:0
[2025-12-17 16:54:14.690] luat:U(1341):I/user.BLE_INIT 广播配置成功
[2025-12-17 16:54:14.690] luat:D(1347):bluetooth:ble_cmd_cb cmd:4 status:0
[2025-12-17 16:54:14.690] luat:U(1348):I/user.BLE_INIT BLE广播已启动,设备名称: Air8101_FOTA
[2025-12-17 16:54:14.690] luat:U(1350):I/user.BLE_EVENT 收到BLE事件: 1
[2025-12-17 16:54:14.690] luat:U(1351):I/user.BLE_EVENT 其他事件类型: 1
[2025-12-17 16:54:14.690] luat:U(1351):I/user.BLE_EVENT 收到BLE事件: 3
[2025-12-17 16:54:14.690] luat:U(1351):I/user.BLE_EVENT 其他事件类型: 3
[2025-12-17 16:54:14.690] luat:U(1352):I/user.BLE_EVENT 收到BLE事件: 4
[2025-12-17 16:54:14.690] luat:U(1352):I/user.BLE_EVENT 其他事件类型: 4
[2025-12-17 16:54:17.448] luat:U(4110):I/user.fota version 001.000.000
[2025-12-17 16:54:20.440] luat:U(7110):I/user.fota version 001.000.000
[2025-12-17 16:54:23.438] luat:U(10110):I/user.fota version 001.000.000
[2025-12-17 16:54:26.434] luat:U(13110):I/user.fota version 001.000.000
[2025-12-17 16:54:29.440] luat:U(16110):I/user.fota version 001.000.000
[2025-12-17 16:54:32.434] luat:U(19110):I/user.fota version 001.000.000
[2025-12-17 16:54:32.870] ap0:ble:W(19432):appm_msg_handler,src_task_id:0x11,dest_id:0x0,src_id:0x0,msgid:0x1104
[2025-12-17 16:54:32.870] ap0:ble:W(19432):[gapc_connection_req_ind_handler]conidx:0,dest_id:0x0,con_peer_addr:92:6d:c7:33:13:14
[2025-12-17 16:54:32.870] luat:U(19546):I/user.BLE_EVENT 收到BLE事件: 12
[2025-12-17 16:54:32.870] luat:U(19546):I/user.BLE_EVENT 设备已连接 地址: 141333C76D92
[2025-12-17 16:54:32.886] luat:U(19547):I/user.BLE 设备连接成功: 141333C76D92
[2025-12-17 16:54:33.975] luat:U(20639):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 16:54:33.975] luat:U(20639):I/user.BLE_EVENT 处理写入事件
[2025-12-17 16:54:33.975] luat:U(20640):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 16:54:33.975] luat:U(20640):I/user.BLE_EVENT 特征值UUID: F001
[2025-12-17 16:54:33.975] luat:U(20640):I/user.BLE_EVENT 数据长度: 5 字节
[2025-12-17 16:54:33.975] luat:U(20641):I/user.BLE 收到写请求: F000 F001 01C8A90000
[2025-12-17 16:54:33.975] luat:U(20641):I/user.ble_packet_fota 处理写入数据 F000 F001 01C8A90000 10
[2025-12-17 16:54:33.975] luat:U(20641):I/user.ble_packet_fota UUID匹配结果: 服务匹配: 1 命令匹配: 1 数据匹配: nil
[2025-12-17 16:54:33.975] luat:U(20642):I/user.ble_packet_fota 命令特征值匹配,处理命令
[2025-12-17 16:54:33.975] luat:U(20642):I/user.FOTA_CMD 收到命令数据: 01C8A90000 长度: 5
[2025-12-17 16:54:33.975] luat:U(20642):I/user.FOTA_CMD 解析命令码: 1 (0x01)
[2025-12-17 16:54:33.975] luat:U(20642):I/user.FOTA_CMD 处理开始升级命令
[2025-12-17 16:54:33.975] luat:U(20643):I/user.FOTA_CMD 文件总大小: 43464 字节
[2025-12-17 16:54:33.975] luat:U(20643):I/user.FOTA_CMD 初始化FOTA子系统...
[2025-12-17 16:54:33.975] luat:U(20643):I/user.FOTA_CMD FOTA初始化成功
[2025-12-17 16:54:33.975] luat:U(20644):I/user.FOTA_CMD FOTA底层准备就绪
[2025-12-17 16:54:33.975] luat:U(20644):I/user.FOTA_CMD 升级状态已设置 总大小: 43464
[2025-12-17 16:54:33.975] luat:U(20644):I/user.FOTA_CMD 准备接收固件数据...
[2025-12-17 16:54:35.063] luat:U(21730):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 16:54:35.063] luat:U(21730):I/user.BLE_EVENT 处理写入事件
[2025-12-17 16:54:35.063] luat:U(21730):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 16:54:35.063] luat:U(21731):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 16:54:35.063] luat:U(21731):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 16:54:35.063] luat:U(21731):I/user.BLE 收到写请求: F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[2025-12-17 16:54:35.063] luat:U(21732):I/user.ble_packet_fota 处理写入数据 F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 400
[2025-12-17 16:54:35.063] luat:U(21733):I/user.ble_packet_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 16:54:35.063] luat:U(21733):I/user.ble_packet_fota 数据特征值匹配,处理数据
[2025-12-17 16:54:35.063] luat:U(21733):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 16:54:35.063] luat:U(21733):I/user.FOTA_DATA 处理分段数据,包序号: 0
[2025-12-17 16:54:35.063] luat:U(21733):I/user.FOTA_DATA 分段写入结果: result: true isDone: false
[2025-12-17 16:54:35.063] luat:U(21734):I/user.FOTA_DATA 数据写入成功,当前总计: 200 字节
[2025-12-17 16:54:35.204] luat:U(21867):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 16:54:35.204] luat:U(21868):I/user.BLE_EVENT 处理写入事件
[2025-12-17 16:54:35.204] luat:U(21868):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 16:54:35.204] luat:U(21868):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 16:54:35.204] luat:U(21868):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 16:54:35.204] luat:U(21869):I/user.BLE 收到写请求: F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[2025-12-17 16:54:35.204] luat:U(21870):I/user.ble_packet_fota 处理写入数据 F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 400
[2025-12-17 16:54:35.204] luat:U(21870):I/user.ble_packet_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 16:54:35.204] luat:U(21870):I/user.ble_packet_fota 数据特征值匹配,处理数据
[2025-12-17 16:54:35.204] luat:U(21871):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 16:54:35.204] luat:U(21871):I/user.FOTA_DATA 处理分段数据,包序号: 1
[2025-12-17 16:54:35.204] luat:U(21871):I/user.FOTA_DATA 分段写入结果: result: true isDone: false
[2025-12-17 16:54:35.204] luat:U(21871):I/user.FOTA_DATA 数据写入成功,当前总计: 400 字节
[2025-12-17 16:54:35.345] luat:U(22005):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 16:54:35.345] luat:U(22005):I/user.BLE_EVENT 处理写入事件
[2025-12-17 16:54:35.345] luat:U(22005):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 16:54:35.345] luat:U(22005):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 16:54:35.345] luat:U(22006):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 16:54:35.345] luat:U(22006):I/user.BLE 收到写请求: F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[2025-12-17 16:54:35.345] luat:U(22007):I/user.ble_packet_fota 处理写入数据 F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 400
[2025-12-17 16:54:35.345] luat:U(22007):I/user.ble_packet_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 16:54:35.345] luat:U(22008):I/user.ble_packet_fota 数据特征值匹配,处理数据
[2025-12-17 16:54:35.345] luat:U(22008):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 16:54:35.345] luat:U(22008):I/user.FOTA_DATA 处理分段数据,包序号: 2
[2025-12-17 16:54:35.345] luat:U(22008):I/user.FOTA_DATA 分段写入结果: result: true isDone: false
[2025-12-17 16:54:35.345] luat:U(22009):I/user.FOTA_DATA 数据写入成功,当前总计: 600 字节
[2025-12-17 16:54:35.437] luat:U(22110):I/user.fota version 001.000.000
[2025-12-17 16:54:35.484] luat:U(22151):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 16:54:35.484] luat:U(22151):I/user.BLE_EVENT 处理写入事件
[2025-12-17 16:54:35.484] luat:U(22152):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 16:54:35.484] luat:U(22152):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 16:54:35.484] luat:U(22152):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 16:54:35.484] luat:U(22153):I/user.BLE 收到写请求: F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[2025-12-17 16:54:35.484] luat:U(22153):I/user.ble_packet_fota 处理写入数据 F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 400
[2025-12-17 16:54:35.484] luat:U(22154):I/user.ble_packet_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 16:54:35.484] luat:U(22154):I/user.ble_packet_fota 数据特征值匹配,处理数据
[2025-12-17 16:54:35.484] luat:U(22154):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 16:54:35.484] luat:U(22154):I/user.FOTA_DATA 处理分段数据,包序号: 3
[2025-12-17 16:54:35.484] luat:U(22155):I/user.FOTA_DATA 分段写入结果: result: true isDone: false
[2025-12-17 16:54:35.484] luat:U(22155):I/user.FOTA_DATA 数据写入成功,当前总计: 800 字节
[2025-12-17 16:54:35.640] luat:U(22326):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 16:54:35.640] luat:U(22326):I/user.BLE_EVENT 处理写入事件
[2025-12-17 16:54:35.640] luat:U(22327):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 16:54:35.640] luat:U(22327):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 16:54:35.640] luat:U(22327):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 16:54:35.640] luat:U(22328):I/user.BLE 收到写请求: F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[2025-12-17 16:54:35.662] luat:U(22328):I/user.ble_packet_fota 处理写入数据 F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 400
[2025-12-17 16:54:35.662] luat:U(22329):I/user.ble_packet_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 16:54:35.662] luat:U(22329):I/user.ble_packet_fota 数据特征值匹配,处理数据
[2025-12-17 16:54:35.662] luat:U(22329):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 16:54:35.662] luat:U(22329):I/user.FOTA_DATA 处理分段数据,包序号: 4
[2025-12-17 16:54:35.662] luat:U(22330):I/user.FOTA_DATA 分段写入结果: result: true isDone: false
[2025-12-17 16:54:35.662] luat:U(22330):I/user.FOTA_DATA 数据写入成功,当前总计: 1000 字节
--省略重复日志--
[2025-12-17 16:55:13.372] luat:U(60038):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 16:55:13.372] luat:U(60038):I/user.BLE_EVENT 处理写入事件
[2025-12-17 16:55:13.372] luat:U(60038):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 16:55:13.372] luat:U(60038):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 16:55:13.372] luat:U(60039):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 16:55:13.372] luat:U(60039):I/user.BLE 收到写请求: F000 F002 6E744279496428276C6F67696E506167A9CA6527292E636C6173734C6973742E616464282768696464656E27293B0D0A202066E4202020202020202020202020202020202020646F63756D656E742E676574456C4B87656D656E7442794964282766696C655061676527292E636C6173734C6973742EAEB172656D6F7665282768696464656E27293B0D0A202020202020202020202020207228202020202020206C6F616446696C657328272F6C7561646227293B0D0A202020B82D202020202020202020202020
[2025-12-17 16:55:13.372] luat:U(60040):I/user.ble_packet_fota 处理写入数据 F000 F002 6E744279496428276C6F67696E506167A9CA6527292E636C6173734C6973742E616464282768696464656E27293B0D0A202066E4202020202020202020202020202020202020646F63756D656E742E676574456C4B87656D656E7442794964282766696C655061676527292E636C6173734C6973742EAEB172656D6F7665282768696464656E27293B0D0A202020202020202020202020207228202020202020206C6F616446696C657328272F6C7561646227293B0D0A202020B82D202020202020202020202020 400
[2025-12-17 16:55:13.372] luat:U(60040):I/user.ble_packet_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 16:55:13.372] luat:U(60040):I/user.ble_packet_fota 数据特征值匹配,处理数据
[2025-12-17 16:55:13.372] luat:U(60041):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 16:55:13.372] luat:U(60041):I/user.FOTA_DATA 处理分段数据,包序号: 214
[2025-12-17 16:55:13.372] luat:U(60041):I/user.FOTA_DATA 分段写入结果: result: true isDone: false
[2025-12-17 16:55:13.372] luat:U(60041):I/user.FOTA_DATA 数据写入成功,当前总计: 43000 字节
[2025-12-17 16:55:13.528] luat:U(60213):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 16:55:13.528] luat:U(60213):I/user.BLE_EVENT 处理写入事件
[2025-12-17 16:55:13.528] luat:U(60213):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 16:55:13.528] luat:U(60213):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 16:55:13.528] luat:U(60214):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 16:55:13.528] luat:U(60214):I/user.BLE 收到写请求: F000 F002 207D0D0A2020202020202020202020207D293B0D2DB30A20202020202020207D3B0D0A202020203C2F7363726970743E0D0A3C2F626FB49164793E0D0A3C2F68746D6C3E0D0A01045AA55AA502142E6169726D326D5F616C41256C5F637263232E62696E030410000000FE025F0A85779E0F60399D926FD45C9203CFFE06FEBA00000000000000000000000000000000000000000000000000000000E548000000000000000000000000000000000000000000000000000000000000000080290000000000000000
[2025-12-17 16:55:13.528] luat:U(60215):I/user.ble_packet_fota 处理写入数据 F000 F002 207D0D0A2020202020202020202020207D293B0D2DB30A20202020202020207D3B0D0A202020203C2F7363726970743E0D0A3C2F626FB49164793E0D0A3C2F68746D6C3E0D0A01045AA55AA502142E6169726D326D5F616C41256C5F637263232E62696E030410000000FE025F0A85779E0F60399D926FD45C9203CFFE06FEBA00000000000000000000000000000000000000000000000000000000E548000000000000000000000000000000000000000000000000000000000000000080290000000000000000 400
[2025-12-17 16:55:13.528] luat:U(60215):I/user.ble_packet_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 16:55:13.528] luat:U(60216):I/user.ble_packet_fota 数据特征值匹配,处理数据
[2025-12-17 16:55:13.528] luat:U(60216):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 16:55:13.528] luat:U(60216):I/user.FOTA_DATA 处理分段数据,包序号: 215
[2025-12-17 16:55:13.563] luat:U(60216):I/user.FOTA_DATA 分段写入结果: result: true isDone: false
[2025-12-17 16:55:13.563] luat:U(60216):I/user.FOTA_DATA 数据写入成功,当前总计: 43200 字节
[2025-12-17 16:55:13.714] luat:U(60388):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 16:55:13.714] luat:U(60388):I/user.BLE_EVENT 处理写入事件
[2025-12-17 16:55:13.714] luat:U(60388):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 16:55:13.714] luat:U(60388):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 16:55:13.714] luat:U(60389):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 16:55:13.714] luat:U(60389):I/user.BLE 收到写请求: F000 F002 0000000000000000000000000000000000000000000000008029000000000000000000000000000000000000000000000000000000000000000080290000000000000000000000000000000000000000000000000000000000000000802900000000000000000000000000000000000000000000000000000000000000008029000000000000000000000000000000000000000000000000000000000000000080290000000000000000000000000000000000000000000000000000000000000000802900000000
[2025-12-17 16:55:13.734] luat:U(60390):I/user.ble_packet_fota 处理写入数据 F000 F002 0000000000000000000000000000000000000000000000008029000000000000000000000000000000000000000000000000000000000000000080290000000000000000000000000000000000000000000000000000000000000000802900000000000000000000000000000000000000000000000000000000000000008029000000000000000000000000000000000000000000000000000000000000000080290000000000000000000000000000000000000000000000000000000000000000802900000000 400
[2025-12-17 16:55:13.734] luat:U(60390):I/user.ble_packet_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 16:55:13.734] luat:U(60391):I/user.ble_packet_fota 数据特征值匹配,处理数据
[2025-12-17 16:55:13.734] luat:U(60391):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 16:55:13.734] luat:U(60391):I/user.FOTA_DATA 处理分段数据,包序号: 216
[2025-12-17 16:55:13.734] luat:U(60391):I/user.FOTA_DATA 分段写入结果: result: true isDone: false
[2025-12-17 16:55:13.734] luat:U(60391):I/user.FOTA_DATA 数据写入成功,当前总计: 43400 字节
[2025-12-17 16:55:13.870] luat:U(60559):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 16:55:13.870] luat:U(60560):I/user.BLE_EVENT 处理写入事件
[2025-12-17 16:55:13.870] luat:U(60560):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 16:55:13.870] luat:U(60560):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 16:55:13.870] luat:U(60560):I/user.BLE_EVENT 数据长度: 64 字节
[2025-12-17 16:55:13.870] luat:U(60561):I/user.BLE 收到写请求: F000 F002 00000000000000000000000000000000000000000000000000000000802900000000000000000000000000000000000000000000000000000000000000008029
[2025-12-17 16:55:13.898] luat:U(60561):I/user.ble_packet_fota 处理写入数据 F000 F002 00000000000000000000000000000000000000000000000000000000802900000000000000000000000000000000000000000000000000000000000000008029 128
[2025-12-17 16:55:13.898] luat:U(60562):I/user.ble_packet_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 16:55:13.910] luat:U(60562):I/user.ble_packet_fota 数据特征值匹配,处理数据
[2025-12-17 16:55:13.910] luat:U(60562):I/user.FOTA_DATA 收到数据包,长度: 64 字节
[2025-12-17 16:55:13.923] luat:U(60562):I/user.FOTA_DATA 处理分段数据,包序号: 217
[2025-12-17 16:55:14.183] luat:I(60853):fota:erase time used 290ms
[2025-12-17 16:55:14.230] luat:I(60897):fota:write time used 44ms
[2025-12-17 16:55:14.230] luat:I(60897):fota:FOTA progress: 43464 bytes written , total 40254ms
[2025-12-17 16:55:14.230] luat:U(60898):I/user.FOTA_DATA 分段写入结果: result: true isDone: true
[2025-12-17 16:55:14.230] luat:U(60898):I/user.FOTA_DATA 升级进度: 100 % ( 43464 / 43464 )
[2025-12-17 16:55:14.230] luat:U(60898):I/user.FOTA_DATA 数据写入成功,当前总计: 43464 字节
[2025-12-17 16:55:14.230] luat:U(60899):I/user.FOTA_DATA 所有数据已接收,等待升级完成...
[2025-12-17 16:55:14.324] luat:U(60996):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 16:55:14.324] luat:U(60996):I/user.BLE_EVENT 处理写入事件
[2025-12-17 16:55:14.324] luat:U(60996):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 16:55:14.324] luat:U(60996):I/user.BLE_EVENT 特征值UUID: F001
[2025-12-17 16:55:14.324] luat:U(60997):I/user.BLE_EVENT 数据长度: 1 字节
[2025-12-17 16:55:14.324] luat:U(60997):I/user.BLE 收到写请求: F000 F001 02
[2025-12-17 16:55:14.324] luat:U(60997):I/user.ble_packet_fota 处理写入数据 F000 F001 02 2
[2025-12-17 16:55:14.324] luat:U(60998):I/user.ble_packet_fota UUID匹配结果: 服务匹配: 1 命令匹配: 1 数据匹配: nil
[2025-12-17 16:55:14.324] luat:U(60998):I/user.ble_packet_fota 命令特征值匹配,处理命令
[2025-12-17 16:55:14.324] luat:U(60998):I/user.FOTA_CMD 收到命令数据: 02 长度: 1
[2025-12-17 16:55:14.324] luat:U(60999):I/user.FOTA_CMD 解析命令码: 2 (0x02)
[2025-12-17 16:55:14.324] luat:U(60999):I/user.FOTA_CMD 处理结束升级命令
[2025-12-17 16:55:14.324] luat:U(60999):I/user.FOTA_CMD 验证文件完整性...
[2025-12-17 16:55:14.324] luat:U(60999):I/user.FOTA_CMD 已接收: 43464 字节
[2025-12-17 16:55:14.324] luat:U(60999):I/user.FOTA_CMD 应接收: 43464 字节
[2025-12-17 16:55:14.324] luat:U(60999):I/user.FOTA_CMD 文件完整性验证通过
[2025-12-17 16:55:14.324] luat:U(60999):I/user.FOTA_CMD 升级数据已全部接收,等待升级完成...
[2025-12-17 16:55:14.432] luat:I(61099):fota:fota done, write 43464 bytes
[2025-12-17 16:55:14.432] luat:U(61099):I/user.FOTA_CMD FOTA升级成功!
[2025-12-17 16:55:14.432] luat:U(61100):I/user.FOTA_CMD 2秒后设备将自动重启...,重启后通过日志判断最终是否升级成功
[2025-12-17 16:55:14.432] luat:U(61100):I/user.FOTA_CMD 结束升级命令处理完成
[2025-12-17 16:55:14.432] luat:U(61109):I/user.fota version 001.000.000
[2025-12-17 16:55:16.430] luat:U(63099):I/user.FOTA_CMD 正在重启设备...
file方式升级日志如下:
[2025-12-17 17:18:56.849] luat:U(1246):I/user.BLE_INIT 开始初始化BLE...
[2025-12-17 17:18:56.849] luat:D(1246):bluetooth:执行bt初始化
[2025-12-17 17:18:56.849] bt_ipc:W(1245):bt_ipc_init bt ipc already initialised
[2025-12-17 17:18:56.849] rwnx_cal_set_rfconfig(0x101) phy on; rf off
[2025-12-17 17:18:56.927] luat:U(1323):I/user.BLE_INIT 蓝牙核心初始化成功
[2025-12-17 17:18:56.927] luat:D(1323):bluetooth:cmd:27
[2025-12-17 17:18:56.927] luat:U(1324):I/user.BLE_INIT BLE功能初始化成功
[2025-12-17 17:18:56.927] luat:U(1325):I/user.BLE_INIT GATT服务创建成功
[2025-12-17 17:18:56.927] luat:U(1325):I/user.BLE_INIT 配置广播数据...
[2025-12-17 17:18:56.927] luat:D(1331):bluetooth:ble_cmd_cb cmd:1 status:0
[2025-12-17 17:18:56.961] luat:D(1338):bluetooth:ble_cmd_cb cmd:2 status:0
[2025-12-17 17:18:56.961] luat:U(1339):I/user.BLE_INIT 广播配置成功
[2025-12-17 17:18:56.961] luat:D(1345):bluetooth:ble_cmd_cb cmd:4 status:0
[2025-12-17 17:18:56.961] luat:U(1346):I/user.BLE_INIT BLE广播已启动,设备名称: Air8101_FOTA
[2025-12-17 17:18:56.961] luat:U(1348):I/user.BLE_EVENT 收到BLE事件: 1
[2025-12-17 17:18:56.961] luat:U(1349):I/user.BLE_EVENT 其他事件类型: 1
[2025-12-17 17:18:56.961] luat:U(1349):I/user.BLE_EVENT 收到BLE事件: 3
[2025-12-17 17:18:56.961] luat:U(1349):I/user.BLE_EVENT 其他事件类型: 3
[2025-12-17 17:18:56.961] luat:U(1349):I/user.BLE_EVENT 收到BLE事件: 4
[2025-12-17 17:18:56.961] luat:U(1350):I/user.BLE_EVENT 其他事件类型: 4
[2025-12-17 17:18:59.706] luat:U(4105):I/user.fota version 001.000.000
[2025-12-17 17:19:02.699] luat:U(7105):I/user.fota version 001.000.000
[2025-12-17 17:19:05.704] luat:U(10105):I/user.fota version 001.000.000
[2025-12-17 17:19:08.695] luat:U(13105):I/user.fota version 001.000.000
[2025-12-17 17:19:11.706] luat:U(16105):I/user.fota version 001.000.000
[2025-12-17 17:19:14.707] luat:U(19105):I/user.fota version 001.000.000
[2025-12-17 17:19:15.805] ap0:ble:W(20098):appm_msg_handler,src_task_id:0x11,dest_id:0x0,src_id:0x0,msgid:0x1104
[2025-12-17 17:19:15.805] ap0:ble:W(20098):[gapc_connection_req_ind_handler]conidx:0,dest_id:0x0,con_peer_addr:92:6d:c7:33:13:14
[2025-12-17 17:19:15.805] luat:U(20206):I/user.BLE_EVENT 收到BLE事件: 12
[2025-12-17 17:19:15.805] luat:U(20206):I/user.BLE_EVENT 设备已连接 地址: 141333C76D92
[2025-12-17 17:19:15.805] luat:U(20207):I/user.BLE 设备连接成功: 141333C76D92
[2025-12-17 17:19:16.833] luat:U(21237):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 17:19:16.833] luat:U(21237):I/user.BLE_EVENT 处理写入事件
[2025-12-17 17:19:16.833] luat:U(21237):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 17:19:16.833] luat:U(21237):I/user.BLE_EVENT 特征值UUID: F001
[2025-12-17 17:19:16.833] luat:U(21238):I/user.BLE_EVENT 数据长度: 5 字节
[2025-12-17 17:19:16.833] luat:U(21238):I/user.BLE 收到写请求: F000 F001 01C8A90000
[2025-12-17 17:19:16.833] luat:U(21239):I/user.ble_file_fota 处理写入数据 F000 F001 01C8A90000 10
[2025-12-17 17:19:16.833] luat:U(21239):I/user.ble_file_fota UUID匹配结果: 服务匹配: 1 命令匹配: 1 数据匹配: nil
[2025-12-17 17:19:16.833] luat:U(21239):I/user.ble_file_fota 命令特征值匹配,处理命令
[2025-12-17 17:19:16.833] luat:U(21239):I/user.FOTA_CMD 收到命令数据: 01C8A90000 长度: 5
[2025-12-17 17:19:16.833] luat:U(21240):I/user.FOTA_CMD 解析命令码: 1 (0x01)
[2025-12-17 17:19:16.833] luat:U(21240):I/user.FOTA_CMD 处理开始升级命令
[2025-12-17 17:19:16.833] luat:U(21240):I/user.FOTA_CMD 文件总大小: 43464 字节
[2025-12-17 17:19:16.833] luat:U(21240):I/user.FOTA_CMD 初始化FOTA子系统...
[2025-12-17 17:19:16.833] luat:U(21241):I/user.FOTA_CMD FOTA初始化成功
[2025-12-17 17:19:16.833] luat:U(21241):I/user.FOTA_CMD FOTA底层准备就绪
[2025-12-17 17:19:16.872] luat:U(21278):I/user.FOTA_CMD 升级状态已设置 总大小: 43464 临时文件: /ble_fota.bin
[2025-12-17 17:19:16.872] luat:U(21278):I/user.FOTA_CMD 准备接收固件数据...
[2025-12-17 17:19:17.705] luat:U(22105):I/user.fota version 001.000.000
[2025-12-17 17:19:17.909] luat:U(22314):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 17:19:17.909] luat:U(22314):I/user.BLE_EVENT 处理写入事件
[2025-12-17 17:19:17.909] luat:U(22314):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 17:19:17.909] luat:U(22315):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 17:19:17.909] luat:U(22315):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 17:19:17.909] luat:U(22315):I/user.BLE 收到写请求: F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[2025-12-17 17:19:17.929] luat:U(22316):I/user.ble_file_fota 处理写入数据 F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 400
[2025-12-17 17:19:17.929] luat:U(22317):I/user.ble_file_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 17:19:17.929] luat:U(22317):I/user.ble_file_fota 数据特征值匹配,处理数据
[2025-12-17 17:19:17.929] luat:U(22317):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 17:19:17.929] luat:U(22317):I/user.FOTA_DATA 写入文件: /ble_fota.bin
[2025-12-17 17:19:17.943] luat:U(22359):I/user.FOTA_DATA 数据写入成功,当前总计: 200 字节
[2025-12-17 17:19:18.047] luat:U(22451):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 17:19:18.047] luat:U(22451):I/user.BLE_EVENT 处理写入事件
[2025-12-17 17:19:18.047] luat:U(22452):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 17:19:18.047] luat:U(22452):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 17:19:18.047] luat:U(22452):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 17:19:18.047] luat:U(22453):I/user.BLE 收到写请求: F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[2025-12-17 17:19:18.047] luat:U(22453):I/user.ble_file_fota 处理写入数据 F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 400
[2025-12-17 17:19:18.047] luat:U(22454):I/user.ble_file_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 17:19:18.085] luat:U(22454):I/user.ble_file_fota 数据特征值匹配,处理数据
[2025-12-17 17:19:18.085] luat:U(22454):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 17:19:18.085] luat:U(22455):I/user.FOTA_DATA 写入文件: /ble_fota.bin
[2025-12-17 17:19:18.624] luat:U(23023):I/user.FOTA_DATA 数据写入成功,当前总计: 400 字节
[2025-12-17 17:19:18.624] luat:U(23024):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 17:19:18.624] luat:U(23024):I/user.BLE_EVENT 处理写入事件
[2025-12-17 17:19:18.624] luat:U(23024):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 17:19:18.624] luat:U(23025):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 17:19:18.624] luat:U(23025):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 17:19:18.624] luat:U(23026):I/user.BLE 收到写请求: F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[2025-12-17 17:19:18.624] luat:U(23026):I/user.ble_file_fota 处理写入数据 F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 400
[2025-12-17 17:19:18.624] luat:U(23027):I/user.ble_file_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 17:19:18.624] luat:U(23027):I/user.ble_file_fota 数据特征值匹配,处理数据
[2025-12-17 17:19:18.624] luat:U(23027):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 17:19:18.624] luat:U(23027):I/user.FOTA_DATA 写入文件: /ble_fota.bin
[2025-12-17 17:19:18.673] luat:U(23098):I/user.FOTA_DATA 数据写入成功,当前总计: 600 字节
[2025-12-17 17:19:18.673] luat:U(23099):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 17:19:18.684] luat:U(23099):I/user.BLE_EVENT 处理写入事件
[2025-12-17 17:19:18.684] luat:U(23099):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 17:19:18.684] luat:U(23099):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 17:19:18.684] luat:U(23100):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 17:19:18.684] luat:U(23100):I/user.BLE 收到写请求: F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[2025-12-17 17:19:18.684] luat:U(23101):I/user.ble_file_fota 处理写入数据 F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 400
[2025-12-17 17:19:18.684] luat:U(23101):I/user.ble_file_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 17:19:18.684] luat:U(23102):I/user.ble_file_fota 数据特征值匹配,处理数据
[2025-12-17 17:19:18.684] luat:U(23102):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 17:19:18.684] luat:U(23102):I/user.FOTA_DATA 写入文件: /ble_fota.bin
[2025-12-17 17:19:18.779] luat:U(23177):I/user.FOTA_DATA 数据写入成功,当前总计: 800 字节
[2025-12-17 17:19:18.779] luat:U(23178):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 17:19:18.779] luat:U(23178):I/user.BLE_EVENT 处理写入事件
[2025-12-17 17:19:18.779] luat:U(23178):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 17:19:18.779] luat:U(23179):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 17:19:18.779] luat:U(23179):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 17:19:18.779] luat:U(23180):I/user.BLE 收到写请求: F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[2025-12-17 17:19:18.779] luat:U(23180):I/user.ble_file_fota 处理写入数据 F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 400
[2025-12-17 17:19:18.779] luat:U(23181):I/user.ble_file_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 17:19:18.779] luat:U(23182):I/user.ble_file_fota 数据特征值匹配,处理数据
[2025-12-17 17:19:18.779] luat:U(23182):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 17:19:18.779] luat:U(23183):I/user.FOTA_DATA 写入文件: /ble_fota.bin
[2025-12-17 17:19:18.856] luat:U(23264):I/user.FOTA_DATA 数据写入成功,当前总计: 1000 字节
[2025-12-17 17:19:18.856] luat:U(23265):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 17:19:18.856] luat:U(23265):I/user.BLE_EVENT 处理写入事件
[2025-12-17 17:19:18.856] luat:U(23265):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 17:19:18.856] luat:U(23266):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 17:19:18.856] luat:U(23266):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 17:19:18.886] luat:U(23266):I/user.BLE 收到写请求: F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5441554CC0A5000001045AA55AA50202020003041800000004020600FE02340301045AA55AA50212C6EE626C655F66696C655F666F74612E6C75616303045E1B0000FE02A50A1B4C7561195C530019930D0A1A0A0404040808785600000000000000000000002877400113404052626C655F66696C655F666F74612E6C7561000000000000000000010714000000A9720B0000004B0001004A4040804AC040814AC040824A80C1828B0001008A00C283
[2025-12-17 17:19:18.886] luat:U(23267):I/user.ble_file_fota 处理写入数据 F000 F002 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5441554CC0A5000001045AA55AA50202020003041800000004020600FE02340301045AA55AA50212C6EE626C655F66696C655F666F74612E6C75616303045E1B0000FE02A50A1B4C7561195C530019930D0A1A0A0404040808785600000000000000000000002877400113404052626C655F66696C655F666F74612E6C7561000000000000000000010714000000A9720B0000004B0001004A4040804AC040814AC040824A80C1828B0001008A00C283 400
[2025-12-17 17:19:18.886] luat:U(23268):I/user.ble_file_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 17:19:18.886] luat:U(23268):I/user.ble_file_fota 数据特征值匹配,处理数据
[2025-12-17 17:19:18.886] luat:U(23269):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 17:19:18.886] luat:U(23269):I/user.FOTA_DATA 写入文件: /ble_fota.bin
[2025-12-17 17:19:18.964] luat:U(23370):I/user.FOTA_DATA 数据写入成功,当前总计: 1200 字节
[2025-12-17 17:19:18.997] luat:U(23404):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 17:19:18.997] luat:U(23404):I/user.BLE_EVENT 处理写入事件
[2025-12-17 17:19:18.997] luat:U(23404):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 17:19:18.997] luat:U(23405):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 17:19:18.997] luat:U(23405):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 17:19:18.997] luat:U(23405):I/user.BLE 收到写请求: F000 F002 B76B8A80C2848A00C3858A80C386EC0000002C4100006C810000ACC100000A80818780E0AC0101000A800188260000012600800011000000040D69735F757067726164693D9D6E670100040B746F74616C5F73697A65130000000000000000040E7265636569A4007665645F73697A65040D757067726164655F66696C65040E2F626C655F666F7444D9612E62696E040D736572766963655F75756964040546303030040E636861725F5297757569645F636D64040546303031040F636861725F757569645F6461
[2025-12-17 17:19:19.032] luat:U(23406):I/user.ble_file_fota 处理写入数据 F000 F002 B76B8A80C2848A00C3858A80C386EC0000002C4100006C810000ACC100000A80818780E0AC0101000A800188260000012600800011000000040D69735F757067726164693D9D6E670100040B746F74616C5F73697A65130000000000000000040E7265636569A4007665645F73697A65040D757067726164655F66696C65040E2F626C655F666F7444D9612E62696E040D736572766963655F75756964040546303030040E636861725F5297757569645F636D64040546303031040F636861725F757569645F6461 400
[2025-12-17 17:19:19.032] luat:U(23407):I/user.ble_file_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 17:19:19.032] luat:U(23407):I/user.ble_file_fota 数据特征值匹配,处理数据
[2025-12-17 17:19:19.032] luat:U(23407):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 17:19:19.032] luat:U(23407):I/user.FOTA_DATA 写入文件: /ble_fota.bin
[2025-12-17 17:19:19.106] luat:U(23509):I/user.FOTA_DATA 数据写入成功,当前总计: 1400 字节
[2025-12-17 17:19:19.214] luat:U(23623):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 17:19:19.214] luat:U(23623):I/user.BLE_EVENT 处理写入事件
[2025-12-17 17:19:19.214] luat:U(23623):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 17:19:19.214] luat:U(23623):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 17:19:19.214] luat:U(23624):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 17:19:19.232] luat:U(23624):I/user.BLE 收到写请求: F000 F002 746104052CB34630303204106D61785F7061636B65745F73697A6513C8000000000000000405050070726F63041070726F635F646973636F6E6E6563740100000001000500000000624C280000002D0000000000030D0000000600400007404000430080002440000106608F80400007C040004100010081400100244080010680410007C041002440800026A48D008000080000000405666F7461040766696E69736804046C6F670405696E666FB93E0409464F54415F434D440416E6ADA3E59CA8E9878DE590AF
[2025-12-17 17:19:19.232] luat:U(23625):I/user.ble_file_fota 处理写入数据 F000 F002 746104052CB34630303204106D61785F7061636B65745F73697A6513C8000000000000000405050070726F63041070726F635F646973636F6E6E6563740100000001000500000000624C280000002D0000000000030D0000000600400007404000430080002440000106608F80400007C040004100010081400100244080010680410007C041002440800026A48D008000080000000405666F7461040766696E69736804046C6F670405696E666FB93E0409464F54415F434D440416E6ADA3E59CA8E9878DE590AF 400
[2025-12-17 17:19:19.232] luat:U(23626):I/user.ble_file_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 17:19:19.232] luat:U(23626):I/user.ble_file_fota 数据特征值匹配,处理数据
[2025-12-17 17:19:19.232] luat:U(23626):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 17:19:19.232] luat:U(23626):I/user.FOTA_DATA 写入文件: /ble_fota.bin
[2025-12-17 17:19:19.325] luat:U(23735):I/user.FOTA_DATA 数据写入成功,当前总计: 1600 字节
[2025-12-17 17:19:19.437] luat:U(23841):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 17:19:19.437] luat:U(23841):I/user.BLE_EVENT 处理写入事件
[2025-12-17 17:19:19.437] luat:U(23842):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 17:19:19.437] luat:U(23842):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 17:19:19.437] luat:U(23842):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 17:19:19.437] luat:U(23843):I/user.BLE 收到写请求: F000 F002 E8AEBEE5A4872E2E003F2E040572746F7304077265626F6F74010000000000000000000D0000002A00006479002A0000002A0000002A0000002B0000002B0000002B0000002B0000002B000083EB002C0000002C0000002C0000002D0000000000000001000000055F454E560030490A0000009F00000001000C0C010000460040004740C00081800000C1C000000C01FA41410024810001414101009C010000644000035C0000002080C1001E4001804600C8CD400047C0C10081800000C1000200644080012600
[2025-12-17 17:19:19.464] luat:U(23843):I/user.ble_file_fota 处理写入数据 F000 F002 E8AEBEE5A4872E2E003F2E040572746F7304077265626F6F74010000000000000000000D0000002A00006479002A0000002A0000002A0000002B0000002B0000002B0000002B0000002B000083EB002C0000002C0000002C0000002D0000000000000001000000055F454E560030490A0000009F00000001000C0C010000460040004740C00081800000C1C000000C01FA41410024810001414101009C010000644000035C0000002080C1001E4001804600C8CD400047C0C10081800000C1000200644080012600 400
[2025-12-17 17:19:19.464] luat:U(23844):I/user.ble_file_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 17:19:19.464] luat:U(23844):I/user.ble_file_fota 数据特征值匹配,处理数据
[2025-12-17 17:19:19.464] luat:U(23844):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 17:19:19.464] luat:U(23844):I/user.FOTA_DATA 写入文件: /ble_fota.bin
[2025-12-17 17:19:19.564] luat:U(23963):I/user.FOTA_DATA 数据写入成功,当前总计: 1800 字节
-- 省略重复日志--
[2025-12-17 17:20:05.106] luat:U(69516):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 17:20:05.106] luat:U(69516):I/user.BLE_EVENT 处理写入事件
[2025-12-17 17:20:05.106] luat:U(69516):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 17:20:05.106] luat:U(69517):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 17:20:05.106] luat:U(69517):I/user.BLE_EVENT 数据长度: 200 字节
[2025-12-17 17:20:05.120] luat:U(69517):I/user.BLE 收到写请求: F000 F002 0000000000000000000000000000000000000000000000008029000000000000000000000000000000000000000000000000000000000000000080290000000000000000000000000000000000000000000000000000000000000000802900000000000000000000000000000000000000000000000000000000000000008029000000000000000000000000000000000000000000000000000000000000000080290000000000000000000000000000000000000000000000000000000000000000802900000000
[2025-12-17 17:20:05.120] luat:U(69518):I/user.ble_file_fota 处理写入数据 F000 F002 0000000000000000000000000000000000000000000000008029000000000000000000000000000000000000000000000000000000000000000080290000000000000000000000000000000000000000000000000000000000000000802900000000000000000000000000000000000000000000000000000000000000008029000000000000000000000000000000000000000000000000000000000000000080290000000000000000000000000000000000000000000000000000000000000000802900000000 400
[2025-12-17 17:20:05.120] luat:U(69519):I/user.ble_file_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 17:20:05.120] luat:U(69519):I/user.ble_file_fota 数据特征值匹配,处理数据
[2025-12-17 17:20:05.120] luat:U(69519):I/user.FOTA_DATA 收到数据包,长度: 200 字节
[2025-12-17 17:20:05.120] luat:U(69519):I/user.FOTA_DATA 写入文件: /ble_fota.bin
[2025-12-17 17:20:05.245] luat:U(69658):I/user.FOTA_DATA 数据写入成功,当前总计: 43400 字节
[2025-12-17 17:20:05.416] luat:U(69819):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 17:20:05.416] luat:U(69819):I/user.BLE_EVENT 处理写入事件
[2025-12-17 17:20:05.416] luat:U(69819):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 17:20:05.416] luat:U(69820):I/user.BLE_EVENT 特征值UUID: F002
[2025-12-17 17:20:05.416] luat:U(69820):I/user.BLE_EVENT 数据长度: 64 字节
[2025-12-17 17:20:05.416] luat:U(69820):I/user.BLE 收到写请求: F000 F002 00000000000000000000000000000000000000000000000000000000802900000000000000000000000000000000000000000000000000000000000000008029
[2025-12-17 17:20:05.416] luat:U(69821):I/user.ble_file_fota 处理写入数据 F000 F002 00000000000000000000000000000000000000000000000000000000802900000000000000000000000000000000000000000000000000000000000000008029 128
[2025-12-17 17:20:05.416] luat:U(69821):I/user.ble_file_fota UUID匹配结果: 服务匹配: 1 命令匹配: nil 数据匹配: 1
[2025-12-17 17:20:05.416] luat:U(69821):I/user.ble_file_fota 数据特征值匹配,处理数据
[2025-12-17 17:20:05.416] luat:U(69822):I/user.FOTA_DATA 收到数据包,长度: 64 字节
[2025-12-17 17:20:05.416] luat:U(69822):I/user.FOTA_DATA 写入文件: /ble_fota.bin
[2025-12-17 17:20:05.556] luat:U(69962):I/user.FOTA_DATA 升级进度: 100 % ( 43464 / 43464 )
[2025-12-17 17:20:05.556] luat:U(69962):I/user.FOTA_DATA 数据写入成功,当前总计: 43464 字节
[2025-12-17 17:20:05.636] luat:U(70036):I/user.BLE_EVENT 收到BLE事件: 15
[2025-12-17 17:20:05.636] luat:U(70036):I/user.BLE_EVENT 处理写入事件
[2025-12-17 17:20:05.636] luat:U(70037):I/user.BLE_EVENT 服务UUID: F000
[2025-12-17 17:20:05.636] luat:U(70037):I/user.BLE_EVENT 特征值UUID: F001
[2025-12-17 17:20:05.636] luat:U(70037):I/user.BLE_EVENT 数据长度: 1 字节
[2025-12-17 17:20:05.636] luat:U(70038):I/user.BLE 收到写请求: F000 F001 02
[2025-12-17 17:20:05.636] luat:U(70038):I/user.ble_file_fota 处理写入数据 F000 F001 02 2
[2025-12-17 17:20:05.636] luat:U(70038):I/user.ble_file_fota UUID匹配结果: 服务匹配: 1 命令匹配: 1 数据匹配: nil
[2025-12-17 17:20:05.636] luat:U(70038):I/user.ble_file_fota 命令特征值匹配,处理命令
[2025-12-17 17:20:05.636] luat:U(70039):I/user.FOTA_CMD 收到命令数据: 02 长度: 1
[2025-12-17 17:20:05.636] luat:U(70039):I/user.FOTA_CMD 解析命令码: 2 (0x02)
[2025-12-17 17:20:05.636] luat:U(70039):I/user.FOTA_CMD 处理结束升级命令
[2025-12-17 17:20:05.636] luat:U(70039):I/user.FOTA_CMD 验证文件完整性...
[2025-12-17 17:20:05.636] luat:U(70040):I/user.FOTA_CMD 已接收: 43464 字节
[2025-12-17 17:20:05.636] luat:U(70040):I/user.FOTA_CMD 应接收: 43464 字节
[2025-12-17 17:20:05.636] luat:U(70040):I/user.FOTA_CMD 文件完整性验证通过
[2025-12-17 17:20:05.636] luat:U(70040):I/user.FOTA_CMD 开始执行FOTA升级...
[2025-12-17 17:20:05.685] luat:U(70062):I/user.FOTA_CMD 文件大小: 43464 字节
[2025-12-17 17:20:05.685] luat:I(70104):fota:升级包类型: type=1, expected_len=43464
[2025-12-17 17:20:06.257] luat:I(70666):fota:erase time used 316ms
[2025-12-17 17:20:06.367] luat:I(70792):fota:write time used 125ms
[2025-12-17 17:20:06.367] luat:I(70793):fota:FOTA progress: 32768 bytes written , total 49552ms
[2025-12-17 17:20:06.740] luat:I(71144):fota:erase time used 271ms
[2025-12-17 17:20:06.786] luat:I(71187):fota:write time used 42ms
[2025-12-17 17:20:06.786] luat:I(71188):fota:FOTA progress: 43464 bytes written , total 49947ms
[2025-12-17 17:20:06.786] luat:I(71188):fota:fota file write done, call fota.done()
[2025-12-17 17:20:06.786] luat:I(71188):fota:fota done, write 43464 bytes
[2025-12-17 17:20:06.786] luat:I(71188):fota:fota done success, call fota.end()
[2025-12-17 17:20:06.786] luat:U(71188):I/user.FOTA_CMD FOTA升级结果: result: true isDone: true
[2025-12-17 17:20:06.786] luat:U(71188):I/user.FOTA_CMD FOTA升级成功!
[2025-12-17 17:20:06.786] luat:U(71188):I/user.FOTA_CMD 2秒后设备将自动重启...,重启后通过日志判断最终是否升级成功
[2025-12-17 17:20:06.786] luat:U(71189):I/user.FOTA_CMD 清理升级状态...
[2025-12-17 17:20:06.808] luat:U(71221):I/user.FOTA_CMD 已删除临时文件
[2025-12-17 17:20:06.808] luat:E(71221):fota:fota aborted status=10 written=43464
[2025-12-17 17:20:06.808] luat:U(71221):I/user.FOTA_CMD 升级流程结束
10、两种升级方式设备重启后现象一样,可以看到版本更新以及打印
[2025-12-17 16:51:51.110] luat:U(1773201):I/user.fota version 001.000.001
[2025-12-17 16:51:51.110] luat:U(1773201):I/user.hezhou ble_fota test
[2025-12-17 16:51:54.111] luat:U(1776201):I/user.fota version 001.000.001
[2025-12-17 16:51:54.111] luat:U(1776201):I/user.hezhou ble_fota test
[2025-12-17 16:51:57.114] luat:U(1779201):I/user.fota version 001.000.001
[2025-12-17 16:51:57.114] luat:U(1779201):I/user.hezhou ble_fota test
[2025-12-17 16:52:00.091] luat:U(1782201):I/user.fota version 001.000.001
[2025-12-17 16:52:00.091] luat:U(1782201):I/user.hezhou ble_fota test
11、工具日志如下:
D:\gitee_hz\LuatOS_demo_v2_temp\module\Air8101\demo\fota\ble_fota>python ble_fota_tool.py -f ble_fota.bin
1. 加载固件文件...
固件加载完成,大小: 43464 字节
2. 扫描目标设备...
正在扫描,请等待...
找到匹配设备: Air8101_FOTA (地址: C8:C2:C6:8C:5D:40)
选择设备: Air8101_FOTA (地址: C8:C2:C6:8C:5D:40)
3. 建立BLE连接...
连接成功,状态: True
4. 发现服务和特征值...
找到FOTA服务: 0000f000-0000-1000-8000-00805f9b34fb
特征值: 0000f001-0000-1000-8000-00805f9b34fb - 属性: ['write', 'write-without-response']
-> 命令特征值 (可写)
特征值: 0000f002-0000-1000-8000-00805f9b34fb - 属性: ['write', 'write-without-response']
-> 数据特征值 (可写)
5. 发送开始升级命令...
连接成功,等待1秒...
写入特征值 f001,数据长度: 5 字节
开始命令发送完成
6. 分块传输固件数据...
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
进度: 9.2% - 1.1 KB/s - 已发送 20 包 - 预计剩余: 34.3s
写入特征值 f002,数据长度: 200 字节
--省略发送数据的重复日志--
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 200 字节
写入特征值 f002,数据长度: 64 字节
进度: 100.0% - 1.1 KB/s - 已发送 218 包 - 预计剩余: 0.0s
数据传输完成! 总时间: 39.3s, 平均速度: 1.1 KB/s
7. 发送结束升级命令...
写入特征值 f001,数据长度: 1 字节
结束命令发送完成
8. 等待设备处理升级...
==================================================
升级流程完成! 设备应该正在重启...
==================================================
已断开连接