美文网首页
4G远程更新

4G远程更新

作者: Lupino | 来源:发表于2021-01-06 21:46 被阅读0次

远程更新对于硬件设备非常的重要,在 4G 的设备上面我们用的是 luat,

但是它原本的 ota 更新是有问题对的, 在他们的 github 上面提交 issue, 没有人鸟。

于是干脆自己设计一个。

我把自己写的应用代码全部都打包到一个文件上面。

在入口的位置,require 两个不同的文件。

用一个 safeRequire 如下:

function safeRequire(file)
    local oldPath = package.path
    package.path = "/?.lua;/?.luac;/?.luae;"..package.path
    local result, para = pcall(require, file .. '_new')

    if not result then
        result, para = pcall(require, file)
    end
    package.path = oldPath
    return result, para
end

--加载功能模块
local result, _ = safeRequire('sensor')

if not result then
    require"sensor"
end

我们主要文件名字为 sensor.lua, 我们更新后的文件叫 /sensor_new.lua, 所以也把它加到 package.path 上。

利用 pcall 的特性去 加载 所需要的 模块。

我们更新固件的时候只需要把文件写到 /sensor_new.lua, 然后重启一下机器就可以。

local function updateDoneCb(result, prompt, heads)
    if result then
        sys.timerStart(function()
            sys.restart("UPDATE_DOWNLOAD_SUCCESS")
        end, 1000)

    end
end
local url = 'https://example.com/path/to/you/sensor.lua'
http.request("GET", url, nil, nil, nil, 60000, updateDoneCb, '/sensor_new.lua')

相关文章

  • 4G远程更新

    远程更新对于硬件设备非常的重要,在 4G 的设备上面我们用的是 luat, 但是它原本的 ota 更新是有问题对的...

  • 远程更新

    版本【2.3】版本 链接《》链接 介绍〔1.美化软件。2.修复BUG。3.因特殊原因,版本号初始化。更新之后,若再...

  • 远程更新

    (3.0)〈http://zimo.8ve.cc/〉

  • 远程更新

    【3】 (123我爱你/n爱就像是/n蓝天白云) 《www.baidu.com》

  • 远程更新

    更新内容:《【版本:8.18】【链接:http://t.cn/RmGOwmx】【介绍:大渣好,我系轱天乐,我四渣渣...

  • 远程更新

    【暂无更新消息!】

  • 远程更新

    版本【1.12】

  • 远程更新

    版本1.2版本 内容有更新啦,块更新吧!内容 链接https://jq.qq.com/?_wv=1027&k=5m...

  • 远程更新

    软件最新版本:#1.2# 本次更新说明:#新增播放音乐功能# 更新下载链接:#http://fir.im/yz2u#

  • 远程更新

    软件最新版本:《1.9》 本次更新说明:〔有新版本了:更新功能,优化UI,优化界面,更新BUG〕 更新下载链接:h...

网友评论

      本文标题:4G远程更新

      本文链接:https://www.haomeiwen.com/subject/vnwooktx.html