更新时间:2022-02-24 GMT+08:00

设备添加

接口功能

当有新设备接入网关后,通过调用设备添加接口将非直连设备接入物联网平台,并且获得平台分配的唯一设备逻辑ID。

接口描述

1
public static boolean addDevice(int cookie, IotaDeviceInfo deviceInfo);

接口所属类

HubService

参数说明

字段

必选/可选

类型

描述

cookie

可选

int

Cookie有效值为1-65535。

deviceInfo

必选

IotaDeviceInfo类说明

设备信息。

接口返回值

返回值

描述

true

成功。

false

失败。

说明:

此返回值是调用接口的同步返回结果,返回true只是说明接口调用成功,并不说明添加成功,设备添加成功需要收到TOPIC_ADDDEV_RSP广播。

返回结果

广播名称

广播参数

成员

描述

TOPIC_ADDDEV_RSP

IotaMessage

(使用intent.getSerializableExtra(HubService.HUB_BROADCAST_IE_IOTAMSG)方法获取)

HUB_IE_RESULT

添加设备结果。

HUB_IE_DEVICEID

设备ID,如果添加成功则返回设备ID。

HUB_IE_COOKIE

Cookie有效值为1-65535。

示例

1
2
//开发者调用该接口进行设备添加 
HubService.addDevice(29011, new IotaDeviceInfo("nodeId", "manufacturerId", "deviceType", "model", "protocolType"));

结果处理

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
//java code 
// 开发者注册广播接收器对设备添加结果进行相应的处理 
BroadcastReceiver mAdddeviceRsp;
mAdddeviceRsp = new BroadcastReceiver() {
    @Override 
        public void onReceive(Context context, Intent intent) {
        //Do Something 
        IotaMessage iotaMsg = (IotaMessage)intent.getSerializableExtra(HubService. HUB_BROADCAST_IE_IOTAMSG);
        int result = iotaMsg.getUint(HubService.HUB_IE_RESULT, 0);
        String deviceId = iotaMsg.getString(HubService.HUB_IE_DEVICEID);
        int cookie = iotaMsg.getUint(HubService.HUB_IE_COOKIE, 0);
        return;
    }
};
mLocalBroadcastManager = LocalBroadcastManager.getInstance(this);
IntentFilter filterAddDev = new IntentFilter(HubService.TOPIC_ADDDEV_RSP);
mLocalBroadcastManager.registerReceiver(mAdddeviceRsp, filterAddDev);