NEWS DETAIL

搭建自己的Air724远程升级平台

发布时间:2026/10/24 22:14:02 · 栏目:资讯中心

尧图网络原创建站知识分享正文
合宙的724模块已经停产而且不再提供任何售后服务由于用户众多对于已经批量使用724模块的用户来说依赖合宙官方的远程升级已经不再可靠。况且现在update语句返回的结果成功越来越少绝大多数都是连接服务器失败的结果所以搭建自己的远程升级OTA平台迫在眉睫。同时也强烈谴责无良商家在产品生命周期结束前不再提供售后的行为。下面我用2个简单的php脚本来给广大用户提供一个样板这是最简单的结构用来展示一个可用的的轻量化的OTA服务。php脚本的名字分别为index.php和download.php其中index.php是需要在lua脚本中引用的之后下载过程将引导到download.php中。首先你的脚本的update语句需要改写。由原来的update.request()改为local function updateresult(result) log.info(尝试升级返回,result) if result then log.info(升级包下载成功) sys.restart(UPDATE_DOWNLOAD_SUCCESS) else log.info(升级包下载失败) end end update.request(updateresult,https://你的升级网址/index.php)--index.php的文件内容如下?php /** * Air724 LuatOS OTA 服务器端 - 版本检查入口 * * 该脚本处理来自 Air724 模块的 GET 请求返回 JSON 格式的版本信息。 */ include_once (download.php); // 配置区域 $config [ firmware_dir __DIR__ . /, // 固件存放目录 log_file __DIR__ . /ota_log.txt, // 日志文件 ]; // 获取请求参数 $imei isset($_GET[imei]) ? $_GET[imei] : ; $version isset($_GET[version]) ? $_GET[version] : 0.0.0; $productKey isset($_GET[project_key]) ? $_GET[project_key] : ; // 记录请求日志 $logMsg sprintf([%s] IMEI:%s | Ver:%s | Key:%s | IP:%s\n, date(Y-m-d H:i:s), $imei, $version, $productKey, $_SERVER[REMOTE_ADDR]); file_put_contents($config[log_file], $logMsg, FILE_APPEND); // 模拟数据库或配置文件中的最新版本信息 // 在实际生产中这里应查询数据库获取对应 product_key 的最新版本 if($productKey你的项目product_key){ $latestVersion 1.1.3; $needsUpdate version_compare($latestVersion, $version, ); $response []; if ($needsUpdate) { // 需要升级 if($version1.1.1){ $firmwareFileName 你的升级差分包1.1.2.bin; } else if($version1.1.2){ $firmwareFileName 你的升级差分包1.1.3.bin; } file_put_contents($config[log_file],$firmwareUrl, FILE_APPEND); DoDownload($firmwareFileName); } else { // 已是最新版本 $response [ code 0, data [ version $version, // 返回当前版本表示无需更新 url ] ]; header(Content-Type: application/json; charsetutf-8); echo json_encode($response); } }download.php文件内容?php /** * Air724 LuatOS OTA 服务器端 - 固件下载服务 * * 该脚本负责提供二进制固件文件的下载。 * 为了安全建议在此处增加签名验证或 token 校验防止未授权下载。 */ function DoDownload($file){ $filePath __DIR__ . / . basename($file); if (!file_exists($filePath)) { http_response_code(404); die(File not found.); } header(Content-Description: File Transfer); header(Content-Type: application/octet-stream); header(Content-Disposition: attachment; filename . basename($filePath) . ); header(Expires: 0); header(Cache-Control: must-revalidate); header(Pragma: public); header(Content-Length: . filesize($filePath)); // 清除输出缓冲区并读取文件 ob_clean(); flush(); readfile($filePath); exit; }升级差分包的制作合宙工具https://iot.openluat.com/tool/dfota选择基础版本指的是上一个版本的bin选择目标版本是指本次最新的bin文件都在“4G远程升级文件”这个文件夹下面每次编译项目下载脚本的时候会自动生成一个最新的。上面的工作完成后启动模块可以看到update会连接到自家的服务器并下载查分包了。
✦

本文为尧图网络原创建站知识分享。想针对自身行业获取定制化建站方案?欢迎咨询,资深顾问免费为你出思路。

RELATED

相关 资讯推荐

MORE

更多 新鲜资讯

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析
2026/10/21 11:24:40

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析

1. 项目概述:从零开始,用JMeter搞定HTTP性能测试 刚接触性能测试的新手,或者是从功能测试转过来的朋友,一听到“压测”两个字,心里可能就有点发怵。工具那么多,概念那么杂,从哪儿下手呢&#xf…

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统
2026/10/24 20:39:51

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统

最近我用TypeScript写了一个运行在浏览器里的Web操作系统 Earendel(目前已知的距离地球最遥远的恒星)。开发它的初衷主要是为了Linux和操作系统课程的教学。市面上绝大多数Web OS项目,要么只是做了一个长得像Windows/macOS的网页UI拼盘&#…

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]
2026/10/19 6:46:54

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形🚀 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: http…

从零制作同人动画:技术路线、流程与实战避坑指南
2026/10/24 7:09:28

从零制作同人动画:技术路线、流程与实战避坑指南

1. 先搞清楚这个“粉丝动画”到底是什么,以及它能解决什么问题看到“五条悟VS宿傩/咒术回战粉丝动画”这个标题,很多人的第一反应可能是去找一个现成的视频。但如果你是一个想自己动手创作、或者想了解这类作品背后技术流程的创作者,这个标题…

闭源降价80%,开源却在涨价:AI定价的交叉路口
2026/10/23 15:38:44

闭源降价80%,开源却在涨价:AI定价的交叉路口

8月6日,两条价格曲线悄然交汇。 一条向下:OpenAI把GPT-5.6 Luna的输出价格从6美元砍到1.2美元/百万Token,降幅80%。另一条向上:同一天,DeepSeek公告全线涨价,措辞是"涨幅较大",非试探…

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买
2026/10/23 10:16:26

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买经常有工厂朋友拿着网上的"三防平板十大品牌排行榜"来问我:到底选哪个?说实话排行榜看看就行,真正选型得看你产线什么场景。今天挑五个在产线数字化里用得比较多的品牌—…

看完这篇,还想了解更多?

预约尧图网络顾问一对一沟通,针对你的行业与现状给出建站建议,全程免费。

免费咨询