JT809上传车辆注册信息 UP_EXG_MSG_REGISTER

闲话少说,直接正题:最近在弄jt809协议的车辆信息注册模块,一共也没几行代码,但是搞了一天半才搞出来,下面就来说下我遇到的问题,如果大家遇到了类似的,可以参考下

首先:

  按照协议中要求的格式拼接消息体,其他部分这里就不赘述了,,我还有篇帖子是讲车辆定位信息上传的,有兴趣的可以去看下,继续说本次的问题。

上传车辆注册信息的协议要求如下:

JT809上传车辆注册信息 UP_EXG_MSG_REGISTER_第1张图片

车牌号,颜色,自业务类型,就不多说了,

说下这个PLATEFORM_ID,要求是长度位11的byte数组,实际上就是你拿一个字符串,直接getBytes(),如果长度不够11,就直接在前面的位数上填0x00,

如果你是长度为11的字符串,那么直接getBytes()即可,这个平台唯一编码并不是接入码,而是类似于你自己平台对这个设备的唯一Id,

PRODUCER_ID也是一样的,

重点就TERMINAL_MODEL_TYPE,这是一个大坑,我就是按照协议中要求的(我还看了两份协议,这里都是一样的)长度为7的byte数组,但是拼出来的报文就是过不去测试

卡了很久,无意间发现,这个长度描述的有问题,这个字段的长度应该是20而不是协议中描述的8。

JT809上传车辆注册信息 UP_EXG_MSG_REGISTER_第2张图片

这个用的是20,那么DATA_LENGTH就不再是49 ,而是61,整个消息体的长度就不是77而是89

到此我问题就解决了,重点就在于文档中描述的长度和实际使用的长度不一致


真是坑人。。。浪费了我很多时间,以此警示一下

你可能感兴趣的:(JT809协议)