--必须在这个位置定义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()