Просмотр исходного кода

update: demo/airlink分拆, 修正使用mqtt的demo里对sysplus的错误描述

Wendal Chen 1 год назад
Родитель
Сommit
04a3c0f3ba

+ 7 - 0
demo/airlink/README.md

@@ -0,0 +1,7 @@
+# AirLink的演示
+
+注意: 这里的demo是需要搭配使用的
+
+* Air8101 与 Air780EPM 搭配
+* Air8000 与 Air8000S 搭配, 实际就是Air8000模块内部
+

+ 4 - 16
demo/airlink/air780epm/main.lua

@@ -6,33 +6,21 @@ VERSION = "1.0.4"
 
 -- sys库是标配
 _G.sys = require("sys")
---[[特别注意, 使用mqtt库需要下列语句]]
+--[[特别注意, 使用http库需要下列语句]]
 _G.sysplus = require("sysplus")
 
 sys.taskInit(function()
-    -- 设置电平, 关闭小核的供电
-    pm.ioVol(pm.IOVOL_ALL_GPIO, 3300)
-    gpio.setup(23, 0) -- 关闭Air8000S的LDO供电
     sys.wait(100)
     -- 初始化airlink
     airlink.init()
-    log.info("注册STA和AP设备")
-    netdrv.setup(socket.LWIP_STA, netdrv.WHALE)
-    netdrv.setup(socket.LWIP_AP, netdrv.WHALE)
+    log.info("创建桥接网络设备")
+    netdrv.setup(socket.LWIP_USER0, netdrv.WHALE)
     -- 启动底层线程, 从机模式
     airlink.start(1)
-    sys.wait(100)
-    log.info("打开Air8000S的LDO供电")
-    gpio.setup(23, 1) -- 打开Air8000S的LDO供电
-    log.info("一切就绪了")
-    sys.wait(5000)
 
-    netdrv.ipv4(socket.LWIP_STA, "192.168.1.35", "255.255.255.0", "192.168.1.1")
+    netdrv.ipv4(socket.LWIP_USER0, "192.168.111.2", "255.255.255.0", "192.168.111.1")
     sys.wait(1000)
     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()

+ 51 - 0
demo/airlink/air8000/main.lua

@@ -0,0 +1,51 @@
+
+-- LuaTools需要PROJECT和VERSION这两个信息
+PROJECT = "netdrv"
+VERSION = "1.0.4"
+
+
+-- sys库是标配
+_G.sys = require("sys")
+--[[特别注意, 使用http库需要下列语句]]
+_G.sysplus = require("sysplus")
+
+sys.taskInit(function()
+    -- 设置电平, 关闭小核的供电
+    pm.ioVol(pm.IOVOL_ALL_GPIO, 3300)
+    gpio.setup(23, 0) -- 关闭Air8000S的LDO供电
+    sys.wait(100)
+    -- 初始化airlink
+    airlink.init()
+    log.info("注册STA和AP设备")
+    netdrv.setup(socket.LWIP_STA, netdrv.WHALE)
+    netdrv.setup(socket.LWIP_AP, netdrv.WHALE)
+    -- 启动底层线程, 从机模式
+    airlink.start(1)
+    sys.wait(100)
+    log.info("打开Air8000S的LDO供电")
+    gpio.setup(23, 1) -- 打开Air8000S的LDO供电
+    log.info("一切就绪了")
+    sys.wait(5000)
+
+    netdrv.ipv4(socket.LWIP_STA, "192.168.1.35", "255.255.255.0", "192.168.1.1")
+    sys.wait(1000)
+    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, code, headers, body)
+    end
+end)
+
+sys.subscribe("IP_READY", function(id, ip)
+    log.info("收到IP_READY!!", id, ip)
+end)
+
+-- 用户代码已结束---------------------------------------------
+-- 结尾总是这一句
+sys.run()
+-- sys.run()之后后面不要加任何语句!!!!!

+ 38 - 0
demo/airlink/air8000s/main.lua

@@ -0,0 +1,38 @@
+
+-- LuaTools需要PROJECT和VERSION这两个信息
+PROJECT = "netdrv"
+VERSION = "1.0.4"
+
+
+-- sys库是标配
+_G.sys = require("sys")
+--[[特别注意, 使用http库需要下列语句]]
+_G.sysplus = require("sysplus")
+
+sys.taskInit(function()
+    -- sys.wait(500)
+    airlink.start(0)
+    wlan.init()
+    wlan.connect("uiot", "12345678")
+    -- log.info("设置静态IPV4")
+    -- netdrv.ipv4(socket.LWIP_ETH, "192.168.1.129", "255.255.255.0", "192.168.1.1")
+    -- log.info("ip", socket.localIP(socket.LWIP_ETH))
+end)
+
+sys.taskInit(function()
+    -- sys.waitUntil("IP_READY")
+    sys.wait(6000)
+    while 1 do
+        sys.wait(500)
+        -- log.info("http", http.request("GET", "http://httpbin.air32.cn/bytes/2048", nil, nil, {adapter=socket.LWIP_ETH,timeout=3000}).wait())
+        log.info("lua", rtos.meminfo())
+        log.info("sys", rtos.meminfo("sys"))
+        log.info("ticks", mcu.ticks(), hmeta.chip(), hmeta.model(), hmeta.hwver())
+        -- log.info("ip", socket.localIP(socket.LWIP_ETH))
+    end
+end)
+
+-- 用户代码已结束---------------------------------------------
+-- 结尾总是这一句
+sys.run()
+-- sys.run()之后后面不要加任何语句!!!!!

+ 7 - 9
demo/airlink/air8101/main.lua

@@ -6,27 +6,25 @@ VERSION = "1.0.4"
 
 -- sys库是标配
 _G.sys = require("sys")
---[[特别注意, 使用mqtt库需要下列语句]]
+--[[特别注意, 使用http库需要下列语句]]
 _G.sysplus = require("sysplus")
 
 sys.taskInit(function()
     -- sys.wait(500)
+    airlink.init()
+    netdrv.setup(socket.LWIP_USER0, netdrv.WHALE)
     airlink.start(0)
-    wlan.init()
-    wlan.connect("uiot", "12345678")
-    -- log.info("设置静态IPV4")
-    -- netdrv.ipv4(socket.LWIP_ETH, "192.168.1.129", "255.255.255.0", "192.168.1.1")
-    -- log.info("ip", socket.localIP(socket.LWIP_ETH))
+    netdrv.ipv4(socket.LWIP_USER0, "192.168.111.1", "255.255.255.0", "192.168.111.2")
 end)
 
 sys.taskInit(function()
     -- sys.waitUntil("IP_READY")
+    sys.wait(6000)
     while 1 do
-        sys.wait(6000)
-        -- log.info("http", http.request("GET", "http://httpbin.air32.cn/bytes/2048", nil, nil, {adapter=socket.LWIP_ETH,timeout=3000}).wait())
+        sys.wait(500)
+        log.info("http", http.request("GET", "http://httpbin.air32.cn/bytes/2048", nil, nil, {adapter=socket.LWIP_USER0,timeout=3000}).wait())
         log.info("lua", rtos.meminfo())
         log.info("sys", rtos.meminfo("sys"))
-        -- log.info("ip", socket.localIP(socket.LWIP_ETH))
     end
 end)
 

+ 1 - 1
demo/ctwing/ctwingdemo.lua

@@ -5,7 +5,7 @@
 -- @copyright OpenLuat.com
 -- @release 2023.4.13
 local sys = require "sys"
---[[特别注意, 使用mqtt库需要下列语句]]
+--[[特别注意, 使用http库需要下列语句]]
 _G.sysplus = require("sysplus")
 
 --------------需更改的信息-------------------------

+ 1 - 1
demo/iotcloud/main.lua

@@ -5,7 +5,7 @@ VERSION = "1.0.0"
 
 -- sys库是标配
 _G.sys = require("sys")
---[[特别注意, 使用mqtt库需要下列语句]]
+--[[特别注意, 使用http库需要下列语句]]
 _G.sysplus = require("sysplus")
 
 local iotcloud = require("iotcloud")

+ 1 - 1
demo/mqtt/main.lua

@@ -10,7 +10,7 @@ mqtt也是内置库, 无需require
 
 -- sys库是标配
 _G.sys = require("sys")
---[[特别注意, 使用mqtt库需要下列语句]]
+--[[特别注意, 使用http库需要下列语句]]
 _G.sysplus = require("sysplus")
 
 -- Air780E的AT固件默认会为开机键防抖, 导致部分用户刷机很麻烦

+ 1 - 1
demo/netdrv/air8101/main.lua

@@ -6,7 +6,7 @@ VERSION = "1.0.4"
 
 -- sys库是标配
 _G.sys = require("sys")
---[[特别注意, 使用mqtt库需要下列语句]]
+--[[特别注意, 使用http库需要下列语句]]
 _G.sysplus = require("sysplus")
 
 sys.taskInit(function()

+ 1 - 1
demo/onenet/studio/main.lua

@@ -13,7 +13,7 @@ https://open.iot.10086.cn/doc/v5/develop/detail/iot_platform
 
 -- sys库是标配
 _G.sys = require("sys")
---[[特别注意, 使用mqtt库需要下列语句]]
+--[[特别注意, 使用http库需要下列语句]]
 _G.sysplus = require("sysplus")
 
 

+ 1 - 1
demo/sntp/main.lua

@@ -10,7 +10,7 @@ mqtt也是内置库, 无需require
 
 -- sys库是标配
 _G.sys = require("sys")
---[[特别注意, 使用mqtt库需要下列语句]]
+--[[特别注意, 使用http库需要下列语句]]
 _G.sysplus = require("sysplus")
 
 

+ 1 - 1
demo/txiot/main.lua

@@ -4,7 +4,7 @@ VERSION = "1.0.0"
 
 -- sys库是标配
 _G.sys = require("sys")
---[[特别注意, 使用mqtt库需要下列语句]]
+--[[特别注意, 使用http库需要下列语句]]
 _G.sysplus = require("sysplus")