main.lua 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. _G.sys = require("sys")
  2. require "sysplus"
  3. --[[
  4. 接Air530Z-BD, 本demo演示的是不带AGPS的, 带AGPS的请参考demo/air530z/agps (还没写完)
  5. 提醒:
  6. 1. Air530Z-BD的串口默认是9600波特率, 单北斗
  7. 2. Air530Z 是北斗+GPS双模, 默认是9600波特率
  8. 3. UART的TX/RX要交叉接, 否则无法正常工作
  9. ]]
  10. local gps_uart_id = 2
  11. sys.taskInit(function()
  12. libgnss.clear() -- 清空数据,兼初始化
  13. sys.wait(100)
  14. -- 先尝试9600波特率, 并切换波特率
  15. uart.setup(gps_uart_id, 9600)
  16. uart.write(gps_uart_id, "$PCAS01,5*19\r\n")
  17. sys.wait(200)
  18. -- 按115200开始读取数据
  19. uart.setup(gps_uart_id, 115200)
  20. -- 调试日志,可选
  21. -- libgnss.debug(true)
  22. libgnss.bind(gps_uart_id)
  23. end)
  24. sys.taskInit(function()
  25. while 1 do
  26. sys.wait(1000)
  27. log.info("RMC", json.encode(libgnss.getRmc(2) or {}, "7f"))
  28. -- log.info("INT", libgnss.getIntLocation())
  29. -- log.info("GGA", libgnss.getGga(3))
  30. -- log.info("GLL", json.encode(libgnss.getGll(2) or {}, "7f"))
  31. -- log.info("GSA", json.encode(libgnss.getGsa(1) or {}, "7f"))
  32. -- log.info("GSV", json.encode(libgnss.getGsv(2) or {}, "7f"))
  33. -- log.info("VTG", json.encode(libgnss.getVtg(2) or {}, "7f"))
  34. -- log.info("ZDA", json.encode(libgnss.getZda(2) or {}, "7f"))
  35. -- log.info("date", os.date())
  36. -- log.info("sys", rtos.meminfo("sys"))
  37. -- log.info("lua", rtos.meminfo("lua"))
  38. -- 打印全部卫星
  39. -- local gsv = libgnss.getGsv() or {sats={}}
  40. -- for i, v in ipairs(gsv.sats) do
  41. -- log.info("sat", i, v.nr, v.snr, v.azimuth, v.elevation)
  42. -- end
  43. end
  44. end)
  45. sys.run()