1. 描述

获取MQTT协议设备的MQTT连接协议所需要的参数。

2. 调用场景

C端客户,或者B端客户拿到我们的网关设备后,可以登录超级控制台,输入unid获取这个网关设备配置所需要的参数。然后就可以在自己家配置了。

或者我们平台配置好后,交给客户。客户不能改。

3. 配置参数

参数名 参数值 说明
URL https://api.xdua.com/aliotmqttpass
Method GET
XduaApiHttpSchema HTTPS 只走HTTPS
XduaApiMethod GET
XduaApiColor X 只有持有神设备,才可以创建设备
XduaApiAudience ConsoleX 只有dev_id为ConsoleX的设备,也就是consolex.xdua.com才可以发起本请求
XduaApiShop XdUaXduA 设备直辖店铺,只有这个店铺的登录人员才可以访问
XduaApiSubject i !表示除了允许匿名设备之外的所有设备访问
XduaApiRoles Zoon 只要Zoon才可以访问其它设备的设备
XduaApiResource dev
XduaApiKparam id
XduaApiAction GetAliotmqttpass
XduaApiRule GetAliotmqttpass
XduaApiAstates 0 设备dev.state必须是0(STATE_ENABLED)
XduaApiEnable true 接口使能

4. 请求参数

名称 位置 类型 必填 默认值 示例 说明
id path string rYub4wrT 要获取的设备的unid

5. 返回参数

名称 位置 类型 示例 说明
id result string rYub4wrT 设备的8位地球号ID
unid result.data string 设备的UNID
url result.data string MQTT服务URL
port result.data string MQTT服务端口
clientId result.data string 设备的clientId
Username result.data string 设备的连接用户,注意这个命名,N是小写的。
Password result.data int 1 设备的连接密码

[!note | label:为什么有unid和id的区别?] 在请求的时候使用id字段而不用unid,是因为地球号严格规定了GET接口的字段名为id.而返回接口必须是8位的地球号id.

返回示例

result部分

{
    "id":"rYub4wrT",
    "data": {
         port: 1883,
        Password: "E5EC27894128EEF7A2849********DD19E4A0854",
        Username: "BTMC.AC233FC0422D&a1V4e***",
        clientId: "BTMC.AC233FC0422D|securemode=3,signmethod=hmacsha1|",
        url: "a1V4eBF9HJj.iot-as-mqtt.cn-shanghai.aliyuncs.com"
    },
}

6. 错误码

错误码来自于error字段,通用错误码参考地球号通用错误码

7. SDK调用



const XduaClient = require('lovearth-xdua-browser-sdk')
const xduaClient = await XduaClient({
    LOGIN_TOKEN:"eyJhbGciOi...",//开发者在地球号开发者网站创建的登录令牌
})

/*----------------------------
 * 运行如下代码
 * 下面的代码是直接可以运行的
 *--------------------------*/
const dev_id = "BTMC.AC233FC0422D"
let res = await xduaClient.getDev(dev_id)
if(res.error == 0){
    console.log("测试成功");    
}else{
    console.log("测试失败");   
    console.log(res); 
}

文档还没有实现

```

{% sample lang="php" -%}

文档还没有实现

```bash

results matching ""

    No results matching ""