合宙Air724UG LuatOS-Air script lib API--gpsZkw

Table of Contents
gpsZkw
gpsZkw.DEFAULT
gpsZkw.TIMERORSUC
gpsZkw.TIMER
gpsZkw.open(mode, para)
gpsZkw.close(mode, para)
gpsZkw.closeAll()
gpsZkw.isActive(mode, para)
gpsZkw.setPowerCbFnc(cbFnc)
gpsZkw.setUart(id, baudrate, databits, parity, stopbits)
gpsZkw.setAerialMode(gps, beidou, glonass)
gpsZkw.setNmeaMode(mode, cbFnc)
gpsZkw.setNemaReportFreq(rmc, gga, gsa, gsv, vtg, gll)
gpsZkw.setLocationFilter(seconds)
gpsZkw.isOpen()
gpsZkw.isFix()
gpsZkw.isOnece()
gpsZkw.getLocation(typ)
gpsZkw.getAltitude()
gpsZkw.getSpeed()
gpsZkw.getOrgSpeed()
gpsZkw.getCourse()
gpsZkw.getViewedSateCnt()
gpsZkw.getUsedSateCnt()
gpsZkw.getGgaloc()
gpsZkw.getUtcTime()
gpsZkw.getSep()
gpsZkw.getSateSn()
gpsZkw.getGsv()
gpsZkw.setParseItem(utcTime, gsv, gsaId)
gpsZkw
模块功能:GPS模块管理

注意:此功能模块中的功能接口可以分为四大类:

1、GPS开启

2、GPS关闭

3、GPS定位数据读取

4、GPS参数和功能设置

1、2、3是通用功能,除了支持合宙的Air530Z和Air82X系列模块,理论上也支持其他厂家的串口GPS模块

4是专用功能,仅支持合宙的Air530Z和Air82X系列模块

gpsZkw.DEFAULT
常量值,GPS应用模式1.

打开GPS后,GPS定位成功时,如果有回调函数,会调用回调函数

使用此应用模式调用gpsZkw.open打开的“GPS应用”,必须主动调用gpsZkw.close或者gpsZkw.closeAll才能关闭此“GPS应用”,主动关闭时,即使有回调函数,也不会调用回调函数

gpsZkw.TIMERORSUC
常量值,GPS应用模式2.

打开GPS后,如果在GPS开启最大时长到达时,没有定位成功,如果有回调函数,会调用回调函数,然后自动关闭此“GPS应用”

打开GPS后,如果在GPS开启最大时长内,定位成功,如果有回调函数,会调用回调函数,然后自动关闭此“GPS应用”

打开GPS后,在自动关闭此“GPS应用”前,可以调用gpsZkw.close或者gpsZkw.closeAll主动关闭此“GPS应用”,主动关闭时,即使有回调函数,也不会调用回调函数

gpsZkw.TIMER
常量值,GPS应用模式3.

打开GPS后,在GPS开启最大时长时间到达时,无论是否定位成功,如果有回调函数,会调用回调函数,然后自动关闭此“GPS应用”

打开GPS后,在自动关闭此“GPS应用”前,可以调用gpsZkw.close或者gpsZkw.closeAll主动关闭此“GPS应用”,主动关闭时,即使有回调函数,也不会调用回调函数

gpsZkw.open(mode, para)
打开一个“GPS应用”

“GPS应用”:指的是使用GPS功能的一个应用
例如,假设有如下3种需求,要打开GPS,则一共有3个“GPS应用”:
“GPS应用1”:每隔1分钟打开一次GPS
“GPS应用2”:设备发生震动时打开GPS
“GPS应用3”:收到一条特殊短信时打开GPS
只有所有“GPS应用”都关闭了,才会去真正关闭GPS
每个“GPS应用”打开或者关闭GPS时,最多有4个参数,其中 GPS应用模式和GPS应用标记 共同决定了一个唯一的“GPS应用”:
1、GPS应用模式(必选)
2、GPS应用标记(必选)
3、GPS开启最大时长[可选]
4、回调函数[可选]
例如gpsZkw.open(gpsZkw.TIMERORSUC,{tag=“TEST”,val=120,cb=testGpsCb})
gpsZkw.TIMERORSUC为GPS应用模式,"TEST"为GPS应用标记,120秒为GPS开启最大时长,testGpsCb为回调函数

参数
名称 传入值类型 释义
mode number GPS应用模式,支持gpsZkw.DEFAULT,gpsZkw.TIMERORSUC,gpsZkw.TIMER三种
para param table类型,GPS应用参数
para.tag:string类型,GPS应用标记
para.val:number类型,GPS应用开启最大时长,mode参数为gpsZkw.TIMERORSUC或者gpsZkw.TIMER时,此值才有意义
para.cb:GPS应用结束时的回调函数,回调函数的调用形式为para.cb(para.tag)
返回值
nil

例子
gpsZkw.open(gpsZkw.DEFAULT,{tag=“TEST1”,cb=test1Cb})
gpsZkw.open(gpsZkw.TIMERORSUC,{tag=“TEST2”,val=60,cb=test2Cb})
gpsZkw.open(gpsZkw.TIMER,{tag=“TEST3”,val=120,cb=test3Cb})
–另见:DEFAULT,TIMERORSUC,TIMER
参考示例:示例

gpsZkw.close(mode, para)
关闭一个“GPS应用”

只是从逻辑上关闭一个GPS应用,并不一定真正关闭GPS,是有所有的GPS应用都处于关闭状态,才回去真正关闭GPS

参数
名称 传入值类型 释义
mode number GPS应用模式,支持gps.DEFAULT,gps.TIMERORSUC,gps.TIMER三种
para param table类型,GPS应用参数
para.tag:string类型,GPS应用标记
para.val:number类型,GPS应用开启最大时长,mode参数为gps.TIMERORSUC或者gps.TIMER时,此值才有意义;使用close接口时,不需要传入此参数
para.cb:GPS应用结束时的回调函数,回调函数的调用形式为para.cb(para.tag);使用close接口时,不需要传入此参数
返回值
nil

例子
GPS应用模式和GPS应用标记唯一确定一个“GPS应用”,调用本接口关闭时,mode和para.tag要和gpsZkw.open打开一个“GPS应用”时传入的mode和para.tag保持一致
gpsZkw.close(gpsZkw.DEFAULT,{tag=“TEST1”})
gpsZkw.close(gpsZkw.TIMERORSUC,{tag=“TEST2”})
gpsZkw.close(gpsZkw.TIMER,{tag=“TEST3”})
–另见:open,DEFAULT,TIMERORSUC,TIMER
参考示例:示例

gpsZkw.closeAll()
关闭所有“GPS应用”

参数

返回值
nil

例子
gpsZkw.closeAll()
–另见:open,DEFAULT,TIMERORSUC,TIMER
参考示例:示例

gpsZkw.isActive(mode, para)
判断一个“GPS应用”是否处于激活状态

参数
名称 传入值类型 释义
mode number GPS应用模式,支持gps.DEFAULT,gps.TIMERORSUC,gps.TIMER三种
para param table类型,GPS应用参数
para.tag:string类型,GPS应用标记
para.val:number类型,GPS应用开启最大时长,mode参数为gpsZkw.TIMERORSUC或者gpsZkw.TIMER时,此值才有意义;使用isActive接口时,不需要传入此参数
para.cb:GPS应用结束时的回调函数,回调函数的调用形式为para.cb(para.tag);使用isActive接口时,不需要传入此参数
返回值
bool result,处于激活状态返回true,否则返回nil

例子
GPS应用模式和GPS应用标记唯一确定一个“GPS应用”,调用本接口查询状态时,mode和para.tag要和gpsZkw.open打开一个“GPS应用”时传入的mode和para.tag保持一致
gpsZkw.isActive(gpsZkw.DEFAULT,{tag=“TEST1”})
gpsZkw.isActive(gpsZkw.TIMERORSUC,{tag=“TEST2”})
gpsZkw.isActive(gpsZkw.TIMER,{tag=“TEST3”})
–另见:open,DEFAULT,TIMERORSUC,TIMER
参考示例:示例

gpsZkw.setPowerCbFnc(cbFnc)
设置GPS模块供电控制的回调函数

如果使用的是Air800,或者供电控制使用的是LDO_VCAM,则打开GPS应用前不需要调用此接口进行设置
否则在调用gpsZkw.open前,使用此接口,传入自定义的供电控制函数cbFnc,GPS开启时,gpsZkw.lua自动执行cbFnc(true),GPS关闭时,gpsZkw.lua自动执行cbFnc(false)

参数
名称 传入值类型 释义
cbFnc param function类型,用户自定义的GPS供电控制函数
返回值
nil

例子
gpsZkw.setPowerCbFnc(cbFnc)
参考示例:示例

gpsZkw.setUart(id, baudrate, databits, parity, stopbits)
设置GPS模块和GSM模块之间数据通信的串口参数

如果使用的是Air800,或者使用的UART2(波特率115200,数据位8,无检验位,停止位1),则打开GPS应用前不需要调用此接口进行设置
否则在调用gpsZkw.open前,使用此接口,传入UART参数

参数
名称 传入值类型 释义
id UART number ID,支持1和2,1表示UART1,2表示UART2
baudrate number 波特率,支持1200,2400,4800,9600,10400,14400,19200,28800,38400,57600,76800,115200,230400,460800,576000,921600,1152000,4000000
databits number 数据位,支持7,8
parity number 校验位,支持uart.PAR_NONE,uart.PAR_EVEN,uart.PAR_ODD
stopbits number 停止位,支持uart.STOP_1,uart.STOP_2
返回值
nil

例子
gpsZkw.setUart(2,115200,8,uart.PAR_NONE,uart.STOP_1)
参考示例:示例

gpsZkw.setAerialMode(gps, beidou, glonass)
设置GPS模块搜星模式.

如果使用的是Air820,不调用此接口配置,则默认同时开启GPS、北斗和glonass定位

参数
名称 传入值类型 释义
gps number GPS定位系统,1是打开,0是关闭
beidou number 中国北斗定位系统,1是打开,0是关闭
glonass number 俄罗斯Glonass定位系统,1是打开,0是关闭
返回值
nil

例子
gpsZkw.setAeriaMode(1,1,0)
参考示例:示例

gpsZkw.setNmeaMode(mode, cbFnc)
设置NMEA数据处理模式.

如果不调用此接口配置,则默认仅gpsZkw.lua内部处理NMEA数据

参数
名称 传入值类型 释义
mode number NMEA数据处理模式,0表示仅gpsZkw.lua内部处理,1表示仅用户自己处理,2表示gpsZkw.lua和用户同时处理
cbFnc param function类型,用户处理一条NMEA数据的回调函数,mode为1和2时,此值才有意义
返回值
nil

例子
gpsZkw.setNmeaMode(0)
gpsZkw.setNmeaMode(1,cbFnc)
gpsZkw.setNmeaMode(2,cbFnc)
参考示例:示例

gpsZkw.setNemaReportFreq(rmc, gga, gsa, gsv, vtg, gll)
设置NEMA语句的输出频率.

参数
名称 传入值类型 释义
rmc number 可选参数,默认为1 单位秒,RMC语句输出频率,取值范围0到9之间的整数,0表示不输出
gga number 可选参数,默认为1 单位秒,GGA语句输出频率,取值范围0到9之间的整数,0表示不输出
gsa number 可选参数,默认为1 单位秒,GSA语句输出频率,取值范围0到9之间的整数,0表示不输出
gsv number 可选参数,默认为1 单位秒,GSV语句输出频率,取值范围0到9之间的整数,0表示不输出
vtg number 可选参数,默认为0 单位秒,VTG语句输出频率,取值范围0到9之间的整数,0表示不输出
gll number 可选参数,默认为0 单位秒,GLL语句输出频率,取值范围0到9之间的整数,0表示不输出
返回值
nil

例子
gpsZkw.setNemaReportFreq(5,0,0,0,0,0)
参考示例:示例

gpsZkw.setLocationFilter(seconds)
设置GPS定位成功后经纬度的过滤时间.

参数
名称 传入值类型 释义
seconds number 可选参数,默认为0 单位秒,GPS定位成功后,丢弃前seconds秒的位置信息
返回值
nil

例子
gpsZkw.setLocationFilter(2)
参考示例:示例

gpsZkw.isOpen()
获取GPS模块是否处于开启状态

参数

返回值
bool result,true表示开启状态,false或者nil表示关闭状态

例子
gpsZkw.isOpen()
参考示例:示例

gpsZkw.isFix()
获取GPS模块是否定位成功

参数

返回值
bool result,true表示定位成功,false或者nil表示定位失败

例子
gpsZkw.isFix()
参考示例:示例

gpsZkw.isOnece()
获取GPS模块是否首次定位成功过

参数

返回值
bool result,true表示曾经定位成功

例子
gpsZkw.isOnece()
参考示例:示例

gpsZkw.getLocation(typ)
获取度格式的经纬度信息

参数
名称 传入值类型 释义
typ string 可选参数,默认为nil 返回的经纬度格式,typ为"DEGREE_MINUTE"时表示返回度分格式,其余表示返回度格式
返回值
table location
例如typ为"DEGREE_MINUTE"时返回{lngType=“E”,lng=“12128.44954”,latType=“N”,lat=“3114.50931”}
例如typ不是"DEGREE_MINUTE"时返回{lngType=“E”,lng=“121.123456”,latType=“N”,lat=“31.123456”}
lngType:string类型,表示经度类型,取值"E",“W”
lng:string类型,表示度格式的经度值,无效时为"“
latType:string类型,表示纬度类型,取值"N”,“S”
lat:string类型,表示度格式的纬度值,无效时为""

例子
gpsZkw.getLocation()
参考示例:示例

gpsZkw.getAltitude()
获取海拔

参数

返回值
number altitude,海拔,单位米

例子
gpsZkw.getAltitude()
参考示例:示例

gpsZkw.getSpeed()
获取速度

参数

返回值
number kmSpeed,第一个返回值为公里每小时的速度
number nmSpeed,第二个返回值为海里每小时的速度

例子
gpsZkw.getSpeed()
参考示例:示例

gpsZkw.getOrgSpeed()
获取原始速度,字符串带浮点

参数

返回值
number speed 海里每小时的速度

例子
gpsZkw.getOrgSpeed()
参考示例:示例

gpsZkw.getCourse()
获取方向角

参数

返回值
number course,方向角

例子
gpsZkw.getCourse()
参考示例:示例

gpsZkw.getViewedSateCnt()
获取可见卫星的个数

参数

返回值
number count,可见卫星的个数

例子
gpsZkw.getViewedSateCnt()
参考示例:示例

gpsZkw.getUsedSateCnt()
获取定位使用的卫星个数

参数

返回值
number count,定位使用的卫星个数

例子
gpsZkw.getUsedSateCnt()
参考示例:示例

gpsZkw.getGgaloc()
获取GGA语句中度分格式的经纬度信息

参数

返回值
string lng,度分格式的经度值(dddmm.mmmm),西经会添加一个-前缀,无效时为"“;例如"12112.3456"表示东经121度12.3456分,”-12112.3456"表示西经121度12.3456分
string lat,度分格式的纬度值(ddmm.mmmm),南纬会添加一个-前缀,无效时为"“;例如"3112.3456"表示北纬31度12.3456分,”-3112.3456"表示南纬31度12.3456分

例子
gpsZkw.getGgaloc()
参考示例:示例

gpsZkw.getUtcTime()
获取RMC语句中的UTC时间

只有同时满足如下两个条件,返回值才有效
1、开启了GPS,并且定位成功
2、调用setParseItem接口,第一个参数设置为true

参数

返回值
table utcTime,UTC时间,nil表示无效,例如{year=2018,month=4,day=24,hour=11,min=52,sec=10}

例子
gpsZkw.getUtcTime()
参考示例:示例

gpsZkw.getSep()
获取定位使用的大地高

参数

返回值
number sep,大地高

例子
gpsZkw.getSep()
参考示例:示例

gpsZkw.getSateSn()
获取GSA语句中的可见卫星号

只有同时满足如下两个条件,返回值才有效
1、开启了GPS,并且定位成功
2、调用setParseItem接口,第三个参数设置为true

参数

返回值
string viewedSateId,可用卫星号,""表示无效

例子
gpsZkw.getSateSn()
参考示例:示例

gpsZkw.getGsv()
获取GSV语句中的可见卫星的信噪比

只有同时满足如下两个条件,返回值才有效
1、开启了GPS,并且定位成功
2、调用setParseItem接口,第二个参数设置为true

参数

返回值
string gsv,信噪比

例子
gpsZkw.getGsv()
参考示例:示例

gpsZkw.setParseItem(utcTime, gsv, gsaId)
设置是否需要解析的字段

参数
名称 传入值类型 释义
utcTime bool 可选参数,默认为nil 是否解析RMC语句中的UTC时间,true表示解析,false或者nil不解析
gsv bool 可选参数,默认为nil 是否解析GSV语句,true表示解析,false或者nil不解析
gsaId bool 可选参数,默认为nil 是否解析GSA语句中的卫星ID,true表示解析,false或者nil不解析
返回值

例子
gpsZkw.setParseItem(true,true,true)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l531798151

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值