有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

简介

设备配网模块用于为设备配置上网环境,目前支持以下配网方式:
有线配网
1.1 为设备插入能连接外网的网线。
1.2 手机请连接到与设备同一网络的 Wi-Fi。
1.3 通过搜索局域网设备找到目标设备。
扫码配网
1.1 获取配网 Token。
1.2 SDK 生成二维码。
1.3 设备扫描二维码。
1.4 设备上线时服务器会向 App 端发送通知。
AP 配网
1.1 获取配网 Token。
1.2 生成配网信息。
1.3 连接设备热点,并发送配网信息。
1.4 设备上线时服务器会向 App 端发送通知。
说明:
并非任意设备都支持以上所有配网方式,具体支持的配网方式由硬件和固件版本决定。
配网流程如下:



使用示例

有线配网

部分设备可通过自带网口使用有线上网,省去了配网环节,App 可通过局域网搜索到目标设备,使用设备 ID 向服务器发起绑定请求,流程大致如下:
1. App 连接到与设备同一网络下的 Wi-Fi。
2. App 搜索到目标设备,取得目标设备 ID。
3. App 向服务器发起绑定目标设备的请求。
4. 账户绑定设备成功。
5. 订阅该设备
6. 配网结束。
//第一步: 生成二维图片
NetConfigInfo netConfigInfo = new NetConfigInfo("wifi ssid", "wifi password", encType, accessIdLong);
final Bitmap bitmap = IoTVideoSdk.getNetConfig().newQRCodeNetConfig().createQRCode(netConfigInfo).toBitmap(500);

//第二步:注册设备联网回调
IoTVideoSdk.getNetConfig().registerDeviceOnlineCallback(listener);

//第三步:收到设备上线回调后,绑定设备
参考 《 厂商云对接IoTVideo平台接口定义-用户管理 》

//第四步:订阅该设备, token来自绑定设备结果的 AccessToken 字段
NetConfig.getInstance().subscribeDevice(devToken, devId);

AP 配网

AP 配网原理是 App 连接设备发射的热点,使设备与 App 处于同一局域网,并在局域网下实现信息传递。 流程大致如下:
1. 设备复位进入配网模式并发射 Wi-Fi 热点。
2. App 连接设备的热点(进入局域网)。
3. App 向设备发送配网信息(Wi-Fi 信息)。
4. 设备收到配网信息并连接指定网络。
5. 设备上线并向服务器注册。
6. App 收到设备已上线通知。
7. App 向服务器发起绑定目标设备的请求。
8. 账户绑定设备成功。
9. 订阅该设备。
10. 配网结束。
//第一步:生成配网信息
String netConfigString = IoTVideoSdk.getNetConfig().newAPNetConfig().toNetConfigString(netConfigInfo);

//第二步:发送配网信息
APNetConfig apNetConfig = IoTVideoSdk.getNetConfig().newAPNetConfig();
String netConfigString = apNetConfig.toNetConfigString(netConfigInfo);
apNetConfig.sendMessage(deviceId, netConfigString, new IResultListener<DataMessage>() {
@Override
public void onStart() {
LogUtils.i(TAG, "sendNetConfigInfoViaAP to device " + deviceId);
}

@Override
public void onSuccess(DataMessage msg) {
LogUtils.i(TAG, "sendNetConfigInfoViaAP onSuccess : " + msg);
}

@Override
public void onError(int errorCode, String errorMsg) {
LogUtils.i(TAG, "sendNetConfigInfoViaAP errorCode : " + errorCode + " " + errorMsg);
}
});

//第三步:注册设备联网回调
IoTVideoSdk.getNetConfig().registerDeviceOnlineCallback(listener);

//第四步:收到回调并进行绑定
参考 《API文档-终端用户相关接口-终端用户绑定设备》

//第五步:订阅设备
NetConfig.getInstance().subscribeDevice(devToken, devId);

二维码配网

二维码配网原理是 App 使用配网信息生成二维码,设备通过摄像头扫描二维码获取配网信息。流程大致如下:
1. 设备复位进入配网模式,摄像头开始扫描二维码。
2. App 使用配网信息生成二维码。
3. 用户使用设备扫描二维码。
4. 设备获取配网信息并连接指定网络。
5. 设备上线并向服务器注册。
6. App 收到设备已上线通知。
7. App 向服务器发起绑定目标设备的请求。
8. 账户绑定设备成功。
9. 订阅该设备。
10. 配网结束。
//第一步: 生成二维图片
NetConfigInfo netConfigInfo = new NetConfigInfo("wifi ssid", "wifi password", encType, accessIdLong);
final Bitmap bitmap = IoTVideoSdk.getNetConfig().newQRCodeNetConfig().createQRCode(netConfigInfo).toBitmap(500);

//第二步:注册设备联网回调
IoTVideoSdk.getNetConfig().registerDeviceOnlineCallback(listener);

//第三步:收到设备上线回调后,绑定设备
参考 《 厂商云对接IoTVideo平台接口定义-用户管理 》

//第四步:订阅该设备, token来自绑定设备结果的 AccessToken 字段
NetConfig.getInstance().subscribeDevice(devToken, devId);

API 文档

AP 配网(APNetConfig)

发送局域网消息
/**
* 发送局域网消息
*
* @param deviceId 设备ID
* @param netConfigInfo 配网信息
* @param listener 发送消息回调
*/
public void sendMessage(final String deviceId, String netConfigInfo, final IResultListener<DataMessage> listener);

有线配网(WiredNetConfig)

扫描局域网设备
/**
* 获取局域网设备列表
* @return 设备列表
*/
public DeviceInfo[] getDeviceList();
说明:
手机和设备需要在同一个局域网内才可以获取到设备信息,获取到设备信息之后,就可以绑定设备,完成配网流程。

二维码配网(QRCodeNetConfig)

App 生成二维码图片,在二维码图片中写入 Wi-Fi 等相关信息,然后设备扫描该二维码。
生成二维码 (生成二维码图片)
/**
* 生成二维码
*
* @param netConfigInfo 配网信息
* @return 二维码图片
*/
public QRCode createQRCode(NetConfigInfo netConfigInfo);