## 一、OTDR模块控制
在网关成功连接mqtt broker的前提下,可以通过具体的命令和主题,实现对OTDR模块的控制和状态获取,具体broker和主题的设置(与光路选择使用同一个broker和主题),可以通过阅读相关章节获取。
## 二、控制OTDR模块电源
### 1\. 默认参数
* deviceId:0123CD42BA033EFD
* relaySet: relay/data/${deviceId}/set
* relayPush: relay/data/${deviceId}/push
### 2\. 服务器请求
发送以下json数据到"relay/data/0123CD42BA033EFD/set"主题,网关会将OTDR模块断电
```
//otdrPower "on":上电; "off":断电; "restart":重启
{
"cmd": "otdrPowerSet",
"otdrPower":"off",
"id":1123
}
```
### 3\. 网关应答
网关会将设置结果发送到"relay/data/0123CD42BA033EFD/push"主题,服务器可以订阅该主题获取设置结果,其中otdrPower字段为OTDR模块电源的实际状态。
```
{
"cmd":"otdrPowerSet",
"otdrPower": "off",
"code":0,
"id":1123
}
```
## 三、获取OTDR模块状态
### 1\. 默认参数
* deviceId:0123CD42BA033EFD
* relaySet: relay/data/${deviceId}/set
* relayPush: relay/data/${deviceId}/push
### 2\. 服务器请求
发送以下json数据到"relay/data/0123CD42BA033EFD/set"主题,网关会自动查询OTDR当前状态,并上报到服务器
```
{
"cmd": "otdrStatusGet",
"id":1512
}
```
### 3\. 网关应答
网关会将设置结果发送到"relay/data/0123CD42BA033EFD/push"主题,服务器可以订阅该主题获取设置结果,其中otdrPower字段为OTDR模块电源的实际状态,otdrStatus字段为OTDR模块当前的运行状态。
```
{
"cmd":"otdrStatusGet",
"otdrPower":"on",
"otdrStatus":{
"scan":false,
"run":true,
"link":true
},
"code":0,
"id":1512
}
```