Răsfoiți Sursa

update: 更新airkiss示例的逻辑,能拿到ssid和password就肯定是正确的值了

Wendal Chen 2 ani în urmă
părinte
comite
a73e670909
1 a modificat fișierele cu 21 adăugiri și 14 ștergeri
  1. 21 14
      demo/wlan/airkiss/main.lua

+ 21 - 14
demo/wlan/airkiss/main.lua

@@ -11,6 +11,13 @@ https://gitee.com/openLuat/LuatOS/releases
 sys = require("sys")
 require("sysplus")
 
+if wdt then
+    --添加硬狗防止程序卡死,在支持的设备上启用这个功能
+    wdt.init(9000)--初始化watchdog设置为9s
+    sys.timerLoopStart(wdt.feed, 3000)--3s喂一次狗
+end
+
+
 sys.subscribe("IP_READY", function(ip)
     log.info("wlan", "ip ready", ip)
     -- 联网成功, 可以发起http, mqtt, 等请求了
@@ -26,6 +33,10 @@ gpio.setup(BTN_BOOT, function()
     sys.publish("BTN_BOOT")
 end)
 
+sys.subscribe("SC_RESULT", function(ssid, password)
+    log.info("why", ssid, password)
+end)
+
 sys.taskInit(function()
     sys.wait(500) -- 这里等500ms只是方便看日志,非必须
     wlan.init() -- 初始化wifi协议栈
@@ -55,21 +66,17 @@ sys.taskInit(function()
         else
             -- 获取配网后, ssid和passwd会有值
             log.info("smartconfig", ssid, passwd)
+            -- 获取IP成功, 将配网信息存入fdb, 做持久化存储
+            log.info("fdb", "save ssid and passwd")
+            -- fdb.kv_set("wlan_ssid", ssid)
+            -- fdb.kv_set("wlan_passwd", passwd)
+
+            -- 这里建议重启, 当然这也不是强制的
+            -- log.info("wifi", "wait 3s to reboot")
+            -- sys.wait(3000)
+            -- 重启后有配网信息, 所以就自动连接
+            --rtos.reboot()
             break
-            -- 值得注意的是, 存在ssid和passwd填错的情况, 这里按获取到IP来算成功
-            local ret = sys.waitUntil("IP_READY", 30000)
-            if ret then
-                -- 获取IP成功, 将配网信息存入fdb, 做持久化存储
-                log.info("fdb", "save ssid and passwd")
-                fdb.kv_set("wlan_ssid", ssid)
-                fdb.kv_set("wlan_passwd", passwd)
-                -- 等3秒再重启, 因为esptouch联网后会发生广播, 告知APP配网成功
-                log.info("wifi", "wait 3s to reboot")
-                sys.wait(3000)
-                -- 这里建议重启, 当然这也不是强制的
-                -- 重启后有配网信息, 所以就自动连接
-                rtos.reboot()
-            end
         end
     end
 end)