netready.lua 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. local sys = require "sys"
  2. -- 统一联网函数
  3. sys.taskInit(function()
  4. -----------------------------
  5. -- 统一联网函数, 可自行删减
  6. ----------------------------
  7. if wlan and wlan.connect then
  8. -- wifi 联网, ESP32系列均支持
  9. local ssid = "luatos1234"
  10. local password = "12341234"
  11. log.info("wifi", ssid, password)
  12. -- TODO 改成自动配网
  13. wlan.init()
  14. wlan.setMode(wlan.STATION) -- 默认也是这个模式,不调用也可以
  15. wlan.connect(ssid, password, 1)
  16. elseif mobile then
  17. -- Air780E/Air600E系列
  18. --mobile.simid(2) -- 自动切换SIM卡
  19. -- LED = gpio.setup(27, 0, gpio.PULLUP)
  20. -- device_id = mobile.imei()
  21. elseif w5500 then
  22. -- w5500 以太网, 当前仅Air105支持
  23. w5500.init(spi.HSPI_0, 24000000, pin.PC14, pin.PC01, pin.PC00)
  24. w5500.config() --默认是DHCP模式
  25. w5500.bind(socket.ETH0)
  26. -- LED = gpio.setup(62, 0, gpio.PULLUP)
  27. elseif socket or mqtt then
  28. -- 适配的socket库也OK
  29. -- 没有其他操作, 单纯给个注释说明
  30. else
  31. -- 其他不认识的bsp, 循环提示一下吧
  32. while 1 do
  33. sys.wait(1000)
  34. log.info("bsp", "本bsp可能未适配网络层, 请查证")
  35. end
  36. end
  37. -- 默认都等到联网成功
  38. sys.waitUntil("IP_READY")
  39. sys.publish("net_ready")
  40. end)