云端蓝牙


初始化


Iot SDK初始化


初始化时添加的参数:

参数名 类型 说明 备注 必需
context Context App环境上下文 可以在Application中传入
appId String 应用Id
appToken String 应用Token

例子:

在Application onCreate方法中调用以下初始化方法(仅限主进程) 

// 判断该当前进程的包名是否一致(主进程)
if (getApplicationInfo().packageName.equals(getCurProcessName(getApplicationContext()))) {
           /**
        * 初始化SDK
        */
IotCloudSDK.init(Context context, String appId, String appToken);

// 初始化并且关联极光推送,目前使用极光推送,配合云端设置可以实现
// 事件的告警、消息通知等等
// 不需要App外推送的时候请不要调用此方法
// 注意调用此初始化方法时需要导入极光推送的相关SDK和so动态链接库
// 设备控制,命令发送等等和设备交互的功能和极光推送无关
// IotCloudSDK.initWithPush(Context context, String appId, String appToken);
IotCloudSDK.setNeedLoginListener(new IneedLoginListener() {
            @Override
            public void onNeedLogin(Context context) {
                try {
                      // 目的是为了清空任务栈中的其他页面,强制用户登录
                    Intent intent = new Intent(context, 登录页面.class);
                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                    startActivity(intent);
                } catch (Exception e) {
                    Intent intent = new Intent(context, 登录页面.class);
                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    startActivity(intent);
                }
            }
        });
}
// 获取当前进程包名
public static String getCurProcessName(Context context) {

        int pid = android.os.Process.myPid();

        ActivityManager activityManager = (ActivityManager) context
                .getSystemService(Context.ACTIVITY_SERVICE);

        for (ActivityManager.RunningAppProcessInfo appProcess : activityManager
                .getRunningAppProcesses()) {

            if (appProcess.pid == pid) {
                return appProcess.processName;
            }
        }
        return null;
}

Ble SDK初始化

请求参数:

参数名 类型 说明 备注 必需
context Context App环境上下文 可以在Application中传入

例子:

在Application onCreate方法中调用一下初始化方法
IotBleSDK.init(Context context);

// 登陆官网账户资料里的用户token和用户id
IotBleSDK.getInstance().initCompanyInfo(String companyId,String companyKey);

//注册时返回的用户id、用户token
IotBleSDK.getInstance().initUserInfo(int userId, String userToken);

Iot SDK混淆配置文件


-dontwarn com.iot.cloud.**
-keep class com.iot.cloud.**{ *;}
-dontwarn com.d.c.b.a.**
-keep class com.d.c.b.a.**{ *;}
-dontwarn io.fogcloud.easylink.**
-keep class io.fogcloud.easylink.**{*;}
-keep class javax.jmdns.**{*;}
-dontwarn javax.jmdns.**
-keep class javax.servlet.**{*;}
-dontwarn javax.servlet.**
-keep class org.eclipse.jetty.**{*;}
-dontwarn org.eclipse.jetty.**
-keep class org.slf4j.**{*;}
-dontwarn org.slf4j.**
-dontwarn com.hiflying.**
-keep class com.hiflying.**{*;}
-dontwarn com.longthink.api.**
-keep class com.longthink.api.**{*;}
-dontwarn mediatek.android.IoTManager.**
-keep class mediatek.android.IoTManager.** { *;} 
-dontwarn com.google.gson.**
-keep class com.google.gson.**{*;}
-dontwarn org.eclipse.paho.client.mqttv3.**
-keep class org.eclipse.paho.client.mqttv3.**{*;}

Ble SDK混淆配置文件


-downwarn com.iot.ble.**
-keep class com.iot.ble.**{*;}
#rxjava/rxandroid
-dontwarn sun.misc.**
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
long producerIndex;
long consumerIndex;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
rx.internal.util.atomic.LinkedQueueNode producerNode;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
rx.internal.util.atomic.LinkedQueueNode consumerNode;
}

#okhttp3
-dontwarn okhttp3.**
-dontwarn okio.**
-keep class okhttp3.** { *;}
-keep class okio.** { *;}

#retrofit
-dontwarn retrofit2.**
-keep class retrofit2.** { *;}
#Gson
-downwarn com.google.gson.**
-keep class com.google.gson.**{*;}

用户相关


手机用户注册


用户注册需要分两步,第一步是发送验证码到手机;第二步是使用验证码注册。

发送验证码到手机请求参数:

参数名 类型 说明 备注 必需
phone String 手机号码 接收验证码的手机号
zone String 区号 传入”0086” 可以使用Zone.CN
Zone是SDK中的一个类 目前只支持中国大陆
ISDKCallback function 回调函数

例子:

IotCloudSDK.getUserManager().getRegisterSMSCode(phone, zone, new ISDKCallback() {
@Override
public void onSucess() {
}

@Override
public void onError(ErrorMessage errorMessage) {
}
});

发送验证码到手机返回参数:

参数名 类型 说明 备注 必需
errorMessage ErrorMessage 错误信息 参照错误码

验证码注册请求参数:

参数名 类型 说明 备注 必需
phone String 手机号码 接收验证码的手机号
password String 注册的账号密码
smsCode String 手机接收到的验证码
zone String 区号 传入”0086” 可以使用Zone.CN
Zone是SDK中的一个类 目前只支持中国大陆
ISDKCallback function 回调函数

例子:

IotCloudSDK.getUserManager().userRegister(phone, password, smsCode, zone
    new ISDKCallback() {
    @Override
    public void onSucess() {
    // 可以进入其他页面使用SDK了
    }

    @Override
    public void onError(ErrorMessage errorMessage) {
    }
});

验证码注册返回参数:

参数名 类型 说明 备注 必需
errorMessage ErrorMessage 错误码 参照错误码

邮箱用户注册

邮箱用户注册,需要先获取邮箱验证码,然后使用验证码注册。

获取邮箱验证码请求参数:

参数名 类型 说明 备注 必需
email String 邮箱地址
ISDKCallback function 回调函数

例子:

IotCloudSDK.getUserManager().getRegisterEmailCode(email, 
new ISDKCallback() {
@Override
public void onSucess() {
}

@Override
public void onError(ErrorMessage errorMessage) {
}
});

验证码返回参数:

参数名 类型 说明 备注 必需
errorMessage ErrorMessage 错误码 参照错误码

注册请求参数:

参数名 类型 说明 备注 必需
email String 邮箱地址
password String 注册的账号密码
code String 验证码
ISDKCallback function 回调函数

例子:

IotCloudSDK.getUserManager().registerEmail(email, password, code,
new ISDKCallback() {
@Override
public void onSucess() {
// 可以进入其他页面使用SDK了
}

@Override
public void onError(ErrorMessage errorMessage) {
}
});

验证码注册返回参数:

参数名 类型 说明 备注 必需
errorMessage ErrorMessage 错误码 参照错误码

手机用户登录

使用手机号与密码进行登录。

请求参数:

参数名 类型 说明 备注 必需
phone String 手机号码 接收验证码的手机号
password String 注册的账号密码
zone String 区号 传入”0086” 可以使用Zone.CN
Zone是SDK中的一个类 目前只支持中国大陆
ISDKCallback function 回调函数

例子:

例子:
IotCloudSDK.getUserManager().userLogin(phone, password, zone, new ISDKCallback() {
@Override
public void onSucess() {
// 可以调用其他接口使用SDK了
}

@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

参数名 类型 说明 备注 必需
errorMessage ErrorMessage 错误码 参照错误码

邮箱用户登录


使用邮箱与密码进行登录。

请求参数:

参数名 类型 说明 备注 必需
email String 邮箱地址
password String 注册的账号密码
ISDKCallback function 回调函数

例子:

IotCloudSDK.getUserManager().emailLogin(email, password, new ISDKCallback() {
@Override
public void onSucess() {
// 可以调用其他接口使用SDK了
}

@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

参数名 类型 说明 备注 必需
errorMessage ErrorMessage 错误码 参照错误码

切换用户


调用IotCloudSDK.logout();在IOT SDK登录状态介绍的方法处理新用户的登录注册等。

产品相关


获取产品信息


通过调用该接口获取所有产品信息。

请求参数:

参数名 类型 说明 备注 必需
ISDKCallback function 回调函数

例子:

IotCloudSDK.getDeviceManager().getProductList(
new ISDKCallback<List<Product>>() {
@Override
public void onSucess(List<Product> result) {
}

@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

参数名 类型 说明 备注 必需
errorMessage ErrorMessage 错误码 参照错误码
result List 返回成功信息 返回success或者需求数据

result列表里的参数:

参数名 类型 说明 备注 必需
product_id String 产品的id
product_name String 产品名称
productIcon String 产品的图标URL
productSmallIcon String 产品的小图标URL
productCategory String 产品的类别
productKey String 产品的key

蓝牙相关


是否支持低功耗蓝牙


IotBleSDK.getBleManager().isBleSupported();

打开关闭蓝牙


IotBleSDK.getBleManager().openBluetooth();
IotBleSDK.getBleManager().closeBluetooth();

蓝牙是否打开


IotBleSDK.getBleManager().isBluetoothOpened();

蓝牙状态

监听蓝牙状态变化。

请求参数:

参数名 类型 说明 备注 必需
BluetoothStateListener Function 回调函数

例子:

IotBleSDK.getBleManager().setBluetoothStatusListener(new BluetoothStateListener(){
    @Override
    public void onBluetoothStateChanged(boolean openOrClosed) {
    }

    @Override
    public void onError(ErrorMessage errorMessage) {
    }
);

返回参数:

参数名 类型 说明 备注 必需
errorMessage ErrorMessage 错误码 参照错误码
openOrClosed boolean 蓝牙是否打开 true:打开false:关闭

取消监听:

IotBleSDK.getBleManager().unRegisterBluetoothStatusListener(mBluetoothStateListener);

设备相关


扫描设备


扫描所有低功耗蓝牙设备。

请求参数:

参数名 类型 说明 备注 必需
BleSearchCallback function 回调函数

例子:

使用默认扫描配置

IotBleSDK.getBleManager().searchBle(new BleSearchCallback(){
    @Override
    public void onSearchStarted(){
    }

    @Override
    public void onDeviceFounded(BleDeviceBean bleDeviceBean){
    }

    @Override
    public void onSearchStopped() {
    }

    @Override
    public void onSearchCanceled() {
    }

    @Override
    public void onError(ErrorMessage errorMessage) {
    }
});

返回参数:

参数名 类型 说明 备注 必需
erroeMessage ErroeMessage 错误码 参照错误码
result BleDeviceImpl 返回成功信息 需求数据

result参数

参数名 类型 说明 备注 必需
mMac String 设备的Mac
mName String 设备的名称
mRssi int 信号强度
mScanRecord byte[] 广播数据
mReconnect boolean 是否重连 蓝牙异常关闭开启后是
否自动重连。 默认值:false
mBleDeviceStatus BleDevceStatus 设备状态

mBleDeviceStatus参数

参数名 类型 说明 备注 必需
status int 蓝牙设备状态 Constants. STATUS_UNKNOWNConstants.
BLE_STATUS_CONNECTEDConstants.
BLE_STATUS_CONNECTINGConstants.
BLE_STATUS_DISC ONNECTINGConstants.
BLE_STATUS_DISCONNECTED

配置扫描参数,如下

IotBleSDK.getBleManager().initSearchConfig(BleSearchConfig searchConfig);

searchConfig参数

参数名 类型 说明 备注 必需
mTimeOut int 超时时长(单位:ms) 默认值:5000ms
mTimes int 超时次数 默认值:2

停止扫描

IotBleSDK.getBleManager().stopSearch();

设备配对


监听设备配对状态变化。

请求参数:

参数名 类型 说明 备注 必需
BluetoothBondListener Function 回调函数

例子:

IotBleSDK.getBleManager().setBluetoothBondListener(new BluetoothBondListener(){
    @Override
    public void onBondStateChanged(String mac, int bondState) {
    }
    @Override
    public void onError(ErrorMessage errorMessage) {
    }
});

返回参数:

参数名 类型 说明 备注 必需
errorMessage ErrorMessage 错误码 参照错误码
mac String 设备的mac
bondState int 设备的绑定状态 Constants.BOND_NONEConstants.
BOND_BONDINGConstants.
BOND_BONDED

取消监听:

IotBleSDK.getBleManager().unRegisterBluetoothBondListener(mBluetoothBondListener);

获取已连接设备列表


List< BleDevice > list = IotBleSDK.getBleManager().getAllConnectedDevice();

设备通信


一般使用IotBleDevice类,通过以下方法获得对象:

IotCloudBleDeviceImpl iotBleDevice = IotCloudBleDeviceFactory.getIotCloudBleDevice(
BleDevice bleDevice, Product product);
// 通过BleDeviceFactory. getBleDevice(BleDeviceBean bleDeviceBean)初始化

可以使用iotBleDevice.releaseBleDevice ()与BleDevice取消关联;使用iotBleDevice. onDestroy()释放资源。

连接

连接蓝牙设备。

请求参数:

参数名 类型 说明 备注 必需
BleConnectCallback Function 回调函数

例子:

使用默认连接配置
iotBleDevice.connect(new BleConnectCallback() {
    @Override
    public void onResponse(int code, BleGattImpl data) {
    }

    @Override
    public void onError(ErrorMessage errorMessage) {
    }
});

返回参数:

参数名 类型 说明 备注 必需
errorMessage ErrorMessage 错误码 参照错误码
code int 请求返回码 参照返回码
data BleGattImpl 服务 包含服务、特征值等信息

配置连接参数,如下:

IotBleSDK.getBleManager().initBleConnectConfig(BleConnectConfig connectConfig);

connectConfig参数

参数名 类型 说明 备注 必需
connectTimeout int 超时时长(单位:ms) 默认值:10*1000ms
opeartTimeout int 操作超时时长(单位:ms) 默认值:15*1000ms

连接状态


监听蓝牙设备连接状态。

请求参数:

参数名 类型 说明 备注 必需
BleConnectStatusListener Function 回调函数

例子:

iotBleDevice.setBleConnectStatusListener(new BleConnectStatusListener() {
    @Override
    public void onConnectStatusChanged(String mac, int status) {
    }

    @Override
    public void onError(ErrorMessage errorMessage) {
    }
});

返回参数:

参数名 类型 说明 备注 必需
error
Message
Error
Message
错误码 参照错误码
mac String 设备的mac mac地址必须大写
status int 设备的状态 Constants. STATUS_UNKNOWN
Constants. BLE_STATUS_CONNECTED
Constants. BLE_STATUS_CONNECTING
Constants. BLE_STATUS_DISCONNECTING
Constants. BLE_STATUS_DISCONNECTED
Constants.BLE_STATUS_CONNECT_FAIL
Constants.BLE_STATUS_RECONNECT_SUCCESS
Constants.BLE_STATUS_RECONNECT_FAIL
Constants. BLE_STATUS_REGI_SUCCESS
Constants.BLE_STATUS_REGI_FAIL
Constants.BLE_STATUS_SESSIONKEY_VALID
Constants.BLE_STATUS_SESSIONKEY_FAIL
Constants.Ble_STATUS_DEVICE_RESET_SUCCESS
Constants.Ble_STATUS_DEVICE_RESET_FAIL
Constants.Ble_STATUS_DEVICE_REGI_SUCCESS
Constants.Ble_STATUS_DEVICE_REGI_FAIL
Constants.Ble_STATUS_DEVICE_BIND_SUCCESS
Constants.Ble_STATUS_DEVICE_BIND_FAIL

断开连接


断开指定的蓝牙设备连接,不释放资源。

iotBleDevice.disconnect();

断开所有的蓝牙设备连接,不是释放资源。

IotBleSDK.getBleManager().disconnect();

设备状态


获取蓝牙设备状态。

例子:

int status = iotBleDevice.getIotBleStatus();

返回参数:

参数名 类型 说明 备注 必需
status int 设备的状态 Constants. STATUS_UNKNOWN
Constants. BLE_STATUS_CONNECTED
Constants. BLE_STATUS_CONNECTING
Constants. BLE_STATUS_DISCONNECTING
Constants. BLE_STATUS_DISCONNECTED
Constants.BLE_STATUS_CONNECT_FAIL
Constants.BLE_STATUS_RECONNECT_SUCCESS
Constants.BLE_STATUS_RECONNECT_FAIL
Constants. BLE_STATUS_REGI_SUCCESS
Constants.BLE_STATUS_REGI_FAIL
Constants.BLE_STATUS_SESSIONKEY_VALID
Constants.BLE_STATUS_SESSIONKEY_FAIL
Constants.Ble_STATUS_DEVICE_RESET_SUCCESS
Constants.Ble_STATUS_DEVICE_RESET_FAIL
Constants.Ble_STATUS_DEVICE_REGI_SUCCESS
Constants.Ble_STATUS_DEVICE_REGI_FAIL
Constants.Ble_STATUS_DEVICE_BIND_SUCCESS
Constants.Ble_STATUS_DEVICE_BIND_FAIL

自动重连


蓝牙设备异常关闭是否自动重连,出现异常会尝试一直连接。

iotBleDevice.setReconnected(boolean reConnected);
// 是否满足重连条件
boolean reconnect = iotBleDevice. isReconnectionCondition();

信号强度


获取蓝牙设备的信号强度。

请求参数:

参数名 类型 说明 备注 必需
BleReadRssiCallback Function 函数

例子:

iotBleDevice.readRssi(new BleReadRssiCallback() {
    @Override
    public void onResponse(int code, Integer data) {
    }

    @Override
    public void onError(ErrorMessage errorMessage) {
    }
});

返回参数:

参数名 类型 说明 备注 必需
errorMessage ErrorMessage 错误码 参照错误码
code int 请求返回码
data int 信号强度值

消息接收


手机端接收蓝牙设备发送的消息。

透传二进制数据:
iotBleDevice.setPushListener(new IIotBleDeviceImpl.PushListener() {
    @Override
    public void onPush(byte[] values) {
    }
});

设备功能点更新消息:
iotBleDevice.setCommandListener(new IIotBleDeviceImpl.CommandListener() {
    @Override
    public void onCommand(List<MessageData> list) {
    }
});

设备解绑信息:
iotBleDevice.setUnbindListener(new IIotBleDeviceImpl.UnbindDeviceListener() {
    @Override
    public void onUnbind() {
    }
});

设备错误信息:
iotBleDevice.setErrorListener(new IIotBleDevice.ErrorListener() {
    Override
    public void onError(IotBleMessage iotBleMessage) {
        // 设备的错误信息
        iotBleMessage.getErrorMessage();
    }
});

透传(push)信息到设备


手机端向蓝牙设备发送信息。

iotBleDevice.push(byte[]array);

下发常规命令


手机端下发命令控制设备。

构造设备功能点数据
MessageData.Builder builder = new MessageData.Builder();
builder.put(key,value);
iotBleDevice.sendCommand(builder, new ICallback() {
@Override
public void onSuccess(Object result) {
}

@Override
public void onError(ErrorMessage errorMessage) {
}
})

发送解绑信息


手机端发送解绑蓝牙设备信息,收到回复立即断开连接。

iotBleDevice.unbindBleDevice(new ICallback() {
    @Override
    public void onSuccess(Object result) {
    }

    @Override
    public void onError(ErrorMessage errorMessage) {
    }
});

查询可以OTA升级的设备


查询可以进行OTA升级的设备。

请求参数:

参数名 类型 说明 备注 必需
ICallback Function 回调函数

例子:

IotCloudSDK.getOTAManager().getAllOTAUpdateInfo(ICallback<List<OTAUpdateInfo>>(){
    @Override
    public void onSuccess(OTAUpdateInfo result) {
    }

    @Override
    public void onError(ErrorMessage errorMessage) {
    }
});

返回参数:

参数名 类型 说明 备注 必需
errorMessage ErrorMessage 错误码 参照错误码

result:

参数名 类型 说明 备注 必需
productId int 产品id
name String OTA升级名称,管理平台上传ota升级包的时候可以填写
mcuVersion String 版本号 要升级的版本
mcuSizeValue long 包的大小 包的大小,可以上传两个mcu
mcuSize2Value long 包的大小 包的大小,可以上传两个mcu
description String OTA升级描述
iotId String 设备唯一id
deviceMac String 设备mac地址
deviceName String 设备名称

查询指定版本的bin包信息


查询指定版本的bin信息并下载保存。

请求参数:

参数名 类型 说明 备注 必需
productId int 包的大小
iotId String 设备的iot_id
ower int 升级类型 1:mcu升级,2:wifi升级,3:ble升级
version String 版本号
IOTADownloadCallback Function 回调函数

例子:

IotBleSDK.getBleManager().downloadDeviceOTAMCU(productId, iotId, owner, version,
    new IOTADownloadCallback() {
    @Override
    public void startDownload() {
    }

    @Override
    public void onProgress(long total, long progress, boolean down) {
    }

    @Override
    public void onSuccess(Object object) {
    }

    @Override
    public void onError(ErrorMessage errorMessage) {
    }
});

返回参数:

参数名 类型 说明 备注 必需
erroeMessage ErroeMessage 错误码 参照错误码
total int 总大小
progress int 当前进度
done boolean 是否已完成

向设备发送OTA升级指令


发送开始升级指令,向设备端传输OTA升级包。

请求参数:

参数名 类型 说明 备注 必需
ftotallen int 包的大小
version String 设备要升级的版本
ower int 升级类型 1:mcu升级,2:wifi升级,3:ble升级
IOTAUpgradeCallback Function 回调函数

例子:

iotBleDevice.requestOTAUpgrade(ftotallen,version,owner, new IOTAUpgradeCallback() {
@Override
public void startOTAUpgrade() {
}

@Override
public void progressOTAUpgrade(int total, int progress, boolean done) {
}

@Override
public void onError(ErrorMessage errorMessage) {
}
 });

返回参数:

参数名 类型 说明 备注 必需
erroeMessage ErroeMessage 错误码 参照错误码
total int 总大小
progress int 当前进度
done boolean 是否已完成

向设备发送异常终止OTA传输


OTA升级过程中可以向设备发送取消OTA传输命令。

请求参数:

参数名 类型 说明 备注 必需
owner int 升级类型 1:mcu升级,2:wifi升级,3:ble升级
ICallback Function 回调函数

例子:

iotBleDevice. cancalOTAUpgrade (owner,new ICallback() {
    @Override
    public void onSuccess(Object object) {
    }

    @Override
    public void onError(ErrorMessage errorMessage) {
    }
});

返回参数:

参数名 类型 说明 备注 必需
errorMessage ErrorMessage 错误码 参照错误码

向设备发送执行OTA升级指令


OTA包全部传输到设备后需要重启设备,设备端才能进行OTA升级

请求参数:

参数名 类型 说明 备注 必需
owner int 升级类型 1:mcu升级,2:wifi升级,3:ble升级
mcuVersion String 升级的mcu版本号
timeout long 设备重启超时时间 设备重启进行OTA升级需要时间,超出时间范围未回调表示超时,建议时间设置大些。 默认(小于等于0):20*1000ms。 单位:ms
ICallback Function 回调函数

例子:

iotBleDevice. confirmOTAUpgrade (owner, mcuVersion ,timeout,new ICallback() {
    @Override
    public void onSuccess(Object object) {
    }

    @Override
    public void onError(ErrorMessage errorMessage) {
    }
});

返回参数:

参数名 类型 说明 备注 必需
errorMessage ErrorMessage 错误码 参照错误码

查询指定版本升级进度


获取设备的升级状态和升级进度。

请求参数:

参数名 类型 说明 备注 必需
iotId String 设备唯一id
mcuVersion String 要升级的目标版本号
ICallback Function 回调函数

例子:

IotCloudSDK.getOTAManager().getDeviceOTAProgress (iotId, mcuVersion, 
    new ICallback<OTAUpdateProgress>() {
    @Override
    public void onSuccess(OTAUpdateProgress result) {
    }

    @Override
    public void onError(ErrorMessage errorMessage) {
    }
});

返回参数:

参数名 类型 说明 备注 必需
errorMessage ErrorMessage 错误码 参照错误码

result:

参数名 类型 说明 备注 必需
status int 状态包含5种: 0未下载
可以向设备发送检查升级指令
1正在下载 2已下载
3更新完成 4更新失败
5正在升级
mcuSizeValue long 包的大小,可以上传两个mcu
mcuSize2Value long 包的大小,可以上传两个mcu
iotId String 设备唯一id
totalSizeValue long 总共大小 下载完成后会变为0,即状态2的时候
downloadSizeValue long 当前下载的大小 下载完成后会变为0,即状态2的时候

查询设备是否正在OTA升级

查询设备是否正在进行OTA文件传输,正在传输则返回文件大小和偏移量。

请求参数:

参数名 类型 说明 备注 必需
ICallback Function 回调函数

例子:

iotBleDevice. requestOTAUpgrading (new ICallback() {
    @Override
public void onSuccess(OTAUpgrading upgrading) {
    if(null == upgrading || !upgrading.flag){
    // 未升级
}else{
    // 正在升级 
}
    }

    @Override
    public void onError(ErrorMessage errorMessage) {
    }
});

返回参数:

参数名 类型 说明 备注 必需
result OTAUpgrading 返回成功信息
errorMessage ErrorMessage 错误码 参照错误码

result参数

参数名 类型 说明 备注 必需
ftotalLenth int OTA固件包大小
progress long 已传输偏移量
flag long true: 正在升级 false: 未升级
Copyright & copy qinglianyun all right reserved,powered by Gitbook该文件修订时间: 2021-04-22 18:53:48

results matching ""

    No results matching ""