Forráskód Böngészése

update: 把demo/ota/air601的注释写清楚

Wendal Chen 1 éve
szülő
commit
b7bba1088a
1 módosított fájl, 20 hozzáadás és 4 törlés
  1. 20 4
      demo/ota/air601/main.lua

+ 20 - 4
demo/ota/air601/main.lua

@@ -1,23 +1,38 @@
 -- LuaTools需要PROJECT和VERSION这两个信息
-PROJECT = "wifidemo"
+PROJECT = "otademo"
 VERSION = "1.0.0"
 
 -- 引入必要的库文件(lua编写), 内部库不需要require
 sys = require("sys")
 require("sysplus")
 
+--[[
+提示:
+1. 本demo是演示ota的, 只升级脚本, 如果还需要底层一起升级, 参考demo/fota
+2. demo/fota 需要大量flash空间作为fota分区, 所以能启用的库会很少,请酌情使用
+3. ota文件是放在文件系统的,所以不能超过40k, 且不能少于1k
+4. 服务器上的ota文件路径无所谓, 本地下载路径必须是 /update.bin
+]]
+
 if wdt then
     --添加硬狗防止程序卡死,在支持的设备上启用这个功能
     wdt.init(9000)--初始化watchdog设置为9s
     sys.timerLoopStart(wdt.feed, 3000)--3s喂一次狗
 end
 
+sys.timerLoopStart(function()
+    log.info("当前版本号", _G.VERSION)
+end, 1000)
+
 -- OTA任务
 function ota_task()
     sys.taskInit(function()
         local dst_path = "/update.bin"
-        os.remove(dst_path)
-        local url = "http://site0.cn/api/air601/ota?mac=" .. wlan.getMac()
+        os.remove(dst_path) -- 一定要先移除老的文件
+        -- 这里是演示用的url, 实际项目中请换成自己的
+        -- 路径规则是自定义的, 不是一定要这种规格
+        -- 这里把当前版本当路径, 是为了方便演示, 避免反复升级
+        local url = "http://upload.air32.cn/ota/air601/" .. _G.PROJECT .. "/" .. _G.VERSION .. ".ota?mac=" .. wlan.getMac()
         local code = http.request("GET", url, nil, nil, {dst=dst_path}).wait()
         if code and code == 200 then
             log.info("ota", "OTA 下载完成, 3秒后重启")
@@ -33,10 +48,11 @@ sys.taskInit(function()
     sys.wait(100)
     wlan.init()
     sys.wait(100)
-    wlan.connect("uiot", "123456890")
+    wlan.connect("luatos1234", "12341234")
     log.info("wlan", "wait for IP_READY", wlan.getMac())
     sys.waitUntil("IP_READY", 30000)
 
+    sys.wait(500)
     -- 联网后,先执行一次OTA
     ota_task()
     -- 然后每隔6小时执行一次OTA