main.lua 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "air8000_wifi"
  3. VERSION = "1.0.5"
  4. dnsproxy = require("dnsproxy")
  5. dhcpsrv = require("dhcpsrv")
  6. httpplus = require("httpplus")
  7. local fota_wifi = require("fota_wifi")
  8. local function wifi_fota_task_func()
  9. local result = fota_wifi.request()
  10. if result then
  11. log.info("fota_wifi", "升级任务执行成功")
  12. else
  13. log.info("fota_wifi", "升级任务执行失败")
  14. end
  15. end
  16. -- 判断网络是否正常
  17. local function wait_ip_ready()
  18. local result, ip, adapter = sys.waitUntil("IP_READY", 30000)
  19. if result then
  20. log.info("fota_wifi", "开始执行升级任务")
  21. sys.taskInit(wifi_fota_task_func)
  22. else
  23. log.error("当前正在升级WIFI&蓝牙固件,请插入可以上网的SIM卡")
  24. end
  25. end
  26. function test_ap()
  27. log.info("执行AP创建操作")
  28. wlan.createAP("uiot5678", "12345678")
  29. netdrv.ipv4(socket.LWIP_AP, "192.168.4.1", "255.255.255.0", "0.0.0.0")
  30. while netdrv.ready(socket.LWIP_AP) ~= true do
  31. sys.wait(100)
  32. end
  33. dnsproxy.setup(socket.LWIP_AP, socket.LWIP_GP)
  34. dhcpsrv.create({adapter=socket.LWIP_AP})
  35. while 1 do
  36. if netdrv.ready(socket.LWIP_GP) then
  37. netdrv.napt(socket.LWIP_GP)
  38. log.info("AP 创建成功,如果无法连接,需要将按照https://docs.openluat.com/air8000/luatos/app/updatwifi/update/ 升级固件")
  39. log.info("AP 创建成功,如果无法连接,请升级本仓库的最新core")
  40. break
  41. end
  42. sys.wait(1000)
  43. end
  44. end
  45. -- wifi的AP相关事件
  46. sys.subscribe("WLAN_AP_INC", function(evt, data)
  47. -- evt 可能的值有: "CONNECTED", "DISCONNECTED"
  48. -- 当evt=CONNECTED, data是连接的AP的新STA的MAC地址
  49. -- 当evt=DISCONNECTED, data是断开与AP连接的STA的MAC地址
  50. log.info("收到AP事件", evt, data and data:toHex())
  51. end)
  52. -- 在设备启动时检查网络状态
  53. sys.taskInit(wait_ip_ready)
  54. sys.taskInit(function()
  55. log.info("开始AP 测试...")
  56. wlan.init()
  57. test_ap()
  58. end)
  59. -- 用户代码已结束---------------------------------------------
  60. -- 结尾总是这一句
  61. sys.run()
  62. -- sys.run()之后后面不要加任何语句!!!!!