NB-IoT 设备配网

更新时间:2023-11-03 03:44:15下载pdf

NB-IoT 设备采用的是低功耗广域网(LPWA)技术,它可以在已建成的移动网络上更简单、更高效地连接物联网设备。本文介绍如何扫描 NB-IoT 设备二维码,进行设备配网。

扫描 NB-IoT 设备二维码配网流程

查询设备 UUID

//IThingDeviceActivator.java
void deviceQrCodeParse(String url, IThingDataCallback<QrScanBean> callback);

参数说明

参数 说明
url 二维码扫码得到的 URL
IThingDataCallback 回调,取出 result.actionData 中的 UUID 用于后续配网入参

示例代码

//二维码扫码得到的 URL
ThingHomeSdk.getActivatorInstance().deviceQrCodeParse("url", new IThingDataCallback<QrScanBean>() {
            @Override
            public void onSuccess(QrScanBean result) {
                if(result != null){
                    //取出 result.actionData 中的 UUID 用于后续配网入参

                }
            }

            @Override
            public void onError(String errorCode, String errorMessage) {
                //errorCode:QR_PROTOCOL_NOT_RECOGNIZED 协议不可识别

            }
        });

绑定 NB-IoT 设备


void bindNbDeviceWithQRCode(long homeId,String uuid, String timeZone, IThingDevActivatorListener listener);

参数说明

参数 说明
homeId 家庭 ID
uuid result.actionData 中的 UUID
timezone 当前时区,可以参考示例中的写法
IThingDevActivatorListener 配网结果回调

示例代码

//二维码扫码得到的 URL
ThingHomeSdk.getActivatorInstance().bindNbDeviceWithQRCode(123xx,"uuidxxxx","timezonexx" new IThingDevActivatorListener<DeviceBean>() {
            @Override
            public void onSuccess(DeviceBean result) {
             
            }

            @Override
            public void onError(String errorCode, String errorMessage) {

            }
        });


public String getTimeZone() {
    TimeZone tz = TimeZone.getDefault();
    String displayName = "+08:00";
    if (tz != null) {
        String str = tz.getDisplayName();
        if (str != null && !str.isEmpty()) {
            int indexOf = str.indexOf("+");
            if (indexOf == -1) {
                indexOf = str.indexOf("-");
            }
            if (indexOf != -1) {
                displayName = str.substring(indexOf);
            }
            if (!displayName.contains(":")) {
                displayName = displayName.substring(0, 3) + ":" + displayName.substring(3);
            }
        }
    }
    return displayName;
}