main.lua 4.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. --必须在这个位置定义PROJECT和VERSION变量
  2. --PROJECT:ascii string类型,可以随便定义,只要不使用,就行
  3. --VERSION:ascii string类型,如果使用Luat物联云平台固件升级的功能,必须按照"X.X.X"定义,X表示1位数字;否则可随便定义
  4. PROJECT = "LBS_LOC"
  5. VERSION = "2.0.0"
  6. --[[
  7. 使用基站获取经纬度的功能,必须按照以下步骤操作:
  8. 1、打开Luat物联云平台前端页面:https://iot.openluat.com/
  9. 2、如果没有用户名,注册用户
  10. 3、注册用户之后,如果没有对应的项目,创建一个新项目
  11. 4、进入对应的项目,点击左边的项目信息,右边会出现信息内容,找到ProductKey:把ProductKey的内容,赋值给PRODUCT_KEY变量
  12. ]]
  13. --【【【【【【注意:此处的PRODUCT_KEY仅供演示使用,不保证一直能用,量产项目中一定要使用自己在iot.openluat.com中创建的项目productKey】】】】】】
  14. PRODUCT_KEY = "v32xEAKsGTIEQxtqgwCldp5aPlcnPs3K"
  15. --加载日志功能模块,并且设置日志输出等级
  16. --如果关闭调用log模块接口输出的日志,等级设置为log.LOG_SILENT即可
  17. require "log"
  18. LOG_LEVEL = log.LOGLEVEL_TRACE
  19. --[[
  20. 如果使用UART输出日志,打开这行注释的代码"--log.openTrace(true,1,115200)"即可,根据自己的需求修改此接口的参数
  21. 如果要彻底关闭脚本中的输出日志(包括调用log模块接口和Lua标准print接口输出的日志),执行log.openTrace(false,第二个参数跟调用openTrace接口打开日志的第二个参数相同),例如:
  22. 1、没有调用过sys.opntrace配置日志输出端口或者最后一次是调用log.openTrace(true,nil,921600)配置日志输出端口,此时要关闭输出日志,直接调用log.openTrace(false)即可
  23. 2、最后一次是调用log.openTrace(true,1,115200)配置日志输出端口,此时要关闭输出日志,直接调用log.openTrace(false,1)即可
  24. ]]
  25. --log.openTrace(true,1,115200)
  26. require "sys"
  27. require "net"
  28. --每1分钟查询一次GSM信号强度
  29. --每1分钟查询一次基站信息
  30. net.startQueryAll(60000, 60000)
  31. --此处关闭RNDIS网卡功能
  32. --否则,模块通过USB连接电脑后,会在电脑的网络适配器中枚举一个RNDIS网卡,电脑默认使用此网卡上网,导致模块使用的sim卡流量流失
  33. --如果项目中需要打开此功能,把ril.request("AT+RNDISCALL=0,1")修改为ril.request("AT+RNDISCALL=1,1")即可
  34. --注意:core固件:V0030以及之后的版本、V3028以及之后的版本,才以稳定地支持此功能
  35. ril.request("AT+RNDISCALL=0,1")
  36. --加载控制台调试功能模块(此处代码配置的是uart2,波特率115200)
  37. --此功能模块不是必须的,根据项目需求决定是否加载
  38. --使用时注意:控制台使用的uart不要和其他功能使用的uart冲突
  39. --使用说明参考demo/console下的《console功能使用说明.docx》
  40. --require "console"
  41. --console.setup(2, 115200)
  42. --加载网络指示灯和LTE指示灯功能模块
  43. --根据自己的项目需求和硬件配置决定:1、是否加载此功能模块;2、配置指示灯引脚
  44. --合宙官方出售的Air720U开发板上的网络指示灯引脚为pio.P0_1,LTE指示灯引脚为pio.P0_4
  45. require "netLed"
  46. pmd.ldoset(2,pmd.LDO_VLCD)
  47. netLed.setup(true,pio.P0_1,pio.P0_4)
  48. --网络指示灯功能模块中,默认配置了各种工作状态下指示灯的闪烁规律,参考netLed.lua中ledBlinkTime配置的默认值
  49. --如果默认值满足不了需求,此处调用netLed.updateBlinkTime去配置闪烁时长
  50. --LTE指示灯功能模块中,配置的是注册上4G网络,灯就常亮,其余任何状态灯都会熄灭
  51. --加载错误日志管理功能模块【强烈建议打开此功能】
  52. --如下2行代码,只是简单的演示如何使用errDump功能,详情参考errDump的api
  53. require "errDump"
  54. errDump.request("udp://dev_msg1.openluat.com:12425", nil, true)
  55. --加载远程升级功能模块【强烈建议打开此功能,如果使用了阿里云的OTA功能,可以不打开此功能】
  56. --如下3行代码,只是简单的演示如何使用update功能,详情参考update的api以及demo/update
  57. --PRODUCT_KEY = "v32xEAKsGTIEQxtqgwCldp5aPlcnPs3K"
  58. --require "update"
  59. --update.request()
  60. --加载LbsLoc功能测试模块
  61. require "testLbsLoc"
  62. --启动系统框架
  63. sys.init(0, 0)
  64. sys.run()