update ====== .. _update-1: update ------ 模块功能:远程升级. 参考 http://ask.openluat.com/article/916 加深对远程升级功能的理解 update.request(cbFnc, url, period, redir) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 启动远程升级功能 - 参数 +-----------------------------------+-----------------------------------+ | 传入值类型 | 释义 | +===================================+===================================+ | function | **可选参数,默认 | | | 为\ ``nil``**\ ,cbFnc,每次执行 | | | 远程升级功能后的回调函数,回调函 | | | 数的调用形式为:cbFnc(result),r | | | esult为true表示升级包下载成功,其 | | | 余表示下载失败如果没有设置此参数 | | | ,则升级包下载成功后,会自动重启 | +-----------------------------------+-----------------------------------+ | string | **可选参 | | | 数,默认为\ ``nil``**\ ,url,使 | | | 用http的get命令下载升级包的url, | | | 如果没有设置此参数,默认使用Luat | | | iot平台的url如果 | | | 用户设置了url,注意:仅传入完整ur | | | l的前半部分(如果有参数,即传入?前 | | | 一部分),http.lua会自动添加?以及 | | | 后面的参数,例如:设置的url=“www. | | | userserver.com/api/site/firmware_ | | | upgrade”,则http.lua会在此url后面 | | | 补充下面的参数“?project_key=”.._G | | | .PRODUCT_KEY..“&imei=”..misc.geti | | | mei()..“&device_key=”..misc.getsn | | | ()..“&firmware_name=”.._G.PROJECT | | | .."\_“..rtos.get_version()..”&ver | | | sion=“.._G.VERSION如果redir设置为 | | | true,还会补充..”&need_oss_url=1" | +-----------------------------------+-----------------------------------+ | number | **可选参数,默认为\ ``ni | | | l``**\ ,period,单位毫秒,定时启 | | | 动远程升级功能的间隔,如果没有设 | | | 置此参数,仅执行一次远程升级功能 | +-----------------------------------+-----------------------------------+ | bool | ** | | | 可选参数,默认为\ ``nil``**\ ,re | | | dir,是否访问重定向到阿里云的升级 | | | 包,使用Luat提供的升级服务器时, | | | 此参数才有意义为了缓解Luat的升级 | | | 服务器压力,从2018年7月11日起,在 | | | iot.openluat.com新增或者修改升级 | | | 包的升级配置时,升级文件会备份一 | | | 份到阿里云服务器如果此参数设置为 | | | true,会从阿里云服务器下载升级包 | | | ;如果此参数设置为false或者nil, | | | 仍然从Luat的升级服务器下载升级包 | +-----------------------------------+-----------------------------------+ - 返回值 nil - 例子 .. code:: lua update.request() update.request(cbFnc) update.request(cbFnc,"www.userserver.com/update") update.request(cbFnc,nil,4*3600*1000) update.request(cbFnc,nil,4*3600*1000,true) --------------