main.lua 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. -- 必须有PROJECT和VERSION这两个信息
  2. -- 这个DEMO需要V0003及以上的固件
  3. PROJECT = "otademo"
  4. VERSION = "1.0.0"
  5. PROJECT_KEY = "5aae50f068d9408c92b0fb5911834029"
  6. log.info("version", VERSION) -- 打印版本号,就能知道是否升级成功
  7. local sys = require "sys"
  8. wlan.connect("uiot", "1234567890")
  9. -- 生成OTA的URL
  10. local iot_url = "http://iot.nutz.cn/api/site/firmware_upgrade"
  11. local ota_url = string.format("%s?project_key=%s&imei=%s&firmware_name=%s&version=%s",
  12. iot_url,
  13. PROJECT_KEY,
  14. wlan.getMac(),
  15. PROJECT .. "_" .. rtos.firmware(),
  16. VERSION
  17. )
  18. log.info("ota", "url", ota_url)
  19. sys.taskInit(function()
  20. while 1 do
  21. if socket.isReady() then
  22. -- 联网后轮询
  23. http.get(ota_url, {dw="/update.bin"}, function(code,headers,body)
  24. if code == 200 then
  25. -- 当且仅当服务器返回200时,升级文件下载成功
  26. log.info("ota", "http ota ok!!", "reboot!!")
  27. rtos.reboot()
  28. else
  29. log.info("ota", "resp", code, body)
  30. end
  31. end)
  32. sys.wait(120*1000)
  33. else
  34. sys.wait(3000)
  35. end
  36. end
  37. end)
  38. -- 用户代码已结束---------------------------------------------
  39. -- 结尾总是这一句
  40. sys.run()
  41. -- sys.run()之后后面不要加任何语句!!!!!