main.lua 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "my_test"
  3. VERSION = "1.2"
  4. PRODUCT_KEY = "s1uUnY6KA06ifIjcutm5oNbG3MZf5aUv" --换成自己的
  5. -- sys库是标配
  6. _G.sys = require("sys")
  7. _G.sysplus = require("sysplus")
  8. ----------------------------------------
  9. -- 报错信息自动上报到平台,默认是iot.openluat.com
  10. -- 支持自定义, 详细配置请查阅API手册
  11. -- 开启后会上报开机原因, 这需要消耗流量,请留意
  12. if errDump then
  13. errDump.config(true, 600)
  14. end
  15. ----------------------------------------
  16. -- 如果运营商自带的DNS不好用,可以用下面的公用DNS
  17. -- socket.setDNS(nil,1,"223.5.5.5")
  18. -- socket.setDNS(nil,2,"114.114.114.114")
  19. -- socket.sntp()
  20. --socket.sntp("ntp.aliyun.com") --自定义sntp服务器地址
  21. --socket.sntp({"ntp.aliyun.com","ntp1.aliyun.com","ntp2.aliyun.com"}) --sntp自定义服务器地址
  22. -- sys.subscribe("NTP_UPDATE", function()
  23. -- log.info("sntp", "time", os.date())
  24. -- end)
  25. -- sys.subscribe("NTP_ERROR", function()
  26. -- log.info("socket", "sntp error")
  27. -- socket.sntp()
  28. -- end)
  29. -----------------------------------------------------------------------------------------------------------------
  30. sys.taskInit(function()
  31. -- 检查一下当前固件是否支持fskv
  32. if not fskv then
  33. while true do
  34. log.info("fskv", "this demo need fskv")
  35. sys.wait(1000)
  36. end
  37. end
  38. -- 初始化kv数据库
  39. fskv.init()
  40. fskv.set("authCode", " ") --注册成功后的鉴权码
  41. fskv.set("heartFreq",60) --心跳上报间隔,单位秒
  42. fskv.set("tcpSndTimeout",10) --TCP等待应答超时时间,单位秒
  43. fskv.set("tcpResendMaxCnt", 3) --TCP重传次数
  44. fskv.set("locRptStrategy", 0) --位置汇报策略,0:定时汇报;1:定距汇报;2:定时和定距汇报
  45. fskv.set("locRptMode",0) --位置汇报方案,0:根据 ACC 状态; 1:根据登录状态和 ACC 状态,先判断登录状态,若登录再根据 ACC 状态
  46. fskv.set("sleepLocRptFreq", 60) --休眠时位置汇报时间间隔,单位为秒
  47. fskv.set("alarmLocRptFreq",5) --紧急报警时位置汇报时间间隔,单位为秒
  48. fskv.set("wakeLocRptFreq", 20) --缺省位置汇报时间间隔,单位为秒
  49. fskv.set("sleepLocRptDistance", 500) --休眠时汇报距离间隔,单位为米
  50. fskv.set("alarmLocRptDistance", 5) --紧急报警时位置汇报时间间隔,单位为米
  51. fskv.set("wakeLocRptDistance", 50) --缺省位置汇报时间间隔,单位为米
  52. fskv.set("fenceRadis", 100) --电子围栏半径,单位为米
  53. fskv.set("alarmFilter",0) --报警屏蔽字,与位置汇报消息中的报警标志相对应,相应位为 1,则相应报警被屏蔽
  54. fskv.set("keyFlag", 0) --关键标志,与位置信息汇报消息中的报警标志相对应,相应位为 1 则对相应报警为关键报警
  55. fskv.set("speedLimit", 100) --最高速度,单位为公里每小时(km/h)
  56. fskv.set("speedExceedTime", 60) --超速持续时间,单位为秒(s)
  57. end)
  58. -------------------------------------------------------------------------------------------------------------
  59. local gpsMng = require "gpsMng"
  60. require "JT808Prot"
  61. require "socket_demo"
  62. -- dtuDemo("112.125.89.8",35960)
  63. -- 用户代码已结束---------------------------------------------
  64. -- 结尾总是这一句
  65. sys.run()
  66. -- sys.run()之后后面不要加任何语句!!!!!