main.lua 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "helloworld"
  3. VERSION = "1.0.0"
  4. -- 使用合宙iot平台时需要这个参数
  5. PRODUCT_KEY = "xxx" -- 到 iot.openluat.com 创建项目,获取正确的项目id
  6. -- 引入必要的库文件(lua编写), 内部库不需要require
  7. sys = require("sys")
  8. sysplus = require("sysplus")
  9. libnet = require "libnet"
  10. log.info("main", PROJECT, VERSION)
  11. if wdt then
  12. --添加硬狗防止程序卡死,在支持的设备上启用这个功能
  13. wdt.init(20000)--初始化watchdog设置为9s
  14. sys.timerLoopStart(wdt.feed, 3000)--3s喂一次狗
  15. end
  16. local airlbs = require "airlbs"
  17. -- 此为收费服务,需自行联系销售申请
  18. local airlbs_project_id = "xxx"
  19. local airlbs_project_key = "xxx"
  20. sys.taskInit(function()
  21. sys.waitUntil("IP_READY")
  22. -- 如需wifi定位,需要硬件以及固件支持wifi扫描功能
  23. local wifi_info = nil
  24. if wlan then
  25. sys.wait(3000) -- 网络可用后等待一段时间才再调用wifi扫描功能,否则可能无法获取wifi信息
  26. wlan.init()
  27. wlan.scan()
  28. sys.waitUntil("WLAN_SCAN_DONE", 15000)
  29. wifi_info = wlan.scanResult()
  30. log.info("scan", "wifi_info", #wifi_info)
  31. end
  32. socket.sntp()
  33. sys.waitUntil("NTP_UPDATE", 1000)
  34. while 1 do
  35. local result , data = airlbs.request({project_id = airlbs_project_id, project_key = airlbs_project_key, wifi_info = wifi_info, timeout = 1000})
  36. if result then
  37. log.info("airlbs", json.encode(data))
  38. end
  39. sys.wait(20000)
  40. end
  41. end)
  42. -- 用户代码已结束---------------------------------------------
  43. -- 结尾总是这一句
  44. sys.run()
  45. -- sys.run()之后后面不要加任何语句!!!!!