本地蓝牙mesh

初始化SDK

BleMesh SDK初始化

初始化时添加的参数:

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

例子:

在Application onCreate方法中调用一下初始化方法:

IotBleSDK.init(this);

混淆配置文件

-downwarn com.iot.ble.**
-keep class com.iot.ble.**{*;}
-dontwarn no.nordicsemi.android.meshprovisioner.**
-keep class no.nordicsemi.android.meshprovisioner.**{*;}
-dontwarn org.spongycastle.**
-keep class org.spongycastle.**{*;}
\#Gson
-downwarn com.google.gson.**
-keep class com.google.gson.**{*;}

蓝牙相关

蓝牙状态监听

注册蓝牙状态监听。

请求参数:

参数名 类型 说明 备注 必需
listener Function 回调函数
IotBleSDK. getBleMeshManager ().registerBluetoothStateListener(
new BluetoothStateListener() {
@Override
public void onStatusChanged(boolean flag) {
}
});

返回参数:

参数名 类型 说明 备注 必需
flag boolean 蓝牙状态 true:打开 false:关闭

注销蓝牙状态监听:

IotBleSDK. getBleMeshManager().unregisterBluetoothStateListener(bluetoothStateListener);

扫描相关

扫描未配置节点

扫描没有加入到mesh网络的设备。

请求参数:

参数名 类型 说明 备注 必需
scanSetting ScanSetting 扫描配置参数 只能设置超时时间。参数为null使用默
认值,默认值:20秒。
scanCallback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().scanProvisionedNodes(null, ScanCallback() {
@Override
public void onScanResult(ExtendedBluetoothDevice bluetoothDevice) {
// 扫描结果
}
@Override
public void onBatchScanResults(List<ExtendedBluetoothDevice> results) {
// 扫描结果集合
}
@Override
public void onScanFailed(int errorCode, String msg) {
// 扫描失败回调
}
@Override
public void onStopScan() {
//停止扫描回调。
}
});

返回参数:

参数名 类型 说明 备注 必需
errorCode int 错误码 参照错误码
msg String 错误信息
bluetoothDevice ExtendedBluetoothDevice 返回成功信息 返回需求数据

bluetoothDevice参数:

参数名 类型 说明 备注 必需
name String 设备名称
rssi int 设备的rssi值
device BluetoothDevice 设备
mScanedResult ScanedResult 设备的广播信息
beacon MeshBeacon mesh广播包

扫描已配置节点

扫描已经加入到当前mesh网络的节点。

请求参数:

参数名 类型 说明 备注 必需
scanSetting ScanSetting 扫描配置参数 只能设置超时时间。 参数为null使用默认值,默认值:20秒。
scanCallback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().scanProvisionedNodes(null, ScanCallback() {
@Override
public void onScanResult(ExtendedBluetoothDevice bluetoothDevice) {
// 扫描结果
}
@Override
public void onBatchScanResults(List<ExtendedBluetoothDevice> results) {
// 扫描结果集合
}
@Override
public void onScanFailed(int errorCode, String msg) {
// 扫描失败回调
}
@Override
public void onStopScan() {
//停止扫描回调。
}
});

返回参数:

参数名 类型 说明 备注 必需
errorCode int 错误码 参照错误码
msg String 错误信息
bluetoothDevice ExtendedBluetoothDevice 返回成功信息 返回需求数据

bluetoothDevice参数:

参数名 类型 说明 备注 必需
name String 设备名称
rssi int 设备的rssi值
device BluetoothDevice 设备
mScanedResult ScanedResult 设备的广播信息
beacon MeshBeacon mesh广播包

停止扫描

停止当前的扫描操作。

IotBleSDK.getBleMeshManager().stopScan();

mesh网络相关

新建默认网络

创建默认网络,名字默认值为Mesh Network,globalTtl默认值为5。

请求参数:

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

例子:

IotBleSDK.getBleMeshManager().createDefaultMeshNetwork(
new ICallback<MeshNetwork>() {
@Override
public void onSuccess(MeshNetwork meshNetwork) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

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

meshNetwork参数:

参数名 类型 说明 备注 必需
networkId String 网络id
networkName String 网络名称 默认值:Mesh Network。
globalTtl int 消息中继的次数 范围:0~127。 默认值:5。
isConnected boolean 网络连接状态

新建指定网络

创建指定网络名称和ttl值的网络。

请求参数:

参数名 类型 说明 备注 必需
name String 网络名称
ttl int 消息中继的次数 值小于0则为5;值大于127则为127
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().createMeshNetwork(name,ttl, 
new ICallback<MeshNetwork>() {
@Override
public void onSuccess(MeshNetwork meshNetwork) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

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

获取所有网络列表

获取已创建的网络列表。

请求参数:

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

例子:

IotBleSDK.getBleMeshManager().getMeshNetworkList(
new ICallback<List<MeshNetwork>>() {
@Override
public void onSuccess(List<MeshNetwork> meshNetworks) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

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

修改网络名称

网络信息只能修改名称和ttl值。操作前提:已加载网络且在已加载的网络下执行。

请求参数:

参数名 类型 说明 备注 必需
networkId String 网络id
name String 新的名称
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().updateMeshNetworkName(
meshNetwork.getNetworkId(), name, new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

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

修改网络的ttl

网络信息只能修改名称和ttl值。操作前提:已加载网络且在已加载的网络下执行。

请求参数:

参数名 类型 说明 备注 必需
networkId String 网络id
ttl int 新的ttl值
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().updateMeshNetworkTtl (
meshNetwork.getNetworkId(), ttl, new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

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

删除网络

删除指定的网络,并清除网络下所有已配置的节点,包含重置节点功能。注意:网络无节点则直接删除;有节点则必须在已连接状态下删除,并且不管节点是否重置成功。

请求参数:

参数名 类型 说明 备注 必需
networkId String 网络id
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().deleteMeshNetwork (
meshNetwork.getNetworkId(),new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

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

加载网络

成功加载指定网络后,才能操作网络下的节点。同一时间只能加载一个网络,不能加载多个。

请求参数:

参数名 类型 说明 备注 必需
networkId String 网络id
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().loadingMeshNetwork (
meshNetwork.getNetworkId(), new ICallback<List<MeshNodeProvisioned>> () {
@Override
public void onSuccess(List<MeshNodeProvisioned> result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

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

meshNodeProvisioned参数:

参数名 类型 说明 备注 必需
nodeId String 节点id
mac String 节点mac 对应的设备mac
nodeName String 节点名称 一般为设备名称
networkId String 网络id 节点所在的网络

断开连接

断开网络的连接。操作前提:已加载网络。

请求参数:

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

例子:

IotBleSDK.getBleMeshManager().disconnect ( new ISDKCallback() {
@Override
public void onSuccess(){
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

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

注册网络连接状态监听

连接状态监听,加载其他网络时会断开当前网络的连接。

请求参数:

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

例子:

IotBleSDK.getBleMeshManager().registerBleConnectStatusListener ( 
new BleConnectStatusListener () {
@Override
public void onConnectStatusChanged(String networkId, int status){
}
});

返回参数:

参数名 类型 说明 备注 必需
networkId String 网络id 参照错误码
status int 已连接: Constants.STATUS_CONNECTED
已断开: Constants.STATUS_DISCONNECTED

注销网络连接状态监听

注销连接状态监听。

请求参数:

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

例子:

IotBleSDK.getBleMeshManager().unregisterBleConnectStatusListener (statusListener);

节点相关

配置设备

对设备启动配置流程,使其加入当前mesh网络中。操作前提:已加载网络。

请求参数:

参数名 类型 说明 备注 必需
bluetoothDevice ExtendedBluetoothDevice 设备 扫描到的设备
produceId int 产品id
produceKey String 产品key
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().provisioningDevice(bluetoothDevice, 
productId, productKey,new ICallback<MeshNodeProvisioned>() {
@Override
public void onSuccess(MeshNodeProvisioned meshNodeProvisioned) {
// 配置成功
}
@Override
public void onError(ErrorMessage errorMessage) {
// 配置失败
}
});

返回参数:

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

result参数:

参数名 类型 说明 备注 必需
nodeId String 节点id
mac String 节点mac 对应的设备mac
nodeName String 节点名称 一般为设备名称
networkId String 网络id 节点所在的网络

连接已配置节点

连接已经加入当前mesh网络的节点。操作前提:已加载网络。

请求参数:

参数名 类型 说明 备注 必需
bluetoothDevice ExtendedBluetoothDevice 设备 扫描到的设备
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().connectToProvisionedNode (bluetoothDevice, 
new ICallback<MeshNodeProvisioned>() {
@Override
public void onSuccess(MeshNodeProvisioned meshNodeProvisioned) {
// 连接成功
}
@Override
public void onError(ErrorMessage errorMessage) {
// 连接失败
}
});

返回参数:

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

获取当前网络已配置节点列表

获取当前网络下所有已配置的节点。操作前提:已加载网络。

请求参数:

参数名 类型 说明 备注 必需
networkId String 网络id
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().getProvisionedNodes (
new ICallback<List<MeshNodeProvisioned>>() {
@Override
public void onSuccess(List<MeshNodeProvisioned> meshNodeProvisioneds) {
// 当前网络下已配置节点列表
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

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

重置节点

从当前网络移除节点,并且节点恢复到未配置状态。操作前提:已加载网络并已连接。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 节点
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().resetProvisionedNode(meshNodeProvisioned,
new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

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

清除节点

用来清除当前网络此节点信息,接口包含重置节点功能,但不管节点是否重置成功都会从网络中移除。一般情况下不建议使用,只有当设备主动重置,成为无效节点才使用。操作前提:已加载网络。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 节点
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().deleteProvisionedNode (meshNodeProvisioned,
new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

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

节点添加订阅

为节点添加订阅,当被订阅节点发布消息,订阅节点能接受到消息。操作前提:已加载网络并已连接。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 节点
mac String 被订阅节点的mac
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().subscribeProsionedNodeAdd (meshNodeProvisioned,
mac,new ISDKCallback() {
@Override
public void onSuccess() {
// 订阅成功
}
@Override
public void onError(ErrorMessage errorMessage) {
// 订阅失败
}
});

返回参数:

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

节点删除订阅

与被订阅节点解除订阅关系。操作前提:已加载网络。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 节点
mac String 被订阅节点的mac
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().subscribeProsionedNodeDel (meshNodeProvisioned,
mac,new ISDKCallback() {
@Override
public void onSuccess() {
// 解订阅成功
}
@Override
public void onError(ErrorMessage errorMessage) {
// 解订阅失败
}
});

返回参数:

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

获取节点订阅列表

获取节点下所有的订阅地址。操作前提:已加载网络并已连接。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 节点
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().getSubscribedList (meshNodeProvisioned,
mac,new ICallback<List<MeshNodeProvisioned>> () {
@Override
public void onSuccess(List<MeshNodeProvisioned> result) {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

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

修改节点名称

修改节点名称。操作前提:已加载网络并已连接。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 网络id
newName String 新名称
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().updateProvisionedNodeName(meshNodeProvisioned, newName, new ISDKCallback() {

@Override

public void onSuccess() {

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

数据通信

手机透传(push)消息给节点

手机向设备发送消息。操作前提:已加载网络并已连接。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 网络id
bytes byte[] 二进制数据
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().sendPushData(mMeshNodeProvisioned, bytes, 
new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

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

手机发送下行数据给节点

手机端下发命令控制设备,可以同时发送多条数据。操作前提:已加载网络并已连接。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 网络id
builder MessageData.Builder 下行数
callback Function 回调函数

例子:

构造功能点数据
MessageData.Builder builder = new MessageData.Builder();
// 只能添加一条数据
builder.put(key, value);
下发数据:
IotBleSDK.getBleMeshManager().sendCommandData (mMeshNodeProvisioned, builder, 
new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

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

手机极速传输小数据给节点

每次只能给设备发送一条消息,提高数据传输效率。支持的数据类型:int、float、enum、bool。操作前提:已加载网络并已连接。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 网络id
builder MessageData.Builder 下行数
callback Function 回调函数

例子:

构造功能点数据
MessageData.Builder builder = new MessageData.Builder();
// 可以添加多条数据
builder.put(key, value);
下发数据:
IotBleSDK.getBleMeshManager().sendCommandData (mMeshNodeProvisioned, builder, 
new ISDKCallback() {
@Override
public void onSuccess() {
}
@Override
public void onError(ErrorMessage errorMessage) {
}
});

返回参数:

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

接收节点发送的透传数据

节点主动发送二进制数据。操作前提:已加载网络。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 网络id
builder MessageData.Builder 下行数
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().registerPushListener(new PushListener(){
@Override
public void onPush(String networkId,String mac,byte[] data){
// 接收的二进制数据
}
});

返回参数:

参数名 类型 说明 备注 必需
networkId String 网络id
mac String 节点mac
data byte[] 二进制数据

注销接收节点发送的透传数据监听方法:

IotBleSDK.getBleMeshManager().unregisterPushListener(pushListener);

清除网络中透传数据监听方法(注:此方法可以在未加载网络情况下使用):

/*

* 当networkId不为空,表示清除指定网络的透传数据监听方法;

* 当network为空(null 或 “”),表示清除所有网络的透传数据监听方法。

*/

IotBleSDK.getBleMeshManager().clearPushListener(String networkId);

接收节点发送的上行数据

节点主动发送上行数据。操作前提:已加载网络。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 网络id
builder MessageData.Builder 下行数
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().registerCommandListener (new CommandListener(){
@Override
public void onCommand(String networkId,String mac, List<MessageData> dataList){
// 接收的上行数据
}
});

返回参数:

参数名 类型 说明 备注 必需
networkId String 网络id
mac String 节点mac
dataList List 上行数据

注销接收节点发送的上行数据监听方法:

IotBleSDK.getBleMeshManager().unregisterCommandListener(commandListener);

清除网络中上行数据监听方法(注:此方法可以在未加载网络情况下使用):

/*

* 当networkId不为空,表示清除指定网络的上行数据监听方法;

* 当network为空(null 或 “”),表示清除所有网络的上行数据监听方法。

*/

IotBleSDK.getBleMeshManager().clearCommandListener(String networkId);

接收节点极速传输的小数据

节点主动发送上行数据。操作前提:已加载网络。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 网络id
builder MessageData.Builder 下行数
callback Function 回调函数

例子:

IotBleSDK.getBleMeshManager().registerHighSpeedDataListener (
new HighSpeedDataListener (){
@Override
public void onReceive (String networkId,String mac, MessageData dataList){
// 接收的数据
}
});

返回参数:

参数名 类型 说明 备注 必需
networkId String 网络id
mac String 节点mac
dataList MessageData 上行数据

注销接收节点发送的极速数据监听方法:

IotBleSDK.getBleMeshManager().unregisterHighSpeedDataListener (dataListener);

清除网络中极速数据监听方法(注:此方法可以在未加载网络情况下使用):

/*

* 当networkId不为空,表示清除指定网络的极速数据监听方法;

* 当network为空(null 或 “”),表示清除所有网络的极速数据监听方法。

*/

IotBleSDK.getBleMeshManager().clearHighSpeedDataListener (String networkId);

云端蓝牙mesh SDK

初始化SDK

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;
}

BleMesh 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.*{;}

BleMesh SDK混淆配置文件

-downwarn com.iot.ble.**

-keep class com.iot.ble.*{;}

-dontwarn no.nordicsemi.android.meshprovisioner.**

-keep class no.nordicsemi.android.meshprovisioner.*{;}

-dontwarn org.spongycastle.**

-keep class org.spongycastle.*{;}

#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>() {

@Override

public void onSucess(List 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

蓝牙相关

蓝牙状态监听

注册蓝牙状态监听。

请求参数:

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

IotBleSDK. getBleMeshCloudManager ().registerBluetoothStateListener(

new BluetoothStateListener() {

@Override

public void onStatusChanged(boolean flag) {

}

});

返回参数:

参数名 类型 说明 备注 必需
flag boolean 蓝牙状态 true:打开 false:关闭

注销蓝牙状态监听:

IotBleSDK.getBleMeshCloudManager().unregisterBluetoothStateListener(bluetoothStateListener);

扫描相关

扫描未配置节点

扫描没有加入到mesh网络的设备。

请求参数:

参数名 类型 说明 备注 必需
scanSetting ScanSetting 扫描配置参数 只能设置超时时间。 参数为null使用默认值,默认值:20秒。
scanCallback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().scanProvisionedNodes(null, ScanCallback() {

@Override

public void onScanResult(ExtendedBluetoothDevice bluetoothDevice) {

// 扫描结果

}

@Override

public void onBatchScanResults(List results) {

// 扫描结果集合

}

@Override

public void onScanFailed(int errorCode, String msg) {

// 扫描失败回调

}

@Override

public void onStopScan() {

//停止扫描回调。

}

});

返回参数:

参数名 类型 说明 备注 必需
errorCode int 错误码 参照错误码
msg String 错误信息
bluetoothDevice ExtendedBluetoothDevice 返回成功信息 返回需求数据

bluetoothDevice参数:

参数名 类型 说明 备注 必需
name String 设备名称
rssi int 设备的rssi值
device BluetoothDevice 设备
mScanedResult ScanedResult 设备的广播信息
beacon MeshBeacon mesh广播包

扫描已配置节点

扫描已经加入到当前mesh网络的节点。操作前提:开启网络;已加载**mesh**网络且在已加载的网络下执行。

请求参数:

参数名 类型 说明 备注 必需
scanSetting ScanSetting 扫描配置参数 只能设置超时时间。 参数为null使用默认值,默认值:20秒。
scanCallback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().scanProvisionedNodes(null, ScanCallback() {

@Override

public void onScanResult(ExtendedBluetoothDevice bluetoothDevice) {

// 扫描结果

}

@Override

public void onBatchScanResults(List results) {

// 扫描结果集合

}

@Override

public void onScanFailed(int errorCode, String msg) {

// 扫描失败回调

}

@Override

public void onStopScan() {

//停止扫描回调。

}

});

返回参数:

参数名 类型 说明 备注 必需
errorCode int 错误码 参照错误码
msg String 错误信息
bluetoothDevice ExtendedBluetoothDevice 返回成功信息 返回需求数据

bluetoothDevice参数:

参数名 类型 说明 备注 必需
name String 设备名称
rssi int 设备的rssi值
device BluetoothDevice 设备
mScanedResult ScanedResult 设备的广播信息
beacon MeshBeacon mesh广播包

停止扫描

停止当前的扫描操作。

IotBleSDK.getBleMeshCloudManager().stopScan();

mesh网络相关

新建默认网络

创建默认网络,名字默认值为Mesh Network,globalTtl默认值为5。

请求参数:

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

例子:

IotBleSDK.getBleMeshCloudManager().createDefaultMeshNetwork(

new ICallback() {

@Override

public void onSuccess(MeshNetwork meshNetwork) {

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

返回参数:

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

meshNetwork参数:

参数名 类型 说明 备注 必需
networkId String 网络id
networkName String 网络名称 默认值:Mesh Network。
globalTtl int 消息中继的次数 取值范围:0~127。 默认值:5。
isConnected boolean 网络连接状态

新建指定网络

创建指定网络名称和ttl值的网络。

请求参数:

参数名 类型 说明 备注 必需
name String 网络名称
ttl int 消息中继的次数 值小于0则为默认值;值大于127则为127。 取值范围:0~127,默认值:5。
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().createMeshNetwork(name,ttl,

new ICallback() {

@Override

public void onSuccess(MeshNetwork meshNetwork) {

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

返回参数:

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

获取所有网络列表

获取已创建的网络列表。

请求参数:

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

例子:

IotBleSDK.getBleMeshCloudManager().getMeshNetworkList(

new ICallback>() {

@Override

public void onSuccess(List meshNetworks) {

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

返回参数:

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

修改网络名称

网络信息只能修改名称和ttl值。操作前提:已加载网络且在已加载的网络下执行。

请求参数:

参数名 类型 说明 备注 必需
networkId String 网络id
name String 新的名称
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().updateMeshNetworkName(

meshNetwork.getNetworkId(), name, new ISDKCallback() {

@Override

public void onSuccess() {

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

返回参数:

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

修改网络的ttl

网络信息只能修改名称和ttl值。操作前提:已加载网络且在已加载的网络下执行。

请求参数:

参数名 类型 说明 备注 必需
networkId String 网络id
ttl int 新的ttl值 Time to live,节点控制消息中继的次数。
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().updateMeshNetworkTtl (

meshNetwork.getNetworkId(), ttl, new ISDKCallback() {

@Override

public void onSuccess() {

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

返回参数:

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

删除网络

删除网络信息,设备需要物理重置。如果删除当前已加载的网络,则需要重新加载新网络。注意:区别本地蓝牙mesh 删除网络的功能。

请求参数:

参数名 类型 说明 备注 必需
networkId String 网络id
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().deleteMeshNetwork (

meshNetwork.getNetworkId(),new ISDKCallback() {

@Override

public void onSuccess() {

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

返回参数:

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

加载网络

成功加载指定网络后,才能操作网络下的节点。同一时间只能加载一个网络,不能加载多个。

请求参数:

参数名 类型 说明 备注 必需
networkId String 网络id
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().loadingMeshNetwork (

meshNetwork.getNetworkId(), new ICallback> () {

@Override

public void onSuccess(List result) {

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

返回参数:

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

meshNodeProvisioned参数:

参数名 类型 说明 备注 必需
nodeId String 节点id
mac String 节点mac 对应的设备mac
nodeName String 节点名称 一般为设备名称
networkId String 网络id 节点所在的网络

断开连接

断开网络的连接。操作前提:已加载网络。

请求参数:

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

例子:

IotBleSDK.getBleMeshCloudManager().disconnect ( new ISDKCallback() {

@Override

public void onSuccess(){

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

返回参数:

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

注册网络连接状态监听

连接状态监听,加载其他网络时会断开当前网络的连接。

请求参数:

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

例子:

IotBleSDK.getBleMeshCloudManager().registerBleConnectStatusListener (

new BleConnectStatusListener () {

@Override

public void onConnectStatusChanged(String networkId, int status){

}

});

返回参数:

参数名 类型 说明 备注 必需
networkId String 网络id
status int 已连接: Constants.STATUS_CONNECTED 已断开: Constants.STATUS_DISCONNECTED

注销网络连接状态监听

注销连接状态监听。

请求参数:

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

例子:

IotBleSDK.getBleMeshCloudManager().unregisterBleConnectStatusListener (statusListener);

节点相关

配置设备

对设备启动配置流程,使其加入当前mesh网络中成为节点。操作前提:已加载网络。

请求参数:

参数名 类型 说明 备注 必需
bluetoothDevice ExtendedBluetoothDevice 设备 扫描到的设备
produceId int 产品id
produceKey String 产品key
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().provisioningDevice(bluetoothDevice,

productId, productKey,new ICallback() {

@Override

public void onSuccess(MeshNodeProvisioned meshNodeProvisioned) {

​ // 配置成功

}

@Override

public void onError(ErrorMessage errorMessage) {

​ // 配置失败

}

});

返回参数:

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

result参数:

参数名 类型 说明 备注 必需
nodeId String 节点id
mac String 节点mac 对应的设备mac
nodeName String 节点名称 一般为设备名称
networkId String 网络id 节点所在的网络

连接已配置节点

连接已经加入当前mesh网络的节点。操作前提:已加载网络。

请求参数:

参数名 类型 说明 备注 必需
bluetoothDevice ExtendedBluetoothDevice 设备 扫描到的设备
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().connectToProvisionedNode (bluetoothDevice,

new ICallback() {

@Override

public void onSuccess(MeshNodeProvisioned meshNodeProvisioned) {

​ // 连接成功

}

@Override

public void onError(ErrorMessage errorMessage) {

​ // 连接失败

}

});

返回参数:

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

获取当前网络已配置节点列表

获取当前网络下所有已配置的节点。操作前提:已加载网络。

请求参数:

参数名 类型 说明 备注 必需
networkId String 网络id
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().getProvisionedNodes (

new ICallback>() {

@Override

public void onSuccess(List meshNodeProvisioneds) {

​ // 当前网络下已配置节点列表

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

返回参数:

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

重置节点

从当前网络移除节点,并且节点恢复到未配置状态。操作前提:已加载网络并已连接。当重置失败出现“用户与设备无绑定关系”的错误信息,可以选择物理重置节点并调用清除节点接口。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 节点
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().resetProvisionedNode(meshNodeProvisioned,

new ISDKCallback() {

@Override

public void onSuccess() {

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

返回参数:

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

清除节点

用来清除当前网络此节点信息。一般情况下不建议使用,只有当设备主动重置,成为无效节点才使用。操作前提:已加载网络。

设备没有物理重置的情况下调用此接口,会影响蓝牙mesh**功能,例如:配置新节点时存在相同单播地址的节点。请慎重操作。**

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 节点
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().deleteProvisionedNode (meshNodeProvisioned,

new ISDKCallback() {

@Override

public void onSuccess() {

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

返回参数:

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

节点添加订阅

为节点添加订阅,当被订阅节点发布消息,订阅节点能接受到消息。操作前提:已加载网络并已连接。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 节点
mac String 被订阅节点的mac
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().subscribeProsionedNodeAdd (meshNodeProvisioned,

mac,new ISDKCallback() {

@Override

public void onSuccess() {

​ // 订阅成功

}

@Override

public void onError(ErrorMessage errorMessage) {

​ // 订阅失败

}

});

返回参数:

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

节点删除订阅

与被订阅节点解除订阅关系。操作前提:已加载网络。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 节点
mac String 被订阅节点的mac
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().subscribeProsionedNodeDel (meshNodeProvisioned,

mac,new ISDKCallback() {

@Override

public void onSuccess() {

​ // 解订阅成功

}

@Override

public void onError(ErrorMessage errorMessage) {

​ // 解订阅失败

}

});

返回参数:

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

获取节点订阅列表

获取节点下所有的订阅地址。操作前提:已加载网络并已连接。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 节点
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().getSubscribedList (meshNodeProvisioned,

mac,new ICallback> () {

@Override

public void onSuccess(List result) {

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

返回参数:

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

修改节点名称

修改节点名称。操作前提:已加载网络并已连接。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 网络id
newName String 新名称
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().updateProvisionedNodeName(meshNodeProvisioned, newName, new ISDKCallback() {

@Override

public void onSuccess() {

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

数据通信

手机透传(push)消息给节点

手机向设备发送消息。操作前提:已加载网络并已连接。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 网络id
bytes byte[] 二进制数据
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().sendPushData(mMeshNodeProvisioned, bytes,

new ISDKCallback() {

@Override

public void onSuccess() {

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

返回参数:

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

手机发送下行数据给节点

手机端下发命令控制设备,可以同时发送多条数据。操作前提:已加载网络并已连接。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 网络id
builder MessageData.Builder 下行数
callback Function 回调函数

例子:

构造功能点数据

MessageData.Builder builder = new MessageData.Builder();

​ // 可以添加多条数据

builder.put(key, value);

下发数据:

IotBleSDK.getBleMeshCloudManager().sendCommandData (mMeshNodeProvisioned, builder,

new ISDKCallback() {

@Override

public void onSuccess() {

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

返回参数:

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

手机极速传输小数据给节点

每次只能给设备发送一条消息,提高数据传输效率。支持的数据类型:int、float、enum、bool。操作前提:已加载网络并已连接。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 网络id
builder MessageData.Builder 下行数
callback Function 回调函数

例子:

构造功能点数据

MessageData.Builder builder = new MessageData.Builder();

​ // 只能添加一条数据

builder.put(key, value);

下发数据:

IotBleSDK.getBleMeshCloudManager().sendCommandData (mMeshNodeProvisioned, builder,

new ISDKCallback() {

@Override

public void onSuccess() {

}

@Override

public void onError(ErrorMessage errorMessage) {

}

});

返回参数:

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

接收节点发送的透传数据

节点主动发送二进制数据。操作前提:已加载网络。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 网络id
builder MessageData.Builder 下行数
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().registerPushListener(new PushListener(){

@Override

public void onPush(String networkId,String mac,byte[] data){

​ // 接收的二进制数据

}

});

返回参数:

参数名 类型 说明 备注 必需
networkId String 网络id
mac String 节点mac
data byte[] 二进制数据

注销接收节点发送的透传数据监听方法:

IotBleSDK.getBleMeshCloudManager().unregisterPushListener(pushListener);

清除网络中透传数据监听方法(注:此方法可以在未加载网络情况下使用):

/*

* 当networkId不为空,表示清除指定网络的透传数据监听方法;

* 当network为空(null 或 “”),表示清除所有网络的透传数据监听方法。

*/

IotBleSDK.getBleMeshCloudManager().clearPushListener(String networkId);

接收节点发送的上行数据

节点主动发送上行数据。操作前提:已加载网络。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 网络id
builder MessageData.Builder 下行数
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().registerCommandListener (new CommandListener(){

@Override

public void onCommand(String networkId,String mac, List dataList){

​ // 接收的上行数据

}

});

返回参数:

参数名 类型 说明 备注 必需
networkId String 网络id
mac String 节点mac
dataList List 上行数据

注销接收节点发送的上行数据监听方法:

IotBleSDK.getBleMeshCloudManager().unregisterCommandListener(commandListener);

清除网络中上行数据监听方法(注:此方法可以在未加载网络情况下使用):

/*

* 当networkId不为空,表示清除指定网络的上行数据监听方法;

* 当network为空(null 或 “”),表示清除所有网络的上行数据监听方法。

*/

IotBleSDK.getBleMeshCloudManager().clearCommandListener(String networkId);

接收节点极速传输的小数据

节点主动发送上行数据。操作前提:已加载网络。

请求参数:

参数名 类型 说明 备注 必需
meshNodeProvisioned MeshNodeProvisioned 网络id
builder MessageData.Builder 下行数
callback Function 回调函数

例子:

IotBleSDK.getBleMeshCloudManager().registerHighSpeedDataListener (

new HighSpeedDataListener (){

@Override

public void onReceive (String networkId,String mac, MessageData dataList){

​ // 接收的数据

}

});

返回参数:

参数名 类型 说明 备注 必需
networkId String 网络id
mac String 节点mac
dataList MessageData 上行数据

注销接收节点发送的极速数据监听方法:

IotBleSDK.getBleMeshCloudManager().unregisterHighSpeedDataListener (dataListener);

清除网络中极速数据监听方法(注:此方法可以在未加载网络情况下使用):

/*

* 当networkId不为空,表示清除指定网络的极速数据监听方法;

* 当network为空(null 或 “”),表示清除所有网络的极速数据监听方法。

*/

IotBleSDK.getBleMeshCloudManager().clearHighSpeedDataListener (String networkId);

Copyright & copy qinglianyun all right reserved,powered by Gitbook该文件修订时间: 2021-04-22 18:53:48

results matching ""

    No results matching ""