main.lua 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "air8000_ap_ping"
  3. VERSION = "1.0.0"
  4. -- sys库是标配
  5. _G.sys = require("sys")
  6. require "sysplus"
  7. dnsproxy = require("dnsproxy")
  8. dhcpsrv = require("dhcpsrv")
  9. function create_ap()
  10. log.info("执行AP创建操作", "luatos8888")
  11. wlan.createAP("luatos8888", "12345678")
  12. sys.wait(1000)
  13. netdrv.ipv4(socket.LWIP_AP, "192.168.4.1", "255.255.255.0", "0.0.0.0")
  14. dnsproxy.setup(socket.LWIP_AP, socket.LWIP_GP)
  15. dhcpsrv.create({adapter=socket.LWIP_AP})
  16. while 1 do
  17. if netdrv.ready(socket.LWIP_GP) then
  18. netdrv.napt(socket.LWIP_GP)
  19. break
  20. end
  21. sys.wait(1000)
  22. end
  23. end
  24. function wifi_networking()
  25. sys.wait(3000)
  26. -- AP的ssid和password
  27. wlan.scan()
  28. -- sys.wait(500)
  29. httpsrv.start(80, function(fd, method, uri, headers, body)
  30. log.info("httpsrv", method, uri, json.encode(headers), body)
  31. end, socket.LWIP_AP)
  32. end
  33. sys.subscribe("IP_READY", function()
  34. -- 联网成功后, 模拟上报到服务器
  35. log.info("wlan", "已联网", "通知服务器")
  36. end)
  37. sys.subscribe("PING_RESULT", function(id, time, dst)
  38. log.info("ping", id, time, dst);
  39. end)
  40. sys.taskInit(function()
  41. -- sys.wait(100)
  42. wlan.init()
  43. sys.wait(100)
  44. -- 启动AP测试
  45. create_ap()
  46. wifi_networking()
  47. icmp.setup(socket.LWIP_AP)
  48. while 1 do
  49. log.info("开始ping STA")
  50. for i = 0, 10, 1 do
  51. local ip = "192.168.4." .. (i+100)
  52. log.info("STA客户端", ip)
  53. icmp.ping(socket.LWIP_AP, ip)
  54. sys.waitUntil("PING_RESULT", 3000)
  55. end
  56. sys.wait(1000)
  57. end
  58. end)
  59. -- 用户代码已结束---------------------------------------------
  60. -- 结尾总是这一句
  61. sys.run()
  62. -- sys.run()之后后面不要加任何语句!!!!!