车载Tbox-CAN终端数据采集实现方案

news/2024/5/17 20:22:27 标签: 网络, tbox, tcp

因工作关系有机会与一家做汽车数据采集公司的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对应的数据项描述

方案 和代码 请 联系我!


http://www.niftyadmin.cn/n/4930675.html

相关文章

atxserver2环境搭建

1. 卸载python3.11.4版本 $sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.11/ $sudo rm -rf /Applications/Python\ 3.11/ 第三步:删除指向python的链接 cd /usr/local/bin/ ls -l /usr/local/bin | grep /Library/Frameworks/Python.framework/…

14 使用Vue + el-form + rules实现图书信息录入功能实战

前言 上节回顾 转眼2023年已经过去一半了,我咋记得2022年刚过去呢,有时候在前端打版本的时候我还不小心写成2022啥啥啥呢,写完才发现自己自己写错了,应该是2023,真是时光一去不复回,往事只能回味啊。 上一节为了给图书录入功能模块打基础,单独写了一篇Vue + FormDat…

网络爬虫选择代理IP的标准

Hey,小伙伴们!作为一家http代理产品供应商,我知道网络爬虫在选择代理IP时可能会遇到些问题,毕竟市面上有很多选择。别担心!今天我要给大家分享一些实用的建议,帮助你们选择适合网络爬虫的代理IP。一起来看看…

01 - 工作区、暂存区、版本库、远程仓库 - 以一次连贯的提交操作为例

1. 工作区、暂存区、版本库、远程仓库 以一次连贯的提交操作为例。 1.1 工作区 Git的工作区也就是我们平时编辑代码的目录文件夹。 新建一个kongfu_person.txt文件,工作区的变化: 1.2 工作区 > 暂存区:git add 1.3 暂存区 > 版本库…

Python 中 not 关键字的恰当使用及其对代码简洁性的影响

在 Python 中,适当地使用 not 关键字确实可以让某些代码更简洁、更易读。但要注意不要过度使用,否则可能会使代码更难理解。 以下是一些示例说明: 使用 not 来检查空列表、空字符串或 None 不使用 not: if len(my_list) 0:print…

使用 Gradio 构建生成式 AI 应用程序(一): 图片内容读取app

今天我们来学习DeepLearning.AI的在线课程:Building Generative AI Applications with Gradio,该课程主要讲述利用gradio来部署机器学习算法应用程序, 今天我们来学习第一课:Image captioning app,该课程主要讲述如何从图片中读取…

安装paddleSeq2.7.0版本模块-笔记

安装paddleSeq2.7.0版本模块-笔记 先安装conda和python版本 本机安装的conda 22.9.0 python2.9.12 paddle2.4.2 paddlepaddle-gpu2.4.2 cuda10.2 安装matplotlib3.5.0版本 opencv_python-4.5.4.60-cp39-cp39-win_amd64.whl 一、第一步先激活环境 conda activate base conda …

什么是军工保密资质

什么是军工保密资质? 军工保密资质,全称为武器装备科研生产单位保密资格。保密资格认定是国家对武器装备科研生产单位的保密基本条件的评价和认可,是企事业单位承担涉密武器装备科研生产任务的必要条件。通俗点讲,该资质用于国防科…