前言

在过来的几年中,车联网曾经从概念倒退成潮流,席卷各大汽车制造商和相干的上下游行业,围绕车联网产业规范体系建设,我国相干部门一系列的领导规范应运而生。

EMQ 致力于为企业提供优质的万物互联引擎,不仅与支流汽车制造商及产业链相干企业建设了宽泛的单干,也从国家标准和行业标准层面提供了更多的能力和技术支持。此前 EMQ X 曾经反对 JT/T 808 协定, 随着 v4.2.3 版本公布,EMQ X 新增了又一个车联网相干 GB/T32960 协定的接入能力。

《GB/T32960 电动汽车近程服务与管理系统技术规范:通信协定及数据格式》是用于新能源车辆近程服务平台间通信的领导规范,基于 TCP 传输协定,可利用于车载通信模块与近程服务平台间的通信。 本文将从使用者角度介绍 EMQ X 如何接入 GB/T32960 协定设施。

工作原理

EMQ X 企业版中提供了 GB/T 32960 协定网关模块,依照其性能逻辑和整个零碎的关系,将整个音讯替换的过程能够分成三个局部:终端侧,平台侧和其它侧。

  1. 终端侧:通过 GB/T 32960 协定进行替换数据,实现不同类型的数据的上报,或者发送上行的音讯到终端。
  2. 平台侧:EMQ X GB/T 32960 网关将报文解码后在 EMQ X 外部转为 MQTT 协定进行数据上下行操作:

    • 数据上行:将上行数据报文以 MQTT PUBLISH 的模式公布到特定的主题上;
    • 数据上行:将须要上行的数据 PUBLISH 到特定的主题,音讯将转化为 GB/T 32960 协定的报文构造,下发到终端。
  3. 其它侧,通过 EMQ X 企业版的规定引擎能够将 2 中呈现的上行数据存储/转发到企业的数据库、流解决平台(如 Kafka)和业务零碎中;企业应用平台能够通过多种形式下发控制指令到 EMQ X,最终将数据发送到终端侧。

如何启用

下载 EMQ X 企业版 v4.2.3 之后的版本,启动之后关上 Dashboard,在 模块 菜单下增加并启用 GB/T 32960 网关即可。

  1. 点击 抉择 进入模块抉择界面,在 协定接入 中抉择 GB/T 32960 网关
  2. 点击 抉择 按钮,进入 GB/T 32960 网关 配置页面,进行启动前配置;
  3. 配置重传、报文、音讯长度等参数之后,配置 TCP 监听器参数,点击 增加 后即可启用 GB/T 32960 网关。

相干材料

在开发与反对过程中,咱们整顿了 GB/T 32960 行业与开发相干的材料如下:

  • GBT 32960.1-2016 电动汽车近程服务与管理系统技术规范 第1局部:总则
  • GBT 32960.2-2016 电动汽车近程服务与管理系统技术规范 第2局部:车载终端
  • GBT 32960.3-2016 电动汽车近程服务与管理系统技术规范 第3局部:通信协定及数据格式
  • EMQ X 企业版 GB/T 32960 网关数据交换格局

关注 EMQX 微信公众号,回复「 32960 」即可获取材料下载地址。

附:数据交换格局示例

以下是 GB/T 32960 和 EMQ X 之间数据交换的格局,数据格式有以下约定:

  • Payload 采纳 JSON 格局进行组装
  • JSON Key 采纳大驼峰格局命名

因为篇幅无限,此处仅提供局部替换格局示例,残缺数据格式详见文末材料以及官网文档。

上行数据

数据流向: Terminal -> GB/T 32960 网关 -> EMQ X。

车辆登入

Topic: gbt32960/${vin}/upstream/vlogin

{    "Cmd": 1,    "Encrypt": 1,    "Vin": "1G1BL52P7TR115520",    "Data": {        "ICCID": "12345678901234567890",        "Id": "C",        "Length": 1,        "Num": 1,        "Seq": 1,        "Time": {            "Day": 29,            "Hour": 12,            "Minute": 19,            "Month": 12,            "Second": 20,            "Year": 12        }    }}

车辆登出

Topic: gbt32960/${vin}/upstream/vlogout

{    "Cmd": 4,    "Encrypt": 1,    "Vin": "1G1BL52P7TR115520",    "Data": {        "Seq": 1,        "Time": {            "Day": 1,            "Hour": 2,            "Minute": 59,            "Month": 1,            "Second": 0,            "Year": 16        }    }}

上行数据

GB/T 32960 网关对终端的管制采纳 Request-Response 模式,向对用的 Topic 发送控制数据,响应后果将从个性的 Topic 返回:

申请

申请数据流向:EMQ X -> GB/T 32960 网关 -> Terminal

上行主题:gbt32960/${vin}/dnstream

应答

应答数据流向:Terminal -> GB/T 32960 网关 -> EMQ X

上行应答主题:gbt32960/${vin}/upstream/response

参数查问

Req:

{    "Action": "Query",    "Total": 2,    "Ids": ["0x01", "0x02"]}

Response:

{    "Cmd": 128,    "Encrypt": 1,    "Vin": "1G1BL52P7TR115520",    "Data": {        "Total": 2,        "Params": [            {"0x01": 6000},            {"0x02": 10}        ],        "Time": {            "Day": 2,            "Hour": 11,            "Minute": 12,            "Month": 2,            "Second": 12,            "Year": 17        }    }}

参数设置

Req:

{    "Action": "Setting",    "Total": 2,    "Params": [{"0x01": 5000},               {"0x02": 200}]}

Response:

// fixme? 终端是依照这种形式返回?{    "Cmd": 129,    "Encrypt": 1,    "Vin": "1G1BL52P7TR115520",    "Data": {        "Total": 2,        "Params": [            {"0x01": 5000},            {"0x02": 200}        ],        "Time": {            "Day": 2,            "Hour": 11,            "Minute": 12,            "Month": 2,            "Second": 12,            "Year": 17        }    }}

终端管制

近程降级: Req:

{    "Action": "Control",    "Command": "0x01",    "Param": {        "DialingName": "hz203",        "Username": "user001",        "Password": "password01",        "Ip": "192.168.199.1",        "Port": 8080,        "ManufacturerId": "BMWA",        "HardwareVer": "1.0.0",        "SoftwareVer": "1.0.0",        "UpgradeUrl": "ftp://emqtt.io/ftp/server",        "Timeout": 10    }}

车载终端关机:

{    "Action": "Control",    "Command": "0x02"}

车载终端报警:

{    "Action": "Control",    "Command": "0x06",    "Param": {"Level": 0, "Message": "alarm message"}}
版权申明: 本文为 EMQ 原创,转载请注明出处。

原文链接:https://www.emqx.cn/blog/release-notes-emq-x-enterprise-4-2-3