系统函数
初始化
初始化设备与云端交互的上下文环境,并与云端会建立长连接。当长连接断开时,会自动重连。请在Application中初始化,并且判断是主进程初始化,其他进程不能调用。IotDeviceSDK.getInstance().init(Contextcontext,longproductId,StringproductKey,byte[]macAddr,StringmcuVersion,intreceiveBuffSize,int sendBufferSize,String serverAddr,int serverPort);
参数 | 类型 | 说明 |
---|---|---|
context | Context | 请传入 ApplicationContext |
productId | int | 产品 id |
productKey | String | 产品秘钥,云平台Th成,16 字节的十六进制编码 |
macAddr | byte[] | Mac 地址 |
mcuVersion | String | mcu 固件版本,"xx.xx",0≤x≤9 |
receiveBuffSize | int | 接收数据 buffer 大小,范围 1024-1048576,默认 1024 |
sendBufferSize | int | 发送数据 buffer 大小,范围 1024-1048576,默认 1024 |
serverAddr | String | 云服务器地址 |
serverPort | int | 云服务器端口 |
返回值 | int | 0 :成功;-1:失败 |
设置设备运行状态
IotDeviceSDK.getInstance().resetFactory();
/**
* @param timeout超时时间,单位是秒
*/
IotDeviceSDK.getInstance().bindPermit(int timeout); IotDeviceSDK.getInstance().unbind();
方法 | 说明 |
---|---|
resetFactory | 恢复出厂设置,会删除云端设备信息,并解除与 APP 端的绑定关系。 |
bindPermit | 允许用户绑定设备,可在连云成功后调用。 |
unbind | 设置解绑,设备会解除与 APP 端的绑定关系。 |
设备运行状态报告
// 设置恢复出厂的回调
IotDeviceSDK.getInstance().setResetFactoryListener(new IotDeviceSDK.ResetFactoryListener() {
@Override
public void onResetFactory() {
//恢复出厂成功,请让设备在此重启实现断开再连接的操作
}
});
//设置连接状态的回调
IotDeviceSDK.getInstance().setConntionListener(new IotDeviceSDK.ConntionListener()
{
@Override
public void onConnectServer() {
// 连接成功
}
@Override
public void onDisConnectServer() {
// 连接断开
}
});
//设置绑定设备的回调IotDeviceSDK.getInstance().setBindDeviceListener( new IotDeviceSDK.BindDeviceListener() {
@Override
public void onBindSuccess() {
// 用户把绑定成功
@Override
public void onBindFaield() {
//用户绑定失败,超时或者设备未连接到网络
}
});
// 解绑设备成功
IotDeviceSDK.getInstance().setUserUnbondDeviceListener(new IotDeviceSDK.UserUnbondDeviceListener() {
@Override
public void onUnbond() {
// 解绑成功
}
});
// 设置分享用户状态的回调
IotDeviceSDK.getInstance().setShareUserListener(newIotDeviceSDK.ShareUserListener() {
@Override
public void onIncrease() {
// 分享用户增加
@Override
public void onDecrease() {
// 分享用户减少
}
});
// 设置授权限制回调
IotDeviceSDK.getInstance().setOnAuthLimitListener(newIotDeviceSDK.OnAuthLimitListener(){
@Override
public void onAuthLimit() {
// 设备授权数达上限,无法通过云端认证
}
});
//设备 mac 绑定到其他产品的回调IotDeviceSDK.getInstance().setOnMacBindOtherProductListener(new
IotDeviceSDK.OnMacBindOtherProductListener() {
@Override
public void onMacBindOtherProduct() {
//设备绑定到其他产品上了,无法通过云端认证
});
获取网络时间
int timeStamp = IotDeviceSDK.getInstance().getTimeStamp();
参数 | 说明 |
---|---|
返回值 | 0:时间无效>0:实时网络时间戳(UNIX 时间戳) |
请求设备信息
请求设备信息IotDeviceSDK.getInstance().getDeviceInfo();
请求绑定用户信息IotDeviceSDK.getInstance().getMasterUserInfo();
请求分享用户信息IotDeviceSDK.getInstance().getShareUserInfo();
接收设备信息
设置获取设备信息的回调 IotDeviceSDK.getInstance().setOnGetDeviceInfoListener(new IotDeviceSDK.OnGetDeviceInfoListener() {
@Override
public void onGetDeviceInfo(int isBind, String sdkVersion) {
// isBind是否绑定 1 绑定 0 未绑定
// sdkVersion SDK 版本 例如 03.02
}
});
设置获取绑定用户的回调 IotDeviceSDK.getInstance().setOnGetMasterUserInfoListener(new IotDeviceSDK.OnGetMasterUserInfoListener() {
@Override
public void onGetMasterUserInfo(UserInfo userInfo) {
UserInfo 字段
public String id; 用户 id
public String email; 用户邮箱地址
public String countryCode; 国家地区区号 中国大陆 0086 public String phone; 手机号
public String name; 昵称
});
设置获取分享用户的回调 IotDeviceSDK.getInstance().setOnGetShareUserInfoListener(new IotDeviceSDK.OnGetShareUserInfoListener() {
@Override
public void onGetShareUserInfo(UserInfo[] userInfos) {
UserInfo 字段
});