normal.lua 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. --[[
  2. @module normal
  3. @summary gnss正常测试功能模块
  4. @version 1.0
  5. @date 2025.07.27
  6. @author 李源龙
  7. @usage
  8. 使用Air780EGH核心板,外接GPS天线,起一个60s定位一次的定时器,模块60s一定位,然后定位成功获取到经纬度发送到服务器上面
  9. ]]
  10. gnss=require("gnss")
  11. tcp=require("tcp")
  12. local function mode1_cb(tag)
  13. log.info("TAGmode1_cb+++++++++",tag)
  14. local rmc=gnss.getRmc(0)
  15. log.info("nmea", "rmc", json.encode(gnss.getRmc(0)))
  16. tcp.latlngfnc(rmc.lat,rmc.lng)
  17. end
  18. local function timer1()
  19. gnss.open(gnss.TIMERORSUC,{tag="MODE1",val=60,cb=mode1_cb})
  20. end
  21. local function gnss_fnc()
  22. log.info("gnss_fnc111")
  23. local gnssotps={
  24. gnssmode=1, --1为卫星全定位,2为单北斗
  25. agps_enable=true, --是否使用AGPS,开启AGPS后定位速度更快,会访问服务器下载星历,星历时效性为北斗1小时,GPS4小时,默认下载星历的时间为1小时,即一小时内只会下载一次
  26. -- debug=true, --是否输出调试信息
  27. -- uart=2, --使用的串口,780EGH和8000默认串口2
  28. -- uartbaud=115200, --串口波特率,780EGH和8000默认115200
  29. -- bind=1, --绑定uart端口进行GNSS数据读取,是否设置串口转发,指定串口号
  30. -- rtc=false --定位成功后自动设置RTC true开启,flase关闭
  31. }
  32. gnss.setup(gnssotps)
  33. sys.timerLoopStart(timer1,60000)
  34. -- gnss.open(gnss.TIMERORSUC,{tag="MODE1",val=60,cb=mode1_cb})
  35. end
  36. sys.taskInit(gnss_fnc)