Skip to content

X-PTP通信协议说明

一、概述

Xlink IoT Gataway是物联云平台提供的一个敏捷、可扩展的物联网网关软件架构,可广泛适用于智 能家居、智慧社区和智能商业等物联网的应用场景。通过Xlink IoT Gataway方案您可以快速开发网关应 用,实现本地设备安全认证、协议转换和处理、执行本地计算、数据收发和缓存,支持云端及应用程序 的数据采集、同步和远程访问控制。 Xlink IoT Gataway由Xlink Core Gateway和Xlink SEP 、Xlink PTP 三个部分构成。

  • Xlink Core Gateway(XCG)是Xlink网关的核心程序,提供网关的设备安全、消息处理,计算、 数据缓存和通信等服务。
  • XCG作为单独进程在OS中运行,通过进程通信与X-PTP,X-SEP应用进行交互。
  • Xlink Protocol Transform Processor (X-PTP ),基于其所开发的网关应用程序,我们称之为X- PTP应用,它用于实现子设备协议的转换和通信适配,也可以自定义数据和业务处理逻辑。
  • X-PTP 根据XCG提供的系列便捷的协议,使得您能够快速对接子设备,子设备可以是Z-wave、 Zigbee、BLE Mesh和RS-485等通信协议;
  • X-PTP应用程序会作为独立的进程在网关中运行,每个X-PTP进程可以处理不同类型的子设备接入 协议。例如,您可以开发一个支持Zigbee HA的X-PTP程序,让网关支持Zigbee联盟标准的设备接 入,同时也可以开发一个支持BLE Mesh或RS-485的X-PTP程序来实现相应的设备接入。
  • 每个X-PTP进程都将连接到同一个本地的XCG进行统一的通信和管理,如下图所示:

img

三、XCG与X-PTP的通信协议

Xlink Protocol Transform Processor (X-PTP)是XCG与X-PTP网关程序之间的通信协议,基于MQTT,通过该协议可实现您自己开发的X-PTP网关程序与XCG的对接。

本文档以实现了Zigbee协议转换的PTP为例,其所涉及的部分XDP协议框架如下:

img

1. 子设备列表

  • 说明:

    PTP向XCG发送全量的设备列表

  • 方向:

    PTP -> XCG

  • Topic:

    $xlink/ptp/{ptp_id}/devices

    注意: ptp_id是PTP进程的唯一ID,具体生成方式见后面附录说明。

  • Payload

    json
    {
       "devices": [
           {
               "mac": "设备mac",
               "product_id": "设备所属产品ID",
               "state": 整型设备状态,
               "push": 是否推送
           }
       ]
    }
字段类型是否必须说明
devices队列设备列表
mac字符串设备MAC地址。 注意 :在Zigbee网关中,是Zigbee设备的Eui值。
product_id字符串设备所属产品ID。其具体获取方式见附录说明
state整型设备状态
push布尔是否推送告警,推送:true,不推送:false,默认true

2. 搜索子设备

  • 说明:

    XCG通过PTP通知Zigbee协调器进入新设备发现状态。在APP添加子设备期间,此协议会间隔5秒左右重发,PTP实现时需要注意。

    PTP在最后一次收到此条消息的若干时间后(通常建议90-180秒)若没收到 $xlink/ptp/{ptp_id}/device/stopsearch(停止搜索子设备)指令,需要主动退出入网模式。

    此协议会广播给所有的PTP连接

  • 方向:

    XCG -> PTP

  • Topic:

    $xlink/ptp/{ptp_id}/device/search

    注意: ptp_id是PTP进程的唯一ID,具体生成方式见后面附录说明。

  • Payload

    json
    {
     "pids":["",""],
     "sgw_macs":["AABBCCDDEEFF","AABBCCDDEEF2"]
    }
字段类型是否必须说明
pids字符串列表需要入网的产品ID列表,此字段为空表示所有产品
sgw_macs字符串列表需要开启入网的子网关MAC列表,此字段为空表示所有子网关。PTP实现上可以根据此参数控制匹配的子网关开启入网模式,从而实现子设备需入网到指定网关的场景

3. 子设备加入

  • 说明:

    当一个设备加入到网络以后,通知给XCG。

  • 方向:

    PTP -> XCG

  • Topic:

    $xlink/ptp/{ptp_id}/device/new

  • Payload

    json
    {
       "mac":"设备mac",
       "product_id":"设备所属产品ID",
       "push":是否推送,
       "type":设备类型
    }
字段类型是否必须说明
mac字符串设备MAC地址。 注意 :在Zigbee网关中,是Zigbee设备的Eui值。
product_id字符串设备所属产品ID。其具体获取方式见附录说明
push布尔是否推送告警,推送:true,不推送:false,默认true
type整型设备类型:1-主网关,2-子设备,3-子网关; 默认值:2-子设备

4. 删除子设备

  • 说明:

    XCG通知PTP去删除一个设备。

    删除结果,通过Topic:子设备操作通用结果应答应答

  • 方向:

    XCG->PTP

  • Topic:

    $xlink/ptp/{ptp_id}/device/delete

  • Payload

    json
    {
     "msg_id":消息ID,
     "mac":"设备mac",
       "product_id":"设备所属产品ID",
       "code":操作代码
    }
字段类型是否必须说明
msg_id整形消息ID
mac字符串设备MAC地址。 注意 :在Zigbee网关中,是Zigbee设备的Eui值。
product_id字符串设备所属产品ID。其具体获取方式见附录说明
code整形操作代码:0-正常删除;1-设备激活时平台返回设备不存在,进行设备删除;2-设备上线时平台返回设备不存在,进行设备删除。

5. 子设备状态改变

  • 说明:

    当子状态、属性改变以后,通过PTP通知到XCG。

  • 方向:

    PTP -> XCG

  • Topic:

    $xlink/ptp/{ptp_id}/device/sync

  • Payload

    json
    {
       "devices": [
           {
               "mac": "设备mac",
               "product_id": "设备所属产品ID",
               "state":设备状态,
               "push":是否推送,
       "time":状态改变时间,
               "datapoints": [
                   {
                       "index": 索引,
         "name":"名称",
                       "value": "值"
                   },
                   {
                       "index": 索引,
         "name":"名称",
                       "value": "值"
                   }
               ]
           }
       ]
    }
字段类型是否必须说明
mac字符串设备MAC地址。 注意 :在Zigbee网关中,是Zigbee设备的Eui值。
product_id字符串设备所属产品ID。其具体获取方式见附录说明
state整形设备状态
push布尔是否推送告警,推送:true,不推送:false,默认true
time字符串状态改变时间。格式为毫秒级utc时间戳,示例:“1616404559000”。
datapoints对象设备改变的数据端点列表
datapoints.index整形数据端点索引
datapoints.name字符串数据端点名称
datapoints.type整形数据端点数据类型,其定义见附录说明
datapoints.value数字、字符串、布尔数据端点值

6. 改变子设备状态

  • 说明:

    XCG发送消息给PTP改变一个子设备状态

    操作结果,通过Topic:子设备操作通用结果应答应答

  • 方向:

    XCG->PTP

  • Topic:

    $xlink/ptp/{ptp_id}/device/set

  • Payload

    json
    {
     "msg_id":"消息ID",
     "mac":"设备mac",
     "product_id":"设备所属产品ID",
     "datapoints":[
      {
       "index":"索引",
       "name":"名称",
       "type": 类型,
       "value":"值",
      },
      {
       "index":"索引",
       "name":"名称",
       "type": 类型,
       "value":"值",
      }
     ]
    }
字段类型是否必须说明
msg_id整形消息ID
mac字符串设备MAC地址。 注意 :在Zigbee网关中,是Zigbee设备的Eui值。
product_id字符串设备所属产品ID。其具体获取方式见附录说明
datapoints对象设备改变的数据端点列表
datapoints.index整形数据端点索引
datapoints.name字符串数据端点名称
datapoints.type整形数据端点数据类型,其定义见附录说明
datapoints.value数字、字符串、布尔数据端点值

7. 子设备发布物属性

  • 说明:

    当子状态、属性改变以后,通过PTP通知到XCG。

  • 方向:

    PTP -> XCG

  • Topic:

    $xlink/ptp/{ptp_id}/device/thing/publish_attribute

  • Payload

    json
    {
       "devices":[
           {
               "mac":"设备mac",
               "product_id":"设备所属产品ID",
               "state":"设备状态",
               "attribute":{
                   "v":"物模型版本号",
                   "time":"时间,utc时间戳表示",
                   "extra":{
                       "name":"value"
                   }
               }
           }
       ]
    }
字段路径类型必填说明
macString设备MAC地址
注意:在Zigbee网关中是Zigbee设备的Eui值
product_idString设备所属产品ID
具体获取方式见附录说明
stateInteger设备状态
attributeObject-设备物属性对象
↳ attribute.vString-物模型版本号,当前值为 "2.0"
↳ attribute.timeString-时间戳格式为毫秒级UTC时间戳
示例:"1616404559000"
↳ attribute.extraObject物模型属性对象
示例:{"PowerSwitch":0,"Status":true}

8. 子设备物模型事件上报

  • 说明:

    当子设备物模型事件改变以后,通过PTP通知到XCG。

  • 方向:

    PTP -> XCG

  • Topic:

    $xlink/ptp/{ptp_id}/device/thing/event/{event_name}/report

  • Payload

    json
    {
       "devices":[
           {
               "mac":"设备mac",
               "product_id":"设备所属产品ID",
               "state":"设备状态",
               "event":{
                   "v":"物模型版本号",
                   "time":"时间,long型时间戳表示",
                   "extra":{
                       "xxx":"xxx"
                   }
               }
           }
       ]
    }
字段类型是否必须说明
mac字符串设备MAC地址。注意:在Zigbee网关中,是Zigbee设备的Eui值。
product_id字符串设备所属产品ID。其具体获取方式见附录说明
state整形设备状态
event对象设备改变的物模型事件
event.v字符串物模型版本号,当前值为 "2.0"
event.extraObject物模型事件对象,例如:{"code":0,"message":"OK"}

9. 子设备物模型服务调用

  • 说明:

    XCG发送消息给PTP调用子设备物模型服务

  • 方向:

    XCG -> PTP

  • Topic:

    $xlink/ptp/{ptp_id}/device/thing/service/{service_name}/invoke

  • Payload

    json
    {
       "msg_id":"消息ID",
       "mac":"设备mac",
       "product_id":"设备所属产品ID",
       "service":{
           "v":"物模型版本号",
           "input":{
               "xxx":"xxx"
           }
       }
    }
字段类型是否必须说明
msg_id整形消息ID,需要在服务调用结果中原样返回
mac字符串设备MAC地址。注意:在Zigbee网关中,是Zigbee设备的Eui值。
product_id字符串设备所属产品ID。其具体获取方式见附录说明
service对象设备物模型服务
service.inputObject物模型服务输入参数,例如:{"code":0,"message":"OK"}

10. 子设备物模型服务调用返回结果

  • 说明:

    子设备物模型服务调用返回结果通过PTP通知到XCG。

  • 方向:

    PTP -> XCG

  • Topic:

    $xlink/ptp/{ptp_id}/device/thing/service/{service_name}/invoke/result

  • Payload

    json
    {
       "msg_id":"消息ID",
       "mac":"设备mac",
       "product_id":"设备所属产品ID",
       "service_result":{
           "v":"物模型版本号",
           "code":"xx",
           "output":{
               "xxx":"xxx"
           }
       }
    }
字段类型是否必须说明
msg_id整型消息ID,需要原样返回服务端调用中的msg_id
mac字符串设备MAC地址。注意:在Zigbee网关中,是Zigbee设备的Eui值。
product_id字符串设备所属产品ID。其具体获取方式见附录说明
service_result对象子设备物模型服务调用返回结果
service_result.v字符串物模型版本号,当前值为 "2.0"
service_result.outputObject物模型服务返回参数对象,例如:{"code":0,"message":"OK"}

15. PTP发送自定义数据到XCG

  • 说明:

    PTP发送一条自定义数据到XCG

  • 方向:

    PTP -> XCG

  • Topic:

    $xlink/ptp/{ptp_id}/ptp_custom_msg

  • Payload

    json
    {
       "type":"text/json/base64",
       "body":"普通文字/json数据/base64编码的二进制数据"
    }
字段类型是否必须说明
type字符串消息body格式
body字符串/json数据字符串或者是json数据,由type决定

16. XCG发送自定义数据到PTP

  • 说明:

    XCG发送一条自定义数据到PTP

  • 方向:

    XCG -> PTP

  • Topic:

    $xlink/ptp/{ptp_id}/xcg_custom_msg

  • Payload

    json
    {
       "type":"text/json/base64",
       "body":"普通文字/json数据/base64编码的二进制数据"
    }
字段类型是否必须说明
type字符串消息body格式
body字符串/json数据字符串或者是json数据,由type决定

17. 查询最新的升级任务

  • 说明:

    PTP发送消息给XCG查询最新的升级任务

    查询结果通过Topic:查询最新的升级任务结果应答

  • 方向:

    PTP -> XCG

  • Topic:

    $xlink/ptp/{ptp_id}/firmware/check

  • Payload

    json
    {
     "msg_id":"消息ID",
     "mac":"设备mac",
     "product_id":"设备所属产品ID",
     "type":"升级任务类型",
     "current_version":"设备当前版本",
     "identify":"用来定位多MCU或多子设备的情况"
    }
字段类型是否必须说明
msg_id整形消息ID
mac字符串设备MAC地址。注意:在Zigbee网关中,是Zigbee设备的Eui值。
product_id字符串设备所属产品ID。其具体获取方式见附录说明
type整形升级任务类型,见附录 4.6,默认为wifi
current_version整形设备当前版本
identify整形用来定位多MCU或多子设备的情况,type若为"wifi",identify设置为0

18. 查询最新的升级任务结果

  • 说明:

    XCG发送消息给PTP查询到的最新的升级任务的结果

  • 方向:

    XCG -> PTP

  • Topic:

    $xlink/ptp/{ptp_id}/firmware/check/result

  • Payload

    json
    {
     "msg_id":"消息ID",
     "mac":"设备mac",
     "product_id":"设备所属产品ID",
     "resultcode":"升级任务查询结果代码",
     "id":"自动升级任务ID",
     "name":"升级任务名称",
     "description":"描述",
     "from_version":"起始版本号",
     "from_version_url":"起始版本文件地址",
     "from_version_md5":"起始版本文件MD5",
     "from_version_size":"起始版本文件大小",
     "target_version":"目标版本号",
     "target_version_url":"目标版本文件地址",
     "target_version_md5":"目标版本文件MD5",
     "target_version_size":"目标版本文件大小",
     "upgrade_count":"已升级设备数量",
     "status":"任务状态",
     "type":"固件类型",
     "identify":"用来定位多MCU或多子设备的情况"
    }
字段类型是否必须说明
msg_id整形消息ID
mac字符串设备MAC地址。注意:在Zigbee网关中,是Zigbee设备的Eui值。
product_id字符串设备所属产品ID。其具体获取方式见附录说明
resultcode整形上报结果,0:成功,1:失败
id字符串自动升级任务ID
name字符串自动升级任务名称,32个字符以内
description字符串描述,250个字符以内
from_version整形起始版本号,32位整形
from_version_url字符串起始版本文件地址
from_version_md5字符串起始版本文件MD5值
from_version_size整形起始版本文件大小
target_version整形目标版本文件号
target_version_url字符串目标版本文件地址
target_version_md5字符串目标版本文件MD5
target_version_size整形目标版本文件大小
upgrade_count整形已升级设备数量
status整形任务状态:0:停止状态,1:启动状态,默认为停止状态。
type整形升级任务类型,见附录 4.6,默认为wifi

19. 上报升级结果

  • 说明:

    PTP升级成功之后,发送消息给XCG报告最新的设备版本等信息。

  • 方向:

    PTP -> XCG

  • Topic:

    $xlink/ptp/{ptp_id}/firmware/report

  • Payload

    json
    {
     "msg_id":"消息ID",
     "mac":"设备mac",
     "product_id":"设备所属产品ID",
     "type":"升级任务类型",
     "mod":"固件型号",
     "identify":"用来定位多MCU或多子设备的情况",
     "last_version":"升级前version",
     "current_version":"升级后version",
     "result":"升级结果, 0:成功, 1:失败",
     "desc":"升级状况描述",
     "start_date":"升级开始时间",
     "end_date":"升级结束时间"
    }
字段类型是否必须说明
msg_id整形消息ID
mac字符串设备MAC地址。注意:在Zigbee网关中,是Zigbee设备的Eui值。
product_id字符串设备所属产品ID。其具体获取方式见附录说明
type整形升级任务类型,见附录 4.6,默认为wifi
mod整形固件型号
identify整形用来定位多MCU或多子设备的情况,type若为"wifi",identify设置为0
last_version整形升级前version
current_version整形升级后version
result整形升级结果,0:成功,1:失败
desc字符串升级状况描述
start_date字符串升级开始时间,例:2015-10-09T08:15:40.843Z
end_date字符串升级结束时间,例:2015-10-09T08:15:40.843Z

20. 停止搜索子设备

  • 说明:

    XCG通过PTP通知Zigbee协调器停止新设备发现状态

    此协议会广播给所有的PTP连接

  • 方向:

    XCG -> PTP

  • Topic:

    $xlink/ptp/{ptp_id}/device/stopsearch

    注意: ptp_id是PTP进程的唯一ID,具体生成方式见后面附录说明。

  • Payload

21. 网关地址切换

  • 说明:

    XCG通过PTPO(Protocol Transform Processor Operation)通知PTP切换网关地址。

    切换结果,通过Topic:运维操作通用结果应答应答。

  • 方向:

    XCG -> PTPO

  • Topic:

    $xlink/ptpo/{ptp_id}/switch

  • Payload

    json
    {
     "msg_id":"消息ID",
     "mac":"设备mac",
     "product_id":"设备所属产品ID",
     "ip":"新的网关IP地址",
     "port":"新的网关端口"
    }
字段类型是否必须说明
msg_id整形消息ID
mac字符串设备MAC地址。注意:在Zigbee网关中,是Zigbee设备的Eui值。
product_id字符串设备所属产品ID。其具体获取方式见附录说明
ip字符串网关IP地址
port整形网关端口

22. 运维操作通用结果应答

  • 说明:

    PTPO(Protocol Transform Processor Operation)在完成一个设备状态改变后,进行应答。

  • 方向:

    PTPO -> XCG

  • Topic:

    $xlink/ptpo/{ptp_id}/optresult

  • Payload

    json
    {
     "msg_id":"消息ID",
     "mac":"设备mac",
     "code":"结果值",
     "desc":"结果描述"
    }
字段类型是否必须说明
msg_id整形消息ID
mac字符串设备MAC地址。注意:在Zigbee网关中,是Zigbee设备的Eui值。
code整形结果值,具体结果定义见附录 4.10
desc字符串可选的消息描述

23. PTPO保持在线

  • 说明:

    PTPO向XCG发送一条topic,申明自己在线

    约定:当PTPO第一次连接上MQTT服务后,第一条发布的Topic应该是此Topic。

  • 方向:

    PTPO -> XCG

  • Topic:

    $xlink/ptpo/{ptp_id}/ptpo_keepalive

  • Payload

    json
    {
     "interval":"间隔时间,单位秒"
    }
字段类型是否必须说明
interval整形PTP保持在线,本次keepalive和下次keepalive包将要间隔的时间,单位秒。最小3秒,最大不超过180秒(3分钟)。若2个间隔时间内没收到keepalive topic,XCG会认为该PTPO实例离线。

24. 运维事件通知

  • 说明:

    PTPO(Protocol Transform Processor Operation)通知网关发生运维事件。

  • 方向:

    PTPO -> XCG

  • Topic:

    $xlink/ptpo/{ptp_id}/optevent

  • Payload

    json
    {
     "eventcode":"事件代码",
     "param1":"参数1"
    }
字段类型是否必须说明
eventcode整形事件代码,具体定义见附录 4.5
param1字符串可选参数1

25. 运维功能调用

  • 说明:

    XCG通过PTPO(Protocol Transform Processor Operation)通知PTP执行功能调用。

    执行结果,通过Topic:运维操作通用结果应答应答。

  • 方向:

    XCG -> PTPO

  • Topic:

    $xlink/ptpo/{ptp_id}/optcall

  • Payload

    json
    {
     "msg_id":"消息ID",
     "mac":"设备mac",
     "product_id":"设备所属产品ID",
     "param1":"参数1",
     "param2":"参数2",
     "callcode":"功能代码"
    }
字段类型是否必须说明
msg_id整形消息ID
mac字符串设备MAC地址。 注意 :在Zigbee网关中,是Zigbee设备的Eui值。
product_id字符串设备所属产品ID。其具体获取方式见附录说明
param1字符串可选参数1
param2字符串可选参数2
callcode整形功能代码,具体定义见附录文档

26. 升级结果上报的结果

  • 说明:

    XCG发送消息给PTP 关于升级结果上报的结果

  • 方向:

    XCG->PTP

  • Topic:

    $xlink/ptp/{ptp_id}/firmware/report/result

  • Payload

    json
    {
     "msg_id":消息ID,

"mac":"设备mac", "product_id":"设备所属产品ID", "resultcode":"升级上报结果代码", "startdate":"升级结果上报的升级开始时间" }


| 字段       | 类型   | 是否必须 | 说明                                                           |
| :--------- | :----- | :------- | :------------------------------------------------------------- |
| msg_id     | 整形   | 是       | 消息ID                                                         |
| mac        | 字符串 | 是       | 设备MAC地址。 **注意** :在Zigbee网关中,是Zigbee设备的Eui值。 |
| product_id | 字符串 | 是       | 设备所属产品ID。其具体获取方式见附录说明                       |
| resultcode | 整形   | 是       | 上报结果,0:成功,1:失败                                     |
| startdate  | 字符串 | 是       | 升级结果上报的升级开始时间, 例:2015-10-09T08:15:40.843Z       |

### 27. 网关事件通知

- **说明**:

  > XCG通过PTPO(Protocol Transform Processor Operation)通知PTP网关事件。

- **方向**:

  > XCG->PTPO

- **Topic**:

  > `$xlink/ptpo/{ptp_id}/gwevent`

- **Payload**

  ```json
  {
     "gwcode":网关事件代码,
   "param1":"参数1"
  }
字段类型是否必须说明
gwcode整形网关事件代码,具体定义见附录文档
param1字符串可选参数1

四、附录

4.1. 设备状态

说明
0默认状态,当前未返回有参考意义的状态值,请勿依赖此状态值
1设备在线
2未知
3设备无响应
4设备离开(即未入网或已退网)
5设备被踢
6~15预留

4.2、PTP的相关数据

1. PTP ID

  • PTP ID是PTP程序与XCG之间的唯一的标志ID,约定以"ptp_16个随机字符"来定义。

2. PTP默认连接网关MQTT服务端口

  • PTP默认连接网关机器(本机为127.0.0.1)的23883端口作为MQTT Topic的收发地址。

4.3、Zigbee与物联云平台

1. Zigbee网关下挂子设备类型与物联云平台产品的关系

  • Zigee网关下挂的子设备由于具有Zigbee HA的DeviceType类型( 也就是HA Profile的Device ID ),在物联云平台中针对这些类型的产品,预先定义了多种产品。
  • 每种产品都有既定的数据端点配置,用来对应Zigbee HA Device的属性。物联云平台以及APP通过操作这些数据端点,用来控制实际的Zigbee设备。
  • 产品ID与DeviceType的对应关系,可以预制在脚本中,也可以通过云端进行配置同步。

2. Zigbee设备的MAC地址以及物联云平台的DeviceID

  • 物联云平台定位一个设备依靠从平台下发全局唯一的设备ID(DeviceID),也通过ProductID和MAC(Machine Address Code)值定位一个设备。
  • 在Zigbee网关场景下,Zigbee设备会有一个Unique ID,我们将这个Unique ID作为在物联云平台中的设备MAC值使用。
  • 子设备通过Xlink Core Gateway激活后获取到的DeviceID,存储在Xlink Core Gateway中,不会传递给PTP程序,PTP程序也无需关心。
  • 当用户需要从云端控制一个Zigbee下子设备,就直接操作这个子设备对应的DeviceID即可。

3. Zigbee子设备在物联云平台的上线

  • 当一个子设备加入到Zigbee网络,通过topic通知到网关后,XCG直接将这个设备在物联云端激活。
  • 当子设备通过SYNC topic将状态通知给XCG后,XCG会通过具体的“state”值,将子设备在云端的状态设置为“在线”或者“离线”。

4.4. 数据端点数据类型

说明
-1未知
0单字节(无符号)
116位短整型(有符号)
216位短整型(无符号)
332位整型(有符号)
432位整型(无符号)
564位整型(有符号)
664位整型(无符号)
7浮点(单精度)
8浮点(双精度)
9字符串
10字节数组(base64编码)
11布尔类型

4.5. 运维事件代码

说明
0重置清除所有子设备信息,并重启服务
1设置为主网关模式
2配置为从网关模式
3配置为单网关模式
4准备升级,停止服务

4.6. 功能代码

说明
1执行升级
2更新升级参数,其中param1是pkey,param2是deviceid和当前固件版本
3~255预留

4.7. 硬件类型

说明
1LED指示灯
2按钮

4.8. 网关事件代码

说明
0网关初始
1网关云端在线,param1是网关MAC地址
2网关云端离线,param1是网关MAC地址
3网关正进行云端连接中,param1是网关MAC地址
4网关停止,param1是网关MAC地址
5云端时间同步, param1作为时间参数,格式参考4.9节
6PTP心跳超时,XCG移除PTP通知。param1是PTPID
7PTPO心跳超时,XCG移除PTPO通知。param1是PTPID
8网关数据端点模板获取成功,param1是网关MAC地址

4.9. 时间同步格式

时间格式:“yyyyMMdd hh:mm :ss|zone”。其中zone表示时区,有符号。时区的表示方式为GMT方式;如:GMT +0800,那么时区的值为800,如果时区为-0530,则时区的值为-530。例子:“20180324 09:23 :51|800”。

4.10 操作通用结果应答结果值

说明
0操作成功
1~5000预留
5001~65535自定义

五、常见问题

  1. 哪些 CPU 架构和操作系统与Xlink Core Gateway兼容?

    支持ARM、MIPS和X86架构,Embedded Linux、Android、PC等运行环境。

  2. 是否支持连接到自己开发的云平台

    物联云平台可向核心客户和战略级合作伙伴开放Xlink Core Gateway的云端通信协议,以便于您接入自己开发的云平台。