net_app.lua 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. --[[
  2. @module net_app
  3. @summary net_app 网络管理模块
  4. @version 1.0
  5. @date 2025.07.14
  6. @author wjq
  7. @usage
  8. 本文件为网络管理模块,核心业务逻辑为:
  9. 1、初始化网络优先级功能,以太网->WIFI
  10. 可以根据优先级自动切换网络
  11. 2、设置多网融合功能,以太网给wifi_ap提供网络
  12. 本文件没有对外接口,直接在main.lua中require "net_app"就可以加载运行;
  13. ]]
  14. exnetif = require "exnetif"
  15. sys.taskInit(function()
  16. sys.wait(5000)
  17. --设置网络优先级
  18. exnetif.set_priority_order({
  19. {
  20. ETHERNET = {
  21. pwrpin = 140, -- 供电使能引脚(number)
  22. ping_time = 3000, -- 填写ping_ip且未ping通时的检测间隔(ms, 可选,默认为10秒)
  23. ping_ip = "112.125.89.8", -- 连通性检测IP(选填参数),默认使用httpdns获取baidu.com的ip作为判断条件
  24. tp = netdrv.CH390, -- 网卡芯片型号(选填参数),仅spi方式外挂以太网时需要填写。
  25. opts = { spi = 1, cs = 12 }
  26. }
  27. },
  28. {
  29. WIFI = {
  30. ssid = "test", --wifi名称
  31. password = "HZ88888888", --wifi密码
  32. -- ping_ip = "112.125.89.8" -- 连通性检测IP(选填参数),默认使用httpdns获取baidu.com的ip作为判断条件
  33. }
  34. },
  35. { -- 最低优先级网络
  36. LWIP_GP = true -- 启用4G网络
  37. }
  38. })
  39. sys.wait(5000)
  40. --设置多网融合功能
  41. -- if exnetif.setproxy(socket.LWIP_AP, socket.LWIP_ETH, {
  42. -- ssid = "test2", -- WiFi名称(string),网卡包含wifi时填写
  43. -- password = "HZ88888888", -- WiFi密码(string),网卡包含wifi时填写
  44. -- ethpower_en = 140, -- 以太网模块的pwrpin引脚(gpio编号)
  45. -- tp = netdrv.CH390, -- 网卡芯片型号(选填参数),仅spi方式外挂以太网时需要填写。
  46. -- opts = { spi = 1, cs = 12}, -- 外挂方式,需要额外的参数(选填参数),仅spi方式外挂以太网时需要填写。
  47. -- -- adapter_addr = "192.168.2.1", -- adapter网卡的ip地址(选填),需要自定义ip和网关ip时填写
  48. -- -- adapter_gw= { 192, 168, 2, 1 }, -- adapter网卡的网关地址(选填),需要自定义ip和网关ip时填写
  49. -- }) then
  50. -- log.info("exnetif", "setproxy success")
  51. -- end
  52. end)