netdrv_ap.lua 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. --[[
  2. @module netdrv_ap
  3. @summary "WIFI AP网卡"驱动模块
  4. @version 1.0
  5. @date 2025.11.4
  6. @author 拓毅恒
  7. @usage
  8. 本文件为WIFI AP网卡驱动模块,核心业务逻辑为:
  9. 1、初始化网络;
  10. 2、创建WIFI AP热点;
  11. 3、配置IP地址和DHCP服务器;
  12. 4、发布AP创建完成事件;
  13. 本文件没有对外接口,直接在其他功能模块中require "netdrv_ap"就可以加载运行;
  14. ]]
  15. dnsproxy = require("dnsproxy")
  16. dhcpsrv = require("dhcpsrv")
  17. -- AP热点创建完成回调函数
  18. local function ap_ready_func()
  19. log.info("netdrv_ap", "AP热点创建成功,IP地址为: 192.168.4.1")
  20. -- 发布AP创建完成事件
  21. sys.publish("CREATE_OK")
  22. end
  23. -- 创建并启动AP热点初始化任务
  24. local function netdrv_ap_init_task()
  25. -- 初始化WIFI
  26. wlan.init()
  27. log.info("netdrv_ap", "执行AP创建操作", "luatos8888")
  28. sys.wait(100)
  29. -- 创建AP热点,名称为luatos8888,密码为12345678
  30. wlan.createAP("luatos8888", "12345678")
  31. -- AP启动成功后,设置IP地址和DHCP服务器
  32. netdrv.ipv4(socket.LWIP_AP, "192.168.4.1", "255.255.255.0", "0.0.0.0")
  33. -- 等待网络准备就绪
  34. while netdrv.ready(socket.LWIP_AP) ~= true do
  35. sys.wait(100)
  36. end
  37. -- 设置DNS代理
  38. dnsproxy.setup(socket.LWIP_AP, socket.LWIP_GP)
  39. -- 创建DHCP服务器
  40. dhcpsrv.create({adapter=socket.LWIP_AP})
  41. -- 调用AP就绪回调
  42. ap_ready_func()
  43. end
  44. -- 启动AP初始化任务
  45. sys.taskInit(netdrv_ap_init_task)