# 日常工作脚本
**Repository Path**: qwd1505/python_util
## Basic Information
- **Project Name**: 日常工作脚本
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 2
- **Created**: 2024-03-31
- **Last Updated**: 2025-10-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 文件下载
wget http://119.96.169.117:3006/gnss/release/kpl-tools.exe -O kpl-tools.exe
# 使用方法
1.可以直接使用命令模式
2.直接将配置文件拖到EXE执行
# action=0 均匀生成坐标点
命令:release/kpl-tools.exe -action=0 -num=100 -inputfile=res/wh-path.txt -output= -output-type=gga
参数: inputfile, 坐标文件, 格式:lng lat\n
output: 结果文件, 留空inputfile.nmea/inputfile.bl
output-type: gga 生成nmea格式的文件, bl 生成经纬度格式
num: 表示要生成的点个数
说明: http://119.96.169.117:6109/gdMap/GdMapTools.html 选取一些固定点进行作为输入源文件
# action=1 单个跟踪
命令:release/kpl-tools.exe -action=1 -input="jajw0275:98369861@119.3.136.126:8001/RTCM33/$GNGGA,171220,2333.760451,N,9951.256571,E,1,12,0.9,0.000,M,-13.869,M,2.0,0129*69" -output=output-action1.txt
说明: [input]是连接参数, [output]结果输出文件,包含推送的GGA, 收到的差分数据分析
# action=2 测试
命令:release/kpl-tools.exe -action=2 -tcpmsg-serv-addr=:8816 -input=tcpmsg://127.0.0.1:8816/msg/cmd, -output=tcpmsg://127.0.0.1:8816/msg/#id#
说明: output中#id# 替换为#id#
## input/cmd
命令包协议: action:[action]\r\ntopic:[topic]\r\ndata:[data]\r\npack:[pack]\r\n\r\n
action:pub(推送), sub(订阅)
topic:推送/订阅的通道
data:推送的数据(数据不能有换行),推送时生效
pack:推送时数据打包方式支持json, url, base64
action:pub
topic:msg/cmd
data:action=start&id=001&output=1&runsecs=0&reconnect=1&interval=10&rawhex=1&connstr=wszcs001:1122@119.96.80.54:8003/RTCM33GRCEJpro/$GNGGA,010918.00,3025.36715396,N,11427.95302424,E,2,12,0.9,28.743,M,-13.869,M,85.0,0129*71
action:pub
topic:msg/cmd
data:action=startEx&type=kplsdk&id=111&output-topic=msg/111&output=1&runsecs=0&reconnect=1&interval=10&connstr=sdk.kplgnss.com:57500&deviceid=huazhongmonito221&devicetype=sdkmonitor&appkey=ducteq2gh08a&appsecret=lny9y8zzifwvgv1z&itrf=8002&nmea=$GNGGA,094654.812,3026.496000,N,11421.402000,E,2,12,0.9,28.743,M,-13.869,M,85.0,0129*71
action:pub
topic:msg/cmd
data:action=startEx&type=kplsdk&id=monitobkhuazhong&output-topic=msg/monitobkhuazhong&output=1&runsecs=0&reconnect=1&interval=10&connstr=sdk.kplgnss.com:57500&deviceid=monitobkhuazhong&devicetype=sdkmonitor&appkey=ducteq2gh08a&appsecret=lny9y8zzifwvgv1z&itrf=8002&nmea=$GNGGA,010008,3019.407600,N,11410.069200,E,1,12,0.9,0.000,M,-13.869,M,2.0,0129*57
action:sub
topic:msg/111
action:pub
topic:msg/cmd
data:action=send-start&id=pongmsg&sendtopic=msg/pong&runsecs=0&data=ABCD&interval=1
action:sub
topic:msg/pong
### data 格式
````
启动一个SESSION, output=0(不解码,不输出), runsecs:单位秒,执行时长, interval:单位秒, 定时上传最后一个NMEA, reconnect自动重连 默认为1, rawhex:输出16进制模式的原始数据
action=start&id=001&output=1&runsecs=0&reconnect=1&interval=10&rawhex=0&connstr=wszcs001:1122@119.96.80.54:8003/RTCM33GRCEJpro
停止:
action=stop&id=001
nmea:
action=nmea&id=001&data=$GNGGA,134046,3034.080000,N,11413.860000,E,2,12,0.9,28.743,M,-13.869,M,2.0,0129*61
定时发送数据(启动), runsecs:单位秒,执行时长, interval:单位秒
action=send-start&id=001&sendtopic=msg/pong&runsecs=0&data=ABCD&interval=10
````
# action=3 启动执行脚本文件
命令:kpl-tools.exe -action=3 -input=res/script.conf
## 脚本文件说明
每一行是一条脚本, 脚本以url参数方式进行编码, 第一个字符为#表示注释, 忽略改行
### start 启动一个连接
action=start&id=001&delayms=1000&outputfile=data/#id#.dat&outtype=raw&rawhex=0&runsecs=10&reconnect=0&interval=0&dialproxy=119.96.169.117:52107&connstr=yangmf:123456@119.96.228.250:8003/RTCM33GRCEJpro/$GNGGA,074540.393,3034.080000,N,11413.860000,E,2,12,0.9,28.743,M,-13.869,M,85.0,0129*71
id:session
reconnect:是否重连
delayms:延迟执行, 单位ms
outputfile:输出文件, outtype:kpl文件格式, raw:原始数据
rawhex:输出原始数据 outtype:kpl有效
runsecs:执行时间 单位秒, 0:不自动结束(需要手动调用stop)
interval:定时推送nmea, 单位ms, 0:不定时
dialproxy:代理拨号地址
connstr:连接参数
### nmea
action=nmea&id=001&delayms=1000&interval=10000&runsecs=10&nmea=
id:sessionid
delayms:延迟执行, 单位ms
interval:定时推送nmea, 单位ms, 0:推送一次
runsecs:执行时间 单位秒, 0:推送一次
data: 推送的NMEA
### blpath
action=blpath&taskid=&pretask=&id=001&delayms=1000&interval=5000&runsecs=60&posiflag=4&data=114.1592,30.5788;114.1598,30.570350
id:sessionid
delayms:延迟执行, 单位ms
interval:定时推送nmea, 单位ms
runsecs:执行时间 单位秒, 0:推送一次
data:路径集合b,l;b,l
### itrfchk
监测端口的itrf坐标: 1:同一个端口坐标是一样的. 2:同一个点不同端口坐标不应该相差太大
action=itrfchk&taskid=&pretask=&id=001&delayms=1000&itrfport=8001;8002;8003&&connstr=yangmf:123456@119.96.228.250:8003/RTCM33GRCEJpro/$GNGGA,074540.393,3034.080000,N,11413.860000,E,2,12,0.9,28.743,M,-13.869,M,85.0,0129*71
id:sessionid
delayms:延迟执行, 单位ms
interval:定时推送nmea, 单位ms
itrfport:检测端口
per-runsecs:执行时间 单位秒,每个端口执行时间
# action=4 rtcm转kpl-text
# action=5 提前msm的rtcmBuf
# action=6 比较msm的rtcmBuf是否一致
命令: release\kpl-tools.exe -action=6 -f0=xxx.rtcm -f1=xxx.rtcm -output=x.log
# action=10 测试corsplus切换
命令: release\kpl-tools.exe -action=10 -num=100 -interval-secs=3 -input="http://127.0.0.1:6002/plug/corsplus-mp/status?type=6&gridid=PROXY-yangmf-5200&flag=#selflag#"
说明: [input]是切换用户的URL
循环掉用[input][num]次#selflag#将会替换成[1,2,3,4], 每次执行休息[interval-secs]秒
input中的gridid参数可以在corsplus-mp插件中查询(proxy-id), [user]替换成测试用户,
网址中的IP:PORT, 网关的状态地址: http://127.0.0.1:6002/plug/corsplus-mp/status?type=1&searchval=[user]&json=0
# action=20 xml脚本
kpl-tools.exe -action=20 -input=res/script.ksc
## 脚本说明
脚本类似xml格式
action: 一段脚本
start-on-sign: 收到信号后执行
delay: 延迟执行,单位毫秒
group: 分组排队执行
worker: 如果设定worker 则进行指定worker组进行执行
ondone-notify-sign: 执行完成后通知信号
exec-times: 执行次数
after-sleep-ms:执行完后sleep时间,单位ms
traceflag: 跟踪flag 0(默认):跟踪所有级别的信息, 9:跟踪错误信息, 999:不跟踪任何信息
vars: 注册变量, 格式才用url编码, 注册后, 后续的url, post中可以使用
url: http访问路径
post: post的数据, 如果没有则才用GET
respvars:响应中数据注册变量, 格式才用url编码, 如: 变量名=响应数据的key值&变量名=响应数据的key值, 后续的url, post中可以使用
````xml
urlprefix=http://127.0.0.1:6002/corsproxy/
$$urlprefix$$sys/login
{
"id":"yangmf0",
"pass":"202cb962ac59075b964b07152d234b70"
}
vartoken=token
$$urlprefix$$sys/validate?token=$$vartoken$$
````
# action=30
kpl-tools.exe -action=20 -input=res/script.ksc