因工作关系有机会与一家做汽车数据采集公司的Tbox终端产品做数据对接。

这个产品通过can口与汽车总线交换数据,再将采集的数据打包通过4G以tcp报文发送到云端。云端通过解析、格式转换后保存到数据库。

本文介绍用nodejs实现tcp报文的解析,报文描述如下:

TBOX通讯协议描述

协议:TCP

采用固定帧长度:186(4+20+16*10+2)字节

帧头(固定4字节)

设备序列号(20字节)

数据包1

(16字节)

数据包2

(16字节)

...

数据包10

(16字节)

CRC16校验

(2字节)

帧头: AABB ( ASCII码格式,4 字节)

设备序列号: ICITBOX_202103240040 (ASCII码格式,20字节)

数据包: 格式见下表

CRC16校验: 计算方法,见文档附录,从帧头开始,至数据的最后一个字节结束(共184字节)

数据包格式(长度固定为16byte):

时间(4字节)

CAN-ID(4字节)

CAN-Data(8字节)

时间: unix时间戳

CAN-ID(32bit) :

bit0 -28 : CAN-ID

bit29-31: 无效

CAN-Data:CAN的8字节数据(具体含义参见CAN协议文档)

协议解析举例:

 

时间戳: 0x6049CFB4 -- 转北京时间:2021-03-11 16:07:16

ID: 0xF41A0301 (bit29-31无效) 则为:0x141A0301

数据: 0x03 0x10 0xC0 0x0F 0x3A 0x38 0x40 0x3D

 

ID对应的数据项描述

方案 和代码 请 联系我!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐