开发协议约定

1.系统间约定以UDP协议通信

2.协议主体格式为

msgId=|分隔列,以回车换行分隔行的字符串内容

注意多行数据时,数据行间以\r\n分隔(这里的\r\n是指回车换行2ASCII字符,不是4个字符,下同)

1234156=1|2|4\r\n4|5|6\r\n7|8|9

3.协议通信时,如果发送者未收到对端的确认消息,则认为发送没有成功,需要重新发送。

4.msgId由发送者负责分配,使用无符号32位整数,接收者使用此序号标志返回消息,方便发送者将请求和返回消息对应起来。建议顺序分配。

5.每个消息包数据总长度需要限制在1024字节内

 

 

.系统日志数据上报接口协议

 

1.上级系统监听指定端口(默认7000),等待下级系统发送数据

2.下级系统向上级系统发送格式化数据,单条数据消息格式为

msgId=学工号|时间|方向(12)|门禁控制器序号(1-65535间的数字)|人员类型(0普通,1黑名单,2重点关注)|是否开门(0未开1已开)

数据字段以|分隔,数量可以根据情况扩展

1=201392384769|2017-05-03 12:32:26|1|33251|0|1

 

一次可以传送多条数据,多条数据间以 回车换行符(\r\n)分隔,如

1=201392384769|2017-05-03 12:32:26|1|33251|0|1\r\n201392382362|2017-05-03 12:35:26|2|33251|0|1

3.上级系统向上报消息的源端口发送确认消息,表示已经成功接收到数据,确认消息格式为

msgId=OK

1=OK

 

注意,UDP可能存在最小消息包,因此建议上报系统确认报文用空格补足18个字节,比如固定在MSGID=OK后加18个空白字符。这个问题未必存在。

.获取设备列表

1.由上级系统向下级系统指定端口(默认4500)发送指令

msgId=GET_DEV_LIST

 

1=GET_DEV_LIST

 

2.下级系统向上级系统发回如下数据

msgId=packageId|packageCount|devId|devName|devIp|devType(预留,默认为0)

其中packageId为当前包序号(1开始)packageCount为总包数,一包中可以有一到多条记录,多条记录间以\r\n分隔

1=2|5|33256|3宿舍2通道|192.168.0.155|0\r\n33257|3宿舍3通道|192.168.0.156|0

3.上级系统收到消息包后,向下级系统发回如下数据,表示接收成功

msgId=packageId=OK

1=2=OK

4.下级系统接收前一包接收成功的消息后,继续发送其它消息包,直接所有包成功发送为止。

 

.远程开门接口协议

1.由上级系统向下级系统指定端口(默认4500)发送指令

msgId=控制器序号|方向12|开门方式(预留,默认为0)

数据字段以|分隔

1=33251|1|0

 

2.下级系统向上级系统发回确认消息,表示操作是否成功

msgId=OK

1=OK

或者其它错误原因,如

1=设备不在线