网关配网

## 网关配网 ### 一、网关配网 当网关是出厂配置时,配置网关后才能进行管理。 * 上网方式包括5种:`自动方式(DHCP)`, `宽带拨号(PPPoE)`, `手动方式(静态IP)`, `有线中继(AP)`, `无线中继` * 由于无线中继传输速率没有有线上网方式高、稳定,因此配置向导不推荐无线中继。(若一定要无线中继,可以配置好设备再设置) ### 1.1 获取配置向导信息 * 导入头文件`#import <H3CMagicKit/H3CGatewayObject+H3CConfigGuide.h>` * 调用获取网关配置信息接口 [H3CGatewayObject getConfigureGuideWirelessNetInfoWithSuccess:^(H3CWiFiConfigModel * _Nonnull model) { self.wifiName = model.wifiName; self.adminPswSyncFlag = [model.adminPswSyncFlag integerValue]; self.dualBandFlag = [model.dualBandFlag integerValue]; // gwFactoryCfg==3, 表示可以直接跳到配置Wi-Fi if ([H3CGuideMHRouterCapabilityManager share].gwFactoryCfg == 3) { } } failure:^(H3CError *error) { NSLog(@"%@", error.errorDesc); }]; >w 若`gwFactoryCfg`值等3,则不能修改上网方式(因为当前已经是有线中继模式),只能跳到步骤1.3配置SSID和密码。 ### 二、配置上网方式 #### 2.1 自动方式(DHCP) * 导入头文件`#import <H3CMagicKit/H3CGatewayObject+H3CConfigGuide.h>` * 调用设置网关为DHCP上网方式 ``` [H3CGatewayObject setConfigureGuideDHCPInfoWithSuccess:^(id obj) { } failure:^(H3CError *error) { }]; ``` * 判断是否设置成功,可以调用以下接口(不成功也可以跳到1.3步骤,配置SSID和密码完成出厂配置) ``` [H3CGatewayObject getConfigureGuideNormalInfoWithSuccess:^(H3CNetModeNormalModel * _Nonnull model) { NSInteger value = [model.netPlayLink integerValue]; if (value == 1) { } else if (value == 2) { } else if (value == 3) { // netPlayLink=3,账号或者管理密码错误,pppoe专属 } } failure:^(H3CError *error) { }]; ``` #### 2.2 宽带拨号(PPPoE) * 导入头文件`#import <H3CMagicKit/H3CGatewayObject+H3CConfigGuide.h>` * 调用设置网关为PPPoE ``` [H3CGatewayObject setConfigureGuidePPPOEInfoWithAttrs:self.pppoeAttrs success:^(id obj) { } failure:^(H3CError *error) { }]; ``` * 判断是否设置成功,可以调用以下接口(不成功也可以跳到1.3步骤,配置SSID和密码完成出厂配置) ``` [H3CGatewayObject getConfigureGuideNormalInfoWithSuccess:^(H3CNetModeNormalModel * _Nonnull model) { NSInteger value = [model.netPlayLink integerValue]; if (value == 1) { [MHToast showToastHUD:@"拨号成功"]; }else if (value == 2) { }else if (value == 3) { [MHToast hiddenProgressHUD]; [MHToast showToastHUD:@"账号或者密码错误"]; } } failure:^(H3CError *error) { }]; ``` #### 2.3 手动方式(静态IP) * 导入头文件`#import <H3CMagicKit/H3CGatewayObject+H3CConfigGuide.h>` * 调用设置网关为静态IP ``` [H3CGatewayObject setConfigureGuideStaticIpInfoWithAttrs:self.staticAttrs success:^(id obj) { } failure:^(H3CError *error) { }]; ``` * 判断是否设置成功,可以调用以下接口(不成功也可以跳到1.3步骤,配置SSID和密码完成出厂配置) ``` [H3CGatewayObject getConfigureGuideNormalInfoWithSuccess:^(H3CNetModeNormalModel * _Nonnull model) { NSInteger value = [model.netPlayLink integerValue]; if (value == 1) { [MHToast hiddenProgressHUD]; [MHToast showToastHUD:@"连接成功"]; }else if (value == 2) { }else if (value == 3) { // netPlayLink=3,账号或者管理密码错误,pppoe专属 } } failure:^(H3CError *error) { }]; ``` #### 2.4 有线中继(AP) * 导入头文件`#import <H3CMagicKit/H3CGatewayObject+H3CConfigGuide.h>` * 调用设置网关为有线中继 ``` [H3CGatewayObject setConfigureGuideCableTrunkingInfoWithSuccess:^(id obj) { } failure:^(H3CError *error) { }]; ``` * 判断是否设置成功,需要调用接口查看是否中继成功(不成功也可以跳到1.3步骤,配置SSID和密码完成出厂配置) ``` [H3CGatewayObject getConfigureGuideCableTrunkingInfoWithSuccess:^(H3CCableTrunkModel * _Nonnull model) { if ([model.repeaterStatus integerValue] == 3) { [self trunkSuccess]; } else if ([model.repeaterStatus integerValue] == 2) { // trunking } else if ([model.repeaterStatus integerValue] == 4) { // trunk failure [MHToast hiddenProgressHUD]; [MHToast showToastHUD:@"中继失败"]; } } failure:^(H3CError *error) { }]; ``` * 有线中继成功后,需要再次查看配置向导无线信息,并且同步ip地址到本地 (有线中继成功网关ip地址会改变) ``` [H3CGatewayObject getConfigureGuideWirelessNetInfoWithSuccess:^(H3CWiFiConfigModel * _Nonnull model) { [MHToast hiddenProgressHUD]; [MHToast showToastHUD:@"有线中继成功"]; self.configState = H3CNetModeConfigStateSuccess; H3CWiFiConfigModel *wifiModel = model; self.wifiName = wifiModel.wifiName; self.adminPswSyncFlag = [wifiModel.adminPswSyncFlag integerValue]; self.dualBandFlag = [wifiModel.dualBandFlag integerValue]; // 中继成功ip地址会变更,应该更新配置中设备的ip [[H3CGuideMHRouterCapabilityManager share] updateGatewayIp:wifiModel.lanIp]; } failure:^(H3CError *error) { if (self.count >= 60) { [MHToast hiddenProgressHUD]; [MHToast showToastHUD:@"中继失败"]; self.configState = H3CNetModeConfigStateFailure; return; } [self trunkSuccess]; }]; ``` ### 三、配置SSID和密码 配好上网方式,接下来配置网关SSID和密码 * 导入头文件`#import <H3CMagicKit/H3CGatewayObject+H3CConfigGuide.h>` * 调用设置SSID和密码接口 ``` [H3CGatewayObject setConfigureGuideWirelessNetInfoWithAttrs:wifiAttrs success:^(id obj) { [MHToast hiddenProgressHUD]; [self showCompletedView]; } failure:^(H3CError *error) { [MHToast hiddenProgressHUD]; if (error.retCode == 73) { [MHToast showToastHUD:@"请勿输入生僻字符"]; } else if (error.retCode == -1) { // 网络异常也算成功 [self showCompletedView]; } else { [MHToast showToastHUD:error.errorDesc]; } ``` 到此完成了出厂配置设备的配网,网关可以正常使用。 >w 设备出厂配置较为复杂,可以参考Demo实现。