如何用部标jt809协议接收苏标主动安全报警和报警附件信息
如何用部标jt809协议接收苏标主动安全报警和报警附件信息
由于目前很多平台无法直接接入设备终端,而是通过第三方平台获取到部标数据,和第三方平台的对接多数都是通过部标809协议来完成的,对于主动安全报警数据,也是可以通过809协议来接收的。
苏标主动安全协议是目前所有地方性主动安全协议标准中最富有进取的标准,因为协议标准必须要持续迭代,从2017年发布第一版,2019年跟随部标808协议2019标准又发布了苏标2019版本,2024年第三个版本也在酝酿当中,明后年估计就要发布第三版。
苏标安全协议对原有的809协议进行了拓展,主要是在报警部分,特别是部标809协议中没有的苏标主动安全报警部分。通过809协议接收主动安全报警和附件数据,主要通过以下步骤进行。
1.1. 通过0×1402接收报警信息
首先对0×1402 UP_WARN_MSG_INFO 主动上报报警信息消息这个指令进行了改造,由于苏标主动安全报警的唯一标识是32位的字符串,而原有的809信息中的报警ID是四字节的整数,所有苏标809协议首先将报警信息的报警ID修改为32字节长度的字符串。并且丰富了原有的数据,增加了驾驶员信息和定位信息。
这样用原有的809协议程序就无法再正常解析和接收苏标809报警信息了,必须要进行兼容改造。这个0×1402指令非常重要,它是接收苏标主动安全报警数据的第一步,先收到报警信息,并获取到主动安全报警ID。
当接收到1402指令信息后,要先判断报警类型是否是苏标主动报警,如果是主动安全报警,则存入主动安全报警表中形成一条报警记录。在web界面上就显示报警报表记录。
如需购买部标809网关源码(支持上下级服务),或者整个苏标主动安全平台源码,请联系2379423771@qq.com
参见: 基于部标1078视频协议和苏标Adas协议构建主动安全平台
1.2. 发送9404目录请求获取附件列表信息
下一步就是根据主动安全报警ID,向下级平台发送0×9404 主动安全报警附件目录请求信息消息,DOWN_WARN_MSG_FILELIST_REQ.
下级平台收到请求后,开始准备数据并向上级平台发送0×1404,主动安全报警附件目录请求应答UP_WARN_MSG_FILELIST_ACK。获取到附件列表后,存入附件记录报表中,准备开始下载的流程。入下图所示。
1.3. 通过FTP下载附件文件
上级平台收到应答后,可以根据应答中的FTP地址,向下级平台的FTP服务器发起请求,下载FTP文件到自己的服务器上面。
这个通过FTP形式访问附件的形式是一大弊病,在第三版中就会改掉,因为这需要上级平台浪费资源下载附件到自己的服务器上,然后才能在上级平台的web界面上显示出来,由于上级平台是一对多,接入海量下级车辆,上级平台需要浪费时间完成下载才能显示,而且上级平台也要耗费高昂的存储成本和带宽成本,对于下级平台也非常的麻烦,很多下级平台的主动安全报警文件是存放在阿里云,天翼云的OSS对象存储服务器上面,并没有存储在自己的本地服务器上面,无法在自己构建一个FTP服务器来满足上级平台的要求。所以FTP的设计明显是非常落后的。
现在其他的地方性标准,基本都提供了基于HTTP接口访问下级平台附件的形式,这样就不用下载了,直接在web平台上跨域访问并显示下级平台的HTTP URL就可以了。
java809版的参见:基于Java Mina或者NETTY 通信框架的JT/T809转发服务器设计
如果用809协议接收第三方平台转发的数据,并开发web系统进行数据展现、报警提示、地图监控、电子围栏等功能,参见文章(C#和Java都有):基于部标Jt/T809协议和Java Netty框架构建Gps位置监控平台
C#版的交通部809服务器设计请参考:基于JT/T809-2011的(已过检)GPS平台数据交换及转发服务器
(191)