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