Skip to content

init接口获取IOT服务接入信息

获取配置及初始化流程

此接口主要目的是动态的获取服务器通讯配置,MQTT通信配置,基于这些配置,才能去完成设备与云端通讯:获取白名单,连接MQTT服务,更新 MQTT Token等必要功能步骤

方法说明

目前平台存在多个对接环境,涉及环境相关的参数均为动态获取,不要写死。
目前对接mqtt分为两种:

mqtt类型 使用环境
阿里云mqtt 正式环境,测试环境,宝冶私有化,中建七局私有化
emq 剩余所有私有化环境

接口地址 DISPATCH-ADDRESS/init/v2

GET方法

入参说明

参数 类型 是否必须 说明
appid String 唯一凭证
sign String 签名
deviceCode String 设备编码

返回数据示例

目前存在两种返回体,aliBaseInfo与huaWeiBaseInfo,示例如下
cloud:alibaba,连接阿里云mqtt,返回aliBaseInfo

{
  "success": true,
  "code": "0",
  "message": "操作成功",
  "data": {
    "aliBaseInfo": {
      "base": "https://glm.glodon.com/",
      "mqttTokenExpire": 1691567773651,
      "instanceId": "post-cn-45913ndtd02",
      "endPoint": "post-cn-45913ndtd02.mqtt.aliyuncs.com",
      "groupId": "GID_PRODUCT_GLM",
      "qos": 1,
      "cleanSession": false,
      "sslPort": 8883,
      "tcpPort": 1883,
      "topic": "TIC_PRODUCT_GLM",
      "accessKeyID": "LTAIvNMvVZ1YWQpz",
      "sub": "/gateface/e/1",
      "token": "LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYzmBSHQsWXgdISJ1ZJ+2cxaGholn1CMfVqrso2Gd2XNmNYWdl0jS//fbJGYgJWUr5piesdvDY0i8bMf4HnoBJgkXSXAF4SNq9bvooOIjF1CZSbWn5fneDJm049e2BgDS8wQqZy6mqUmACQgoJWL8b3AwXp1M60Hjp+oi27VLLD/3EnVgGDRZD+dLcBw6790ceMuPYtqQs4RLLAkGX36T433jkquziXyjPw4EcTzR55VOjI7VpDCK3nH6uBL3qdBe6A/qCHvgc+FmAIeiBrCpjVW7bOdGrK1bM/2cjwG7k9tD/PVYSZInE1Q4M3AbA4Exn+j+EbaKS8Y41rRMKHhAfqKsVEDRLUfFaxbNFOQ6RtRbA=="
    },
    "huaWeiBaseInfo": null,
    "zlBaseInfo": null,
    "setting": {
      "deviceType": "gateface",
      "versionId": 0,
      "gateConfigData": {
        "heartTime": 60,
        "enableFace": 1,
        "enableRfid": 0,
        "screen": {
          "screenId": "",
          "panId": 298,
          "channel": 11
        },
        "rfid": 2100,
        "dataCommitTime": 0,
        "enableIc": 1,
        "enableSegment": 0
      },
      "_id": "64ba0ee233ece8001f6c71a9",
      "deviceCode": "GLDAIGOS0001952899"
    },
    "projectId": 328202997880832,
    "currentTime": 1689928813491,
    "cloud": "alibaba",
    "cloudName": "公有云(正式)",
    "projectName": "xxx项目",
    "keepAlive": 60,
    "connectionTimeout": 10000,
    "maxInflight": 1000,
    "mqttVersion": 4,
    "automaticReconnect": true
  }
}

cloud:huawei,连接emq,返回huaWeiBaseInfo

cloud:huawei,返回huaWeiBaseInfo
{
  "success": true,
  "code": "0",
  "message": "操作成功",
  "data": {
    "aliBaseInfo": null,
    "huaWeiBaseInfo": {
      "base": "http://szxm.mcc5.com.cn:8051/",
      "endPoint": "szxm.mcc5.com.cn",
      "qos": 1,
      "cleanSession": false,
      "sslPort": 8883,
      "tcpPort": 8050,
      "topic": "GLM/gateface/e/1",
      "userName": "3491ee1d4a4d49d4958f3c1488666666",
      "password": "a7a9af812c62e0bf66c65112a4666666"
    },
    "zlBaseInfo": null,
    "setting": {
      "versionId": 0,
      "updateDate": "2023-04-04_19:31:16",
      "gateConfigData": {
        "heartTime": 60,
        "enableFace": 1,
        "enableRfid": 0,
        "screen": {
          "screenId": "",
          "panId": 298,
          "channel": 11
        },
        "rfid": 2100,
        "dataCommitTime": 0,
        "enableIc": 1,
        "enableSegment": 0
      },
      "_id": "642c0a84d063c0001e98f248",
      "deviceCode": "GLDAIGOS0001978857"
    },
    "projectId": 733722446856192,
    "currentTime": 1689931584287,
    "cloud": "huawei",
    "cloudName": '五冶',
    "projectName": "xxx项目",
    "keepAlive": 60,
    "connectionTimeout": 10000,
    "maxInflight": 1000,
    "mqttVersion": 4,
    "automaticReconnect": true
  }
}

返回字段说明

一级字段 二级字段 字段名称 字段格式 备注
aliBaseInfo base 基础地址 String
mqttTokens 连接阿里MQTT的token(华为云时为null) String MQTT令牌数组,action 对应token的权限;expireTime 代表权限过期时间;token字段为具体token内容
instanceId 实例ID String
AccessKeyID 阿里云AccessKeyID String
endPoint MQTT信息 String
groupId MQTT信息 String
qos MQTT信息 Integer
cleanSession MQTT信息 Boolean
sslPort MQTT信息 Integer
tcpPort MQTT信息 Integer
topic MQTT信息 String
huaWeiBaseInfo base 基础地址 String 云端地址前缀
endPoint Key信息 String
qos Key信息 Integer
cleanSession Key 信息 Boolean
sslPort Key信息 Integer
tcpPort Key信息 Integer
topic Key信息 String
userName 厂商appid String 用户名
password 厂商secret String 密码
setting 设备配置信息
... 设备配置详情此处不展开,详见下方设备配置相关接口
cloud 所属云 String alibaba或huawei;小写字母
cloudName 所属云环境名字 String 公有云;二十冶
projectId 项目编码 Long
projectName 项目名称 String
currentTime 云服务时间 Long

返回错误码说明

错误码 错误原因 提示信息 解决方案
1001 传入设备号码有误 设备号码不存在 确认传入设备号正确
1002 设备未在项目上绑定 设备未绑定项目 对设备进行项目绑定
1003 appId传入与设备所属厂商不匹配 设备厂商id不匹配 确认appId传入正确
1004 设备所在云或者mqtt模式配置错误 设备所属云信息不存在 联系劳务员确认所在云管理信息正确
1005 云hosturl信息配置错误 设备所属云hostUrl未配置 联系劳务员处理
1006 设备信息有误 model-service返回设备类型为空 联系劳务员处理
1000 其他内部错误 根据具体错误信息提示 联系劳务员处理

事件通知说明

设备在从项目上解除绑定时,服务端会向设备发送mqtt消息,消息内容如下:

{"service":"projectchange","ts":"1668767371004"}

service为通知事件类型,ts为时间戳

厂商可根据收到此消息后重新调用init接口,获取最新设备绑定情况。