Mesh组网

## Mesh组网 Mesh分为二种: * 常规Mesh * 中继模式不能Mesh; * 常规Mesh仅限于H3C路由器之间Mesh; * 无线Mesh需要开启5G Wi-Fi。 * EasyMesh * 无线中继模式不能Mesh,有线中继可以。 * EasyMesh支持适配了EasyMesh协议的非H3C厂商路由器。 两种不同协议的Mesh设备不能Mesh。 * 无线Mesh需要开启5G Wi-Fi。 >w 功能需要能力集29位支持(支持则代表网关有常规Mesh或者EasyMesh功能) #### 一、 Mesh组网 导入头文件`#import <H3CMagicKit/H3CGatewayObject+Mesh.h` #### 1.1 获取Mesh组网路由器列表 获取当前智能带宽开关状态、以及WAN1、WAN2带宽状态。 ``` [H3CGatewayObject requestForAllMeshRoutesWithSuccess:^(id result) { NSArray *routeGroupList = result[@"routeGroupList"]; } failure:^(H3CError *error) { }]; ``` 返回数据result: ``` { autoNetStatus = 1; maxChildRouteNum = 8; meshStatus = 2; routeGroupList = ( { childRouteStatus = 0; currentVersion = B5V100R006; deviceType = "H3C B5"; networkMode = 0; primaryOrChild = 1; productNum = 4; productSeriesId = 2; routeIp = ""; routeMac = ""; routeName = "H3C_B513\U697c\U5b9e\U9a8c\U5ba4"; routeSn = 219801A1WX718AW00046; updateProcess = 0; updateStatus = 0; wifi5GPower = 0; wifi5GStatus = 0; wifiPower = 0; wifiStatus = 0; } ); wifi5GState = 2; } ``` 字段说明: |返回字段|描述| |-|-| |meshStatus|Mesh开关: 1、关闭 2、开启。(当开启时,才能组网)| |autoNetStatus|自动组网开关: 1、关闭 2、开启。(当开启时,会自动查找周边设备组网)| |maxChildRouteNum|允许组网的子路由上限| |wifi5GState|5G Wi-Fi开启状态: 1、关闭 2、开启。(5G关闭时不能Mesh组网)| |routeSn|网关序列号| |primaryOrChild|1、主路由 2、子路由| |childRouteStatus|1、配置中| |updateStatus|更新状态: 1、需要更新 2、不需要更新| |updateProcess|更新进度: 1、下载版本中 2、更新版本中 3、重启中| |wifiStatus|2.4G Wi-Fi状态: 1、关闭 2、开启| |wifiPower|2.4G Wi-Fi功率: 1、强 2、一般 3、弱 4、弱| |wifi5GStatus|5G Wi-Fi状态: 1、关闭 2、开启| |wifi5GPower|5G Wi-Fi功率: 1、强 2、一般 3、弱 4、弱| #### 1.2 修改子路由信息 配置子路由,如修改子路由名称、功率等。 ``` [H3CGatewayObject requestForSetMeshSubRouteWithAttribute:attribute success:^(id obj) { } failure:^(H3CError *error) { }]; ``` 参数attribute: ``` NSMutableDictionary *attribute = [NSMutableDictionary dictionary]; [attribute tmpSetNewObject:self.routeMac forKey:@"routeMac"]; [attribute tmpSetNewObject:self.routeName forKey:@"routeName"]; [attribute tmpSetNewObject:self.wifiPower forKey:@"wifiPower"]; [attribute tmpSetNewObject:self.wifiStatus forKey:@"wifiStatus"]; [attribute tmpSetNewObject:self.wifi5GStatus forKey:@"wifi5GStatus"]; [attribute tmpSetNewObject:self.wifi5GPower forKey:@"wifi5GPower"]; ``` |返回字段|描述| |-|-| | routeMac | 路由mac| | routeName |路由mac| | wifiPower | 2.4G Wi-Fi功率: 1、强 2、一般 3、弱 4、弱| | wifiStatus |2.4G状态:1、关闭 2、开启| | wifi5GPower |5G功率| | wifi5GStatus |5G Wi-Fi功率: 1、强 2、一般 3、弱 4、弱| 以上参数,需要全部赋值,若不修改则传接口1.1中数据返回。 #### 1.3 开启关闭主路由的组网 开启/关闭主路由的组网功能;开启/关闭主路由的自动组网功能(自动组网尽量关闭)。 ``` [H3CGatewayObject requestForSetMeshStatus:YES autoNetStatus:NO success:^(id result) { } failure:^(H3CError *error) { }]; ``` #### 1.4 一键升级子路由 下发指令后,会升级主路由下的所有子路由器的版本。 ``` [H3CGatewayObject requestForUpgradeSystemWithSuccess:^(id result) { } failure:^(H3CError *error) { }]; ``` #### 1.5 子路由加网 主要要开启Mesh组网开关,才能开启加网。 子路由包含2种加网方式: * 扫码加网: 扫描子路由Mac地址加网 * 一键组网: 自动扫描周边子路由加网 ``` [H3CGatewayObject requestForInsertSubRoutesWithAddMode:addMode macAddress:macAddress success:^(id result) { } failure:^(H3CError *error) { }]; ``` |参数|描述| |-|-| | addMode | 加网方式: 1、扫码加网 2、一键加网| | macAddress |子路由mac地址,一键加网时传空| >w Easy Mesh支持一键加网,不支持扫码加网。Easy Mesh开启加网后,请立即按下子路由的Mesh按键,会在2分钟内自动配对,完成组网。 #### 1.6 获取常规TOPO图信息 获取TOPO信息 ``` [H3CGatewayObject requestForSignalTopoWithSuccess:^(id result) { } failure:^(H3CError *error) { }]; ``` |参数|描述| |-|-| | meshRouterList | Mesh路由器列表,单条数据信息对应数据模型`H3CMeshTopoModel` | | routeName |子路由mac地址,一键加网时传空| | routeMac |子路由mac地址,一键加网时传空| | meshStatus |1:主 2:子| | productNum |产品编号| | productSeriesId |产品序列号| | meshNeighborList | 相邻的网关,单条数据信息对应数据模型 `H3CMeshNeighborModel` | >w Mesh TOPO图,一个网关对应多个相设备关系 #### 1.7 获取EasyMesh TOPO图信息 获取EasyMesh TOPO图信息 ``` [H3CGatewayObject requestEasyMeshTopoListWithSuccess:^(H3CEasyMeshTopoList * _Nonnull topoListModel) { } failure:^(H3CError *error) { }]; ``` >w Easy Mesh关系图,每个网关只存在一个上级网关节点。需要能力集69位支持。 #### 三、 能力集 | 能力集序号|能力集属性|描述| |-|-|-| |29| isSuportMesh | 是否支持组网功能| |69| isSupportEasyMesh | 是否支持Easy Mesh, 若支持Eash Mesh则非常规的Mesh| |70| isNotSupportSanningMesh | 是否不支持扫码组网| |71| isNotSupportEasyMeshTopo | 是否不支持EasyMesh Topo图|