| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- -- LuaTools需要PROJECT和VERSION这两个信息
- PROJECT = "airlink_http"
- VERSION = "1.0.1"
- dnsproxy = require("dnsproxy")
- -----------------------------------
- -- 配置区域
- -----------------------------------
- -- 是否是网关模式, 要插卡, 要能联网
- is_gw = rtos.bsp() ~= "Air1601"
- -- 网关就用slave模式, 客户端就用master模式
- local airlink_mode = is_gw and 0 or 1
- -------------------------------------
- sys.taskInit(function()
- sys.wait(500)
- -- 初始化airlink
- airlink.init()
- -- 注册网卡
- netdrv.setup(socket.LWIP_USER0, netdrv.WHALE)
- -- 启动airlink uart任务
- airlink.start(airlink_mode)
- -- 网关模式下, ip设置为.1, 对端设置为.2
- if is_gw then
- netdrv.ipv4(socket.LWIP_USER0, "192.168.111.1", "255.255.255.0", "192.168.111.2")
- else
- netdrv.ipv4(socket.LWIP_USER0, "192.168.111.2", "255.255.255.0", "192.168.111.1")
- end
- -- netdrv.debug(0, true)
- end)
- sys.taskInit(function()
- sys.wait(1000)
- while 1 do
- -- 发送给对端设备
- local data = rtos.bsp() .. " " .. os.date() .. " " .. (mobile and mobile.imei() or "")
- log.info("client 发送数据给sever设备", data, "当前airlink状态", airlink.ready())
- airlink.sdata(data)
- -- airlink.test(1000) -- 要测试高速连续发送的情况
- sys.wait(1000)
- end
- end)
- sys.taskInit(function()
- -- sys.waitUntil("IP_READY")
- sys.wait(3000)
- if is_gw then
- log.info("airlink", "Gateway mode")
- -- while netdrv.ready(socket.LWIP_USER0) == false do
- while netdrv.ready(socket.LWIP_GP) == false do
- sys.wait(100)
- end
- netdrv.napt(socket.LWIP_GP)
- dnsproxy.start(adapter=socket.LWIP_USER0, socket.LWIP_GP)
- return
- else
- log.info("airlink", "Client mode")
- end
- while 1 do
- sys.wait(500)
- local code, headers, body = http.request("GET", "https://httpbin.air32.cn/bytes/2048", nil, nil, {adapter=socket.LWIP_USER0,timeout=3000}).wait()
- log.info("http", code, body and #body)
- -- log.info("lua", rtos.meminfo())
- -- log.info("sys", rtos.meminfo("sys"))
- end
- end)
- -- 用户代码已结束---------------------------------------------
- -- 结尾总是这一句
- sys.run()
- -- sys.run()之后后面不要加任何语句!!!!!
|