tuoyiheng b178bdcc93 add: 新增Air8000 fota_wifi demo示例 4 miesięcy temu
..
check_wifi.lua b178bdcc93 add: 新增Air8000 fota_wifi demo示例 4 miesięcy temu
main.lua b178bdcc93 add: 新增Air8000 fota_wifi demo示例 4 miesięcy temu
readme.md b178bdcc93 add: 新增Air8000 fota_wifi demo示例 4 miesięcy temu

readme.md

演示功能概述

本demo演示Air8000核心板的WiFi固件自动升级功能。

  • WiFi固件升级:自动检查Air8000模组的WiFi固件是否为最新版本,若不是则自动启动升级过程。
  • 全自动化流程:从版本检查、下载到安装重启,整个过程无需手动干预。

1、功能使用说明

本demo已将功能拆分为两个文件:

  • main.lua:主入口文件,负责加载和调度升级模块
  • check_wifi.lua:WiFi固件检查和升级功能实现模块

Air8000核心板在启动后会自动执行WiFi固件版本检查,若检测到有新版本,将自动下载并升级,升级完成后自动重启设备。

注意:升级功能会自动将WiFi固件升级到最新版本,可能会导致与现有程序兼容性问题。在测试完毕后,建议取消对该模块的调用,防止后续版本更新影响程序稳定性。

2、WiFi固件升级流程

  • 设备启动后,check_wifi.lua模块会自动初始化并执行升级检查任务
  • 系统会调用exfotawifi.request()接口检查是否有可用的WiFi固件更新
  • 如发现新版本,系统会自动下载并安装新固件
  • 下载完成后,系统会等待AIRLINK_SFOTA_DONE事件
  • 事件触发后,设备将自动重启以完成固件更新

演示硬件环境

1、Air8000核心板/开发板一块

2、配套天线一套

3、TYPE-C USB数据线一根

4、可用SIM卡一张(确保可以正常联网)

演示软件环境

1、Luatools下载调试工具

2、Air8000 版本固件(注意:固件版本需≥V2017版本才有AIRLINK_SFOTA_DONE事件)

3、确保插入的SIM卡可以正常上网

演示核心步骤

WiFi固件升级测试步骤

1、搭建好硬件环境,确保Air8000开发板已连接电源和天线,插入可用的SIM卡

2、通过Luatools将demo与固件烧录到核心板中

3、烧录好后,板子开机同时在luatools上查看日志,观察WiFi固件检查和升级过程:

[2025-10-28 19:51:06.947][000000002.240] I/airlink AIRLINK_READY 2240 version 11 t 2085
[2025-10-28 19:51:06.949][000000002.243] D/airlink Air8000s启动完成, 等待了 14 ms
[2025-10-28 19:51:06.950][000000002.265] I/user.main project name is  fota_wifi version is  001.000.000
[2025-10-28 19:51:14.761][000000010.617] D/mobile cid1, state0
[2025-10-28 19:51:14.763][000000010.618] D/mobile bearer act 0, result 0
[2025-10-28 19:51:14.765][000000010.618] D/mobile NETIF_LINK_ON -> IP_READY
[2025-10-28 19:51:14.766][000000010.619] I/user.exfotawifi 开始执行升级任务
[2025-10-28 19:51:14.768][000000010.625] I/user.exfotawifi 正在请求升级信息, URL: http://wififota.openluat.com/air8000/update.json?imei=864793080175404&version=11&muid=20250722125744A057364A8677024255&hw=A13&coreversion=V2017&model=Air8000
[2025-10-28 19:51:14.770][000000010.626] dns_run 676:wififota.openluat.com state 0 id 1 ipv6 0 use dns server2, try 0
[2025-10-28 19:51:14.830][000000010.714] dns_run 693:dns all done ,now stop
[2025-10-28 19:51:14.833][000000010.716] D/mobile TIME_SYNC 0
[2025-10-28 19:51:15.004][000000010.885] I/user.exfotawifi 获取服务器响应成功
[2025-10-28 19:51:15.007][000000010.886] I/user.exfotawifi 解析服务器响应成功
[2025-10-28 19:51:15.009][000000010.886] I/user.exfotawifi 需要升级, 本地版本: 11 服务器版本: 14
[2025-10-28 19:51:15.050][000000010.934] D/vfs fopen /http_download/fotawifi.bin r not found
[2025-10-28 19:51:15.053][000000010.935] dns_run 676:wififota.openluat.com state 0 id 2 ipv6 0 use dns server2, try 0
[2025-10-28 19:51:15.114][000000010.996] dns_run 693:dns all done ,now stop
[2025-10-28 19:51:34.266][000000030.150] I/user.exfotawifi 下载升级文件成功,文件路径: /http_download/fotawifi.bin
[2025-10-28 19:51:34.269][000000030.155] D/airlink.fota 执行g_airlink_fota 0 c0c3e64
[2025-10-28 19:51:34.271][000000030.156] I/user.exfotawifi 升级成功
[2025-10-28 19:51:34.274][000000030.156] I/user.exfotawifi 升级任务执行成功
[2025-10-28 19:51:34.276][000000030.160] I/airlink.fota 开始执行sFOTA file size 809680
[2025-10-28 19:51:34.277][000000030.163] I/airlink.fota 等待sFOTA初始化 500ms
[2025-10-28 19:51:34.814][000000030.697] D/airlink.fota sfota sent 4096/809680 head 696D696C
[2025-10-28 19:51:34.863][000000030.746] D/airlink.fota sfota sent 8192/809680 head A4024B78
[2025-10-28 19:51:42.896][000000038.780] D/airlink.fota sfota sent 12288/809680 head C1B17347
...
[2025-10-28 19:51:52.344][000000048.229] D/airlink.fota sfota sent 802816/809680 head 88AC2008
[2025-10-28 19:51:52.392][000000048.278] D/airlink.fota sfota sent 806912/809680 head 8AD61D93
[2025-10-28 19:51:52.454][000000048.327] I/airlink.fota 文件数据发送结束, 等待100ms,执行done操作
[2025-10-28 19:51:53.042][000000048.927] I/airlink.fota done发送结束, 等待100ms, 执行end操作
[2025-10-28 19:51:53.153][000000049.028] I/airlink.fota end发送结束, 等待3000ms, 执行重启操作
[2025-10-28 19:51:56.157][000000052.028] I/airlink.fota 使用命令复位
[2025-10-28 19:52:26.142][000000082.029] I/airlink.fota FOTA执行完毕
[2025-10-28 19:52:26.145][000000082.030] I/user.fotawifi WIFI下载完毕,开始重启

4、设备重启后,WiFi固件已更新到最新版本

[2025-11-06 14:06:13.564][000000000.649] I/airlink AIRLINK_READY 649 version 14 t 557
[2025-11-06 14:06:13.568][000000000.679] I/user.main project name is  fota_wifi version is  001.000.000
[2025-11-06 14:06:14.093][000000006.884] I/user.exfotawifi 开始执行升级任务
[2025-11-06 14:06:14.093][000000006.890] I/user.exfotawifi 正在请求升级信息, URL: http://wififota.openluat.com/air8000/update.json?imei=864793080175404&version=14&muid=20250722125744A057364A8677024255&hw=A13
[2025-11-06 14:06:14.142][000000006.962] dns_run 693:dns all done ,now stop
[2025-11-06 14:06:14.263][000000007.082] I/user.exfotawifi 获取服务器响应成功
[2025-11-06 14:06:14.264][000000007.082] I/user.exfotawifi 解析服务器响应成功
[2025-11-06 14:06:14.267][000000007.083] I/user.exfotawifi 当前已是最新WIFI固件
[2025-11-06 14:06:14.267][000000007.083] I/user.exfotawifi 升级任务执行成功

常见问题和注意事项

1、升级失败问题

  • 确保SIM卡正常联网
  • 检查网络信号强度是否良好

2、版本兼容性

  • 最新的WiFi固件可能与部分API或功能存在兼容性问题
  • 测试完成后,建议在生产环境中注释掉require "check_wifi",避免自动升级到未经测试的版本

3、无法获取系统消息问题

  • 需要检查下固件版本,固件版本需≥V2017版本才有AIRLINK_SFOTA_DONE事件