main.lua 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "air8101_sta_httpsrv"
  3. VERSION = "1.0.5"
  4. dnsproxy = require("dnsproxy")
  5. dhcpsrv = require("dhcpsrv")
  6. -- wifi的STA相关事件
  7. sys.subscribe("WLAN_STA_INC", function(evt, data)
  8. -- evt 可能的值有: "CONNECTED", "DISCONNECTED"
  9. -- 当evt=CONNECTED, data是连接的AP的ssid, 字符串类型
  10. -- 当evt=DISCONNECTED, data断开的原因, 整数类型
  11. log.info("收到STA事件", evt, data)
  12. end)
  13. function test_sta()
  14. log.info("执行STA连接操作")
  15. wlan.connect("luatos8888", "12345678")
  16. sys.wait(8000)
  17. iperf.server(socket.LWIP_STA)
  18. sys.wait(5000)
  19. sys.wait(200)
  20. wifi_networking()
  21. while 1 do
  22. log.info("wlan", "info", json.encode(wlan.getInfo()))
  23. sys.wait(30*1000)
  24. local code, headers, body = http.request("GET", "http://httpbin.air32.cn/get", nil, nil, {adapter=socket.LWIP_STA,timeout=5000,debug=false}).wait()
  25. log.info("http执行结果", code, headers, body and #body)
  26. end
  27. end
  28. function wifi_networking()
  29. sys.wait(3000)
  30. -- AP的ssid和password
  31. wlan.scan()
  32. -- sys.wait(500)
  33. httpsrv.start(80, function(fd, method, uri, headers, body)
  34. log.info("httpsrv", method, uri, json.encode(headers), body)
  35. end, socket.LWIP_STA)
  36. end
  37. sys.taskInit(function()
  38. wlan.init()
  39. -- 连接STA测试
  40. log.info("STA_httpsrv测试启动...")
  41. test_sta()
  42. end)
  43. -- 用户代码已结束---------------------------------------------
  44. -- 结尾总是这一句
  45. sys.run()
  46. -- sys.run()之后后面不要加任何语句!!!!!