123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- --必须在这个位置定义PROJECT和VERSION变量
- --PROJECT:ascii string类型,可以随便定义,只要不使用,就行
- --VERSION:ascii string类型,如果使用Luat物联云平台固件升级的功能,必须按照"X.X.X"定义,X表示1位数字;否则可随便定义
- --PROJECT 字符串中,不用带下划线,会干扰自建升级平台上传升级文件格式解析
- --G31W时使用(Luat_V3036_RDA8910_NOVLTE)
- --发布版本规划:1.0.4*,2.xx.xx
- --天地人协议任联基站版本 1.0.6*,6.xx.xx
- PROJECT = "Rlian-Station-Kunming"
- VERSION = "1.0.71"
- --VERSION = "200.3037.1"
- --G31W1时使用(Luat_V3027_RDA8910_BT_FLOAT)
- --发布版本规划:1.0.5*,3.xx.xx
- -- PROJECT = "Rlian-Station-G31W1"
- -- VERSION = "1.0.59"
- --VERSION = "300.3037.1"
- --G31W2时使用(Luat_V3036_RDA8910_NOVLTE)
- --发布版本规划:4.xx.xx
- --PROJECT = "Rlian-Station-G31W2"
- --VERSION = "4.0.1"
- --合宙平台密钥
- --PRODUCT_KEY = "err8mdsS0v3L9m7OA5DzEANkvx2QoS6P"
- --任联平台密钥
- PRODUCT_KEY = "ddd0422aef65441cbe1c6cccd84e2fa0"
- -- 日志级别
- require "log"
- LOG_LEVEL = log.LOGLEVEL_TRACE
- log.openTrace(1,nil,115200)
- require "sys"
- --require "utils"
- --require "patch"
- require "pins"
- -- 加载GSM
- require "net"
- --8秒后查询第一次csq
- net.startQueryAll(8 * 1000, 60 * 1000)
- -- 控制台
- --require "console"
- --console.setup(1, 115200) //开启后,socket无法联网!!
- --加载网络指示灯和LTE指示灯功能模块
- --根据自己的项目需求和硬件配置决定:1、是否加载此功能模块;2、配置指示灯引脚
- --合宙官方出售的Air720U开发板上的网络指示灯引脚为pio.P0_1,LTE指示灯引脚为pio.P0_4
- require "netLed"
- pmd.ldoset(2,pmd.LDO_VLCD)
- netLed.setup(true,pio.P0_1,pio.P0_4)
- --设置设备配置参数
- require "configNvm"
- require "nvm"
- local rfidType = nvm.get("rfidType")
- -- local rfidType = "tiandiren"
- local gpsProtoType = nvm.get("gpsProtoType")
- --网络指示灯功能模块中,默认配置了各种工作状态下指示灯的闪烁规律,参考netLed.lua中ledBlinkTime配置的默认值
- --如果默认值满足不了需求,此处调用netLed.updateBlinkTime去配置闪烁时长
- --LTE指示灯功能模块中,配置的是注册上4G网络,灯就常亮,其余任何状态灯都会熄灭
- --[[
- --供电检测中断,设备断电后,达到一定时间(例如:30分钟),批量保存缓存数据到flash
- --GPIO54配置为中断,可通过getGpio54Fnc()获取输入电平,产生中断时,自动执行gpio54IntFnc函数
- getGpio54Fnc = pins.setup(pio.P1_22,gpio54IntFnc)
- function gpio54IntFnc(msg)
- log.info("testGpioSingle.gpio54IntFnc",msg,getGpio54Fnc())
- --上升沿中断
- if msg==cpu.INT_GPIO_POSEDGE then
- --下降沿中断
- else
- end
- end
- ]]
- -- 系统工具
- require "misc"
- --加载三色指示灯模块
- require "ledTask"
- --cmd命令行测试
- require"cmd"
- require"utils"
- --[[
- sys.timerLoopStart(function()
- local cmd_str = string.split("config file -a=1 -b --count=2", ' ')
- --local cmd_str = {"config","file", "-a=1", "-b", "--count=2"}
- local options,arguments = cmd.parse(cmd_str)
- --log.info("main.cmd", "options:", json.encode(options), "arguments:", json.encode(arguments))
- end, 2000)
- ]]
- --蓝牙&wifi测试
- --require"bleSlave"
- --开启GPS定位器功能
- if gpsProtoType == "gumi" then
- require "tracker"
- end
- require "httpTask"
- require "otaTask"
- if rfidType == "renlian" then
- --任联心跳通道
- require "socketHeartbeatTask"
- --数据通道任务
- require "socketTask"
- require "uartTask"
- elseif rfidType == "tiandiren" then
- require "uartTaskV2"
- require "longLinkSocketTask"
- elseif rfidType == "dahua" then
- require "uartTaskDahua"
- require "longLinkSocketDahua"
- end
- --测试专用
- --require "testSocket"
- --require "uartTaskTest"
- --加载错误日志管理功能模块【强烈建议打开此功能】
- --如下2行代码,只是简单的演示如何使用errDump功能,详情参考errDump的api
- require "errDump"
- require"nvm"
- --错误日志上报地址
- local errorLogReportUrl = nvm.get("errorLogReportUrl") or "udp://ota.airm2m.com:9072"
- --错误日志上报间隔
- local errorLogReportInterval = nvm.get("errorLogReportInterval") or 600
- errDump.request(errorLogReportUrl,errorLogReportInterval*1000)
- --errDump.request("udp://125.119.82.113:11114",60000)
- require "ntp"
- ntp.setServers({"ntp.renlianiot.com","ntp.renlianiot.com","ntp.renlianiot.com","time1.aliyun.com","ntp.aliyun.com","ntp1.aliyun.com"})
- --ntp.setServers({"ntp.renlianiot.com"})
- ntp.timeSync(1,function()
- sys.publish("TIMER_SYNC_SUCCESS",true)
- log.info("main.timeSync","----------------> AutoTimeSync is Done ! <----------------")
- end)
- sys.timerLoopStart(function()
- log.info("main.timer","--------->ntp.isEnd():",ntp.isEnd(),os.time(),",rssi:",net.getRssi())
- log.info("rfid_type---------main" ,nvm.get("rfidType"))
- end,5000)
- -- 启动系统框架
- sys.init(0, 0)
- sys.run()
|