main.lua 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. PROJECT = "airtun"
  2. VERSION = "1.0.0"
  3. -- sys库是标配
  4. _G.sys = require("sys")
  5. -- _G.sysplus = require("sysplus")
  6. local wsc = nil
  7. sys.taskInit(function()
  8. if rtos.bsp():startsWith("ESP32") then
  9. local ssid = "uiot123"
  10. local password = "12348888"
  11. log.info("wifi", ssid, password)
  12. -- TODO 改成esptouch配网
  13. LED = gpio.setup(12, 0, gpio.PULLUP)
  14. wlan.init()
  15. wlan.setMode(wlan.STATION)
  16. wlan.connect(ssid, password, 1)
  17. local result, data = sys.waitUntil("IP_READY", 30000)
  18. log.info("wlan", "IP_READY", result, data)
  19. device_id = wlan.getMac()
  20. elseif rtos.bsp() == "AIR105" then
  21. w5500.init(spi.HSPI_0, 24000000, pin.PC14, pin.PC01, pin.PC00)
  22. w5500.config() --默认是DHCP模式
  23. w5500.bind(socket.ETH0)
  24. LED = gpio.setup(62, 0, gpio.PULLUP)
  25. sys.wait(1000)
  26. -- TODO 获取mac地址作为device_id
  27. elseif rtos.bsp() == "EC618" then
  28. --mobile.simid(2)
  29. LED = gpio.setup(27, 0, gpio.PULLUP)
  30. device_id = mobile.imei()
  31. sys.waitUntil("IP_READY", 30000)
  32. end
  33. wsc = websocket.create(nil, "ws://nutz.cn/websocket")
  34. wsc:autoreconn(true, 3000) -- 自动重连机制
  35. wsc:on(function(wsc, event, data, fin, optcode)
  36. log.info("wsc", event, data, fid, optcode)
  37. if event == "conack" then
  38. wsc:send((json.encode({action="login",device_id=device_id})))
  39. end
  40. end)
  41. wsc:connect()
  42. --sys.waitUntil("websocket_conack", 15000)
  43. while true do
  44. sys.wait(45000)
  45. -- wsc:send("{\"room\":\"topic:okfd7qcob2iujp1br83nn7lcg5\",\"action\":\"join\"}")
  46. wsc:send((json.encode({action="echo", msg=os.date()})))
  47. end
  48. wsc:close()
  49. wsc = nil
  50. end)
  51. -- 用户代码已结束---------------------------------------------
  52. -- 结尾总是这一句
  53. sys.run()
  54. -- sys.run()之后后面不要加任何语句!!!!!