| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- -- LuaTools需要PROJECT和VERSION这两个信息
- PROJECT = "air8000_gpio_ext"
- VERSION = "1.0.5"
- -- sys库是标配
- _G.sys = require("sys")
- require "sysplus"
- dnsproxy = require("dnsproxy")
- dhcpsrv = require("dhcpsrv")
- httpplus = require("httpplus")
- PWR8000S = gpio.setup(23, 0, gpio.PULLUP) -- 关闭Air8000S的LDO供电
- function test_ap()
- log.info("执行AP创建操作")
- wlan.createAP("uiot5678", "12345678")
- netdrv.ipv4(socket.LWIP_AP, "192.168.4.1", "255.255.255.0", "0.0.0.0")
- sys.wait(100)
- dnsproxy.setup(socket.LWIP_AP, socket.LWIP_GP)
- dhcpsrv.create({adapter=socket.LWIP_AP})
- while 1 do
- if netdrv.ready(socket.LWIP_GP) then
- netdrv.napt(socket.LWIP_GP)
- break
- end
- sys.wait(1000)
- end
- end
- function test_sta()
- wlan.connect("luatos1234", "12341234")
- netdrv.dhcp(socket.LWIP_STA, true)
- netdrv.napt(socket.LWIP_STA)
- while 1 do
- -- log.info("MAC地址", netdrv.mac(socket.LWIP_STA))
- -- log.info("IP地址", netdrv.ipv4(socket.LWIP_STA))
- -- log.info("ready?", netdrv.ready(socket.LWIP_STA))
- sys.wait(1000)
- log.info("执行http请求")
- -- local code = http.request("GET", "http://192.168.1.15:8000/README.md", nil, nil, {adapter=socket.LWIP_STA,timeout=3000}).wait()
- local code, headers, body = http.request("GET", "https://httpbin.air32.cn/bytes/2048", nil, nil, {adapter=socket.LWIP_STA,timeout=3000}).wait()
- log.info("http执行结果", code, headers, body and #body)
- end
- end
- function test_scan()
- while 1 do
- log.info("执行wifi扫描")
- wlan.scan()
- sys.wait(30 * 1000)
- end
- end
- sys.subscribe("WLAN_SCAN_DONE", function ()
- local results = wlan.scanResult()
- log.info("scan", "results", #results)
- for k,v in pairs(results) do
- log.info("scan", v["ssid"], v["rssi"], (v["bssid"]:toHex()))
- end
- end)
- -- 每隔6秒打印一次airlink统计数据, 调试用
- sys.taskInit(function()
- while 1 do
- sys.wait(6000)
- airlink.statistics()
- end
- end)
- sys.taskInit(function()
- -- 稍微缓一下
- sys.wait(10)
- -- 初始化airlink
- airlink.init()
- -- 启动底层线程, 从机模式
- airlink.start(1)
- PWR8000S(1)
- sys.wait(500) -- 稍微缓一下
- airlink.test(10)
- netdrv.setup(socket.LWIP_STA, netdrv.WHALE)
- netdrv.setup(socket.LWIP_AP, netdrv.WHALE)
- sys.wait(100)
- wlan.init()
- sys.wait(100)
-
- -- 启动AP测试
- test_ap()
- -- 连接STA测试
- -- test_sta()
- -- wifi扫描测试
- -- test_scan()
- end)
- -- 用户代码已结束---------------------------------------------
- -- 结尾总是这一句
- sys.run()
- -- sys.run()之后后面不要加任何语句!!!!!
|