main.lua 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "WIFI_AP"
  3. VERSION = "1.0.0"
  4. --[[
  5. 本demo演示AP的配网实例
  6. 1. 启动后, 会创建一个 luatos_ + mac地址的热点
  7. 2. 热点密码是 12345678
  8. 3. 热点网关是 192.168.4.1, 同时也是配网网页的ip
  9. 4. http://192.168.4.1
  10. ]]
  11. -- sys库是标配
  12. _G.sys = require("sys")
  13. require "sysplus"
  14. dnsproxy = require("dnsproxy")
  15. dhcpsrv = require("dhcpsrv")
  16. httpplus = require("httpplus")
  17. function create_ap()
  18. log.info("执行AP创建操作", "luatos8888")
  19. wlan.createAP("luatos8888", "12345678")
  20. sys.wait(1000)
  21. netdrv.ipv4(socket.LWIP_AP, "192.168.4.1", "255.255.255.0", "0.0.0.0")
  22. dnsproxy.setup(socket.LWIP_AP, socket.LWIP_GP)
  23. apdhcpd = dhcpsrv.create({adapter=socket.LWIP_AP})
  24. while 1 do
  25. if netdrv.ready(socket.LWIP_GP) then
  26. netdrv.napt(socket.LWIP_GP)
  27. break
  28. end
  29. sys.wait(1000)
  30. end
  31. icmp.setup(socket.LWIP_AP)
  32. while 1 do
  33. log.info("开始ping STA")
  34. -- for k, v in pairs(apdhcpd.clients) do
  35. -- local ip = "192.168.4." .. k
  36. -- log.info("STA客户端", ip, v.mac and v.mac:toHex())
  37. -- icmp.ping(socket.LWIP_AP, ip)
  38. -- sys.waitUntil("PING_RESULT", 3000)
  39. -- -- sys.wait(2000)
  40. -- end
  41. for i = 1, 10, 1 do
  42. local ip = "192.168.4." .. (i+100)
  43. log.info("STA客户端", ip)
  44. icmp.ping(socket.LWIP_AP, ip)
  45. sys.waitUntil("PING_RESULT", 3000)
  46. -- sys.wait(2000)
  47. end
  48. sys.wait(1000)
  49. end
  50. end
  51. sys.subscribe("PING_RESULT", function(id, time, dst)
  52. log.info("ping", id, time, dst);
  53. end)
  54. sys.taskInit(function()
  55. -- sys.wait(100)
  56. wlan.init()
  57. sys.wait(100)
  58. -- 启动AP测试
  59. create_ap()
  60. end)
  61. -- 用户代码已结束---------------------------------------------
  62. -- 结尾总是这一句
  63. sys.run()
  64. -- sys.run()之后后面不要加任何语句!!!!!