lan.lua 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. dhcps = require "dhcpsrv"
  2. dnsproxy = require "dnsproxy"
  3. sys.taskInit(function ()
  4. sys.wait(500)
  5. log.info("ch390", "打开LDO供电")
  6. gpio.setup(140, 1, gpio.PULLUP) --打开ch390供电
  7. sys.wait(6000)
  8. local result = spi.setup(
  9. 1,--spi_id
  10. nil,
  11. 0,--CPHA
  12. 0,--CPOL
  13. 8,--数据宽度
  14. 25600000--,--频率
  15. -- spi.MSB,--高低位顺序 可选,默认高位在前
  16. -- spi.master,--主模式 可选,默认主
  17. -- spi.full--全双工 可选,默认全双工
  18. )
  19. log.info("main", "open",result)
  20. if result ~= 0 then--返回值为0,表示打开成功
  21. log.info("main", "spi open error",result)
  22. return
  23. end
  24. -- 初始化指定netdrv设备,
  25. -- socket.LWIP_ETH 网络适配器编号
  26. -- netdrv.CH390外挂CH390
  27. -- SPI ID 1, 片选 GPIO12
  28. netdrv.setup(socket.LWIP_ETH, netdrv.CH390, {spi=1,cs=12})
  29. sys.wait(3000)
  30. local ipv4,mark, gw = netdrv.ipv4(socket.LWIP_ETH, "192.168.4.1", "255.255.255.0", "192.168.4.1")
  31. log.info("ipv4", ipv4,mark, gw)
  32. while netdrv.link(socket.LWIP_ETH) ~= true do
  33. sys.wait(100)
  34. end
  35. while netdrv.link(socket.LWIP_GP) ~= true do
  36. sys.wait(100)
  37. end
  38. sys.wait(2000)
  39. dhcps.create({adapter=socket.LWIP_ETH})
  40. dnsproxy.setup(socket.LWIP_ETH, socket.LWIP_GP)
  41. netdrv.napt(socket.LWIP_GP)
  42. if iperf then
  43. log.info("启动iperf服务器端")
  44. iperf.server(socket.LWIP_ETH)
  45. end
  46. end)
  47. sys.taskInit(function()
  48. -- sys.waitUntil("IP_READY")
  49. while 1 do
  50. sys.wait(300000)
  51. -- log.info("http", http.request("GET", "http://httpbin.air32.cn/bytes/4096", nil, nil, {adapter=socket.LWIP_ETH}).wait())
  52. log.info("lua", rtos.meminfo())
  53. log.info("sys", rtos.meminfo("sys"))
  54. -- log.info("psram", rtos.meminfo("psram"))
  55. end
  56. end)