为了在对机器人进行运动控制调试时更便捷的实时分析数据而设计的远程数据查看/调试软件/协议
Visual Studio 2015/2017
C# Winform
NuGet程序包依赖:HslCommunication
局域网内机器人自动发现协议
可选指定机器人连接
远程查看数据,显示波形
机器人端可动态配置回传数据通道数量、格式、帧率
根据包序统计丢包率
TODO:
更稳定的数据处理(下位机使用esp8266通讯时偶发断流BUG)
更完善的数据导出功能
通讯协议数据加密
波形拖动功能(需要对控件进行更改)
远程可动态配置回传数据(选择变量)
目标:局域网自动发现,远程连接,实时数据回传,动态配置。以下冒号后为ASCII字符
1812用于问询robot广播
1813用于接收robot广播
1814用于专有tx-robot
1815用于专有rx-robot
1813用于握手广播
1815用于专有通讯
Send:#RM-DT=DCY_ROBOT:#END
Rev:#RM-DT=REP_DCY:IM=;STA=<state_code>;[TYPE=<is_rm?>;]#END //state=0:Off_line 1:On_line_free 2:On_line_busy 3:On_line_connectOK
Send:#RM-DT=CNET:TAR=;TIP=<tar_ip>;CIP=;CPT=;#END
rev:#RM-DT=RCNET:TIP=;CIP=;CPT=;#END
wait 1s<等待切换到透传>
rev:#RM-DT=RCNET:OK;#END
Send:#RM-DT=CNET:OK;#END
已连接的HOST被问询:<广播>
Rev:#RM-DT=DCY_ROBOT:#END
Send:#RM-DT=REP_DCY:IM=;STA=;#END //state=已连接
配置信息包:
Send:#RM-DT=DATA_INFO:TIM=<tim_interavl>;ABYTES=<byte_numbers>;TYPE=<s2.s2.s2.s2>;#END //TYPE的值含义是:1数据类型+1字节数.2数据类型+2字节数…… 目前只支持: s8,u8,s16,u16,s32,u32,float
Rev:#RM-DT=INFOOK:#END
数据包:
Rev:#RM-DT=DATA:Sn=<XX160XX>;#END
心跳包:
Send:#RM-DT=HTBEAT:#END
正常退出:
Rev:Send:#RM-DT=CMD:EXIT;#END
#RM-DT=REP_DCY:IM=SENTRY1;STA=1;#END
#RM-DT=RCNET:TIP=192.168.1.74;CIP=192.168.1.25;CPT=1815;#END
#RM-DT=RCNET:OK;#END
#RM-DT=DATA_INFO:TIM=1;ABYTES=10;TYPE=<s2.s2.s2.s2.s2>;#END
Rev:#RM-DT=DATA:Sn=<XX160XX>;#END
//单ch实例
#RM-DT=REP_DCY:IM=SENTRY1;STA=1;#END
#RM-DT=RCNET:TIP=192.168.1.74;CIP=192.168.1.25;CPT=1815;#END
#RM-DT=RCNET:OK;#END
#RM-DT=DATA_INFO:TIM=1;ABYTES=2;TYPE=s2;
#END
#RM-DT=DATA:S0=2323;#END
{"SENTRY1",ROBOT_Type.Sentry1 },
{"SENTRY2",ROBOT_Type.Sentry2 },
{"INFANTRY1",ROBOT_Type.Infantry1 },
{"INFANTRY2",ROBOT_Type.Infantry2 },
{"HERO1",ROBOT_Type.Hero1 },
{"HERO2",ROBOT_Type.Hero2 },
{"ENGINEER1",ROBOT_Type.Engineer1 },
{"ENGINEER2",ROBOT_Type.Engineer2 },
{"UAV",ROBOT_Type.Uav },
{"OTHER1",ROBOT_Type.Other1 },
{"OTHER2",ROBOT_Type.Other2 },
{"OTHER3",ROBOT_Type.Other3 },