更新时间:2022-02-24 GMT+08:00
设备添加
接口功能
当有新设备接入网关后,通过调用设备添加接口将非直连设备接入物联网平台,并且获得平台分配的唯一设备逻辑ID。
接口描述
1 |
public static boolean addDevice(int cookie, IotaDeviceInfo deviceInfo);
|
接口所属类
HubService
参数说明
字段 |
必选/可选 |
类型 |
描述 |
---|---|---|---|
cookie |
可选 |
int |
Cookie有效值为1-65535。 |
deviceInfo |
必选 |
设备信息。 |
接口返回值
返回值 |
描述 |
---|---|
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);
|
父主题: 网关管理非直连设备