GL-S20 Http RESTful 接口¶
概览¶
/UI¶
登录和使用步骤¶
步骤 1:通过/ui/challenge方法获取加密参数¶
调用 /ui/challenge 方法登录。该方法响应加密数据,包括:salt 和 nonce。
{
"code": 0,
"result": {
"alg": 66,
"salt": "ZmVhMjk5",
"nonce": "N2E1NDAwNjIzZGMzY2QxYjQyY2VlZTEx"
}
}
注意: 用于加密传输的字符串,该字符串随机生成,有效期仅为 2000ms。这意味着第 2-3 步必须在 2000 毫秒内完成,否则必须从第 1 步重新开始。
步骤 2:生成用于登录的哈希值¶
- 使用 hmac-sha256 的salt 获取密码的哈希字符串
- 将默认用户名、密码哈希字符串和 nonce 结合在一起。格式为: $(USERNAME):$(HASH):$(NONCE)
- 默认用户名是 : root
- 获取组合字符串的 MD5 哈希字符串
简单 JavaScript 代码演示
import CryptoJS from 'crypto-js'
const hs256 = CryptoJS.HmacSHA256(password, salt)
const base64 = CryptoJS.enc.Base64.stringify(hs256)
const str = `root:${base64}:${nonce}`
const md5 = CryptoJS.MD5(str).toString() c
第 3 步:登录获取 sid¶
调用 /ui/login 方法,将用户名作为用户名参数,将哈希值作为哈希参数传递。
/ui/login 请求 body:
{
"username": "root",
"hash": "771dff96fa01146f6e42ad01bed197ca"
}
/ui/login 回复 body:
{
"code": 0,
"result": {
"sid": "NDA2NWQ1YTYzN2NkZDFjNTU1MGE2ZDhi"
}
}
该方法会响应用于身份验证的 sid,其他应用程序应将其作为 "Token"添加到 http 头中。sid 的有效期为 35s,每次调用接口时都会重置。也就是说,如果 35 秒内没有调用任何接口,就需要重新获取 sid。
/ui/challenge¶
获取登录加密时的随机值
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
alg | number | 加密所用算法的 ID,66 表示 hmac-sha256 |
salt | string | 加密Salt |
nonce | string | 加密Nonce |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/ui/set_init¶
初始化该设备
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
lang | string | web语言;支持: "zh-cn" "en" |
password | string | web密码 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/ui/login¶
登录并获取token
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
username | string | 用户名,必须为 'root' |
hash | string | 查看步骤 2 生成的哈希值,并将其输入 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/ui/logout¶
登出
-
请求方法: POST
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/ui/check_initialized¶
检查该设备是否已初始化
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
firmware_category | string | 固件类型: "2c" |
firmware_version | string | 固件版本 |
hostname | string | 设备host名 |
build_time | string | 固件编译时间 |
initialized | boolean | 是否完成初始化 |
mac | string | 设备基础mac |
model | string | 设备模型 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/OTBR¶
/otbr/get_status¶
获取当前状态
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
OpenThreadVersionAPI | string | OpenThread API 版本 |
OTBRVersion | string | OpenThread 版本(ot-br-posix 版本) |
ThreadVersion | string | Thread 规范版本,v1.1,v1.2, v1.3 |
Network | object | Thread 网络信息 |
Network.Channel | number | Thread 网络信道, 取值范围为 11-26 |
Network.ExtPanId | string | Thread 网络扩展 PAN ID,其长度限制为 16 字节的 UTF-8 编码字符 |
Network.NetworkKey | string | Thread 网络密钥,长度为 32 字节 UTF-8 编码字符 |
Network.NetworkName | string | Thread 网络名称,长度限制为 1-16 个字符 |
Network.PanId | string | Thread 网络 PAN ID,数值范围: 0x0< PAN ID<0xFFFF |
Network.PSKc | string | Thread 网络 PSKc |
Network.Passphrase | string | Thread 网络口令,用户自定义字符串,可用于专员凭证,也可用于生成 PSKc,长度限制为 6-255 字节 UTF-8 编码字符 |
Network.MeshLocalPrefix | string | Thread 网络 Mesh 本地前缀 |
Network.OnMeshPrefix | string | Thread 网络 On-Mesh 前缀 |
Network.IPv6 | array | IPv6 地址列表 |
Network.ActiveDataset | string | 十六进制格式的网络信息 |
RCP | object | RCP 信息 |
RCP.State | number | RCP 当前状态: disabled=0 detached=1 child=2 router=3 leader=4 |
RCP.RCPVersion | string | RCP 版本信息,指的是 Thread 模块中烧录的固件所使用的 OpenThread 版本信息 |
RCP.ExtAddress | string | IEEE 802.15.4 扩展地址 |
RCP.EUI64 | string | 出厂分配的 IEEE EUI-64 |
RCP.TXPower | number | 以 dBm 为单位的发射功率 |
RCP.Rloc16 | number | Thread RLOC16 值 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/scan¶
开启 Thread 网络扫描
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
ScanList | array | 扫描列表 |
ScanList[x].Channel | number | Thread 网络所在信道 |
ScanList[x].Rssi | number | Thread 网络信号强度 |
ScanList[x].Lqi | number | Thread 网络链接质量指标 |
ScanList[x].NetworkName | string | Thread 网络名 |
ScanList[x].ExtPanId | string | Thread 网络扩展PAN ID |
ScanList[x].PanId | number | Thread 网络 PAN ID |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/get_join_status¶
获取 joiner 状态, 只有在设备工作作为 joiner 时有效
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
Credential类型 | string | Joiner 凭证类型: "networkKey类型" "pskd类型" (注意: 只有"pskd" 有效) |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
status | number | Joiner 当前状态 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/join¶
开始加入 Thread 网络
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
Credential类型 | string | Joiner Credential 类型: "networkKey类型" "pskd类型" |
NetworkKey | string | Thread 网络密钥,长度为 32 字节 UTF-8 编码字符 |
PSKd | string | Joiner 凭据是一个特定于设备的字符串,包含所有大写字母数字字符(0-9 和 A-Y,为便于阅读,不包括 I、O、Q 和 Z),长度在 6 到 32 个字符之间 |
Channel | number | Thread 网络通道,通过扫描获得;使用 networkKey 类型时,必须使用此 字段 |
PanId | number | Thread 网络 PAN ID,通过扫描获得;使用 networkKey 类型时,必须使用此 字段 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/set_config¶
设置当前 Thread 网络的配置
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
NetworkName | string | Thread 网络名称,长度限制为 1-16 个字符 |
ExtPanId | string | Thread 网络扩展 PAN ID |
PanId | number | Thread 网络 PAN ID |
Passphrase | string | Thread 网络口令,用户自定义字符串,可用于专员凭证,也可用于生成 PSKc,长度限制为 6-255 字节 UTF-8 编码字符。默认使用 "goodlife" |
NetworkKey | string | Thread 网络密钥,长度为 32 字节 UTF-8 编码字符 |
Channel | number | Thread 网络信道,数值范围为 11-26 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/stop¶
禁用 Thread 网络
-
请求方法: POST
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/start¶
启用 Thread 网络
-
请求方法: POST
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/generate_thread_network¶
生成 Thread 网络的新配置
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/set_txpower¶
设置 TX power
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
TXPower | number | Thread 网络的传输功率,范围为 -24 <= TXPower <= 20 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/set_commissioning¶
设置 commissioner 的状态
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
Enable | boolean | 是否启用 commissioner |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/add_joiner¶
添加一个新的 joiner
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
PSKd | string | Joiner 凭据是一个特定于设备的字符串,包含所有大写字母数字字符(0-9 和 A-Y,为便于阅读,不包括 I、O、Q 和 Z),长度在 6 到 32 个字符之间。 |
Timeout | number | Joiners 超时时间,单位秒。默认 120 秒 |
EUI64 | string | Joiner EUI64, 默认 *,代表全部 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/get_commissioning_status¶
获取 commissioner 的状态
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
State | number | 1: active 0: disabled |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/rejoin_all¶
重新加入所有 joiner
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
类型 | number | 1: 重新加入超时的joiner 2: 重新加入已加入过的joiner 3: 重新加入全部joiner |
Timeout | number | Joiners 超时时间,单位秒。默认 120 秒 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/get_joiner_list¶
获取 joiner 列表
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
DeviceList | array | Joiner 设备列表 |
DeviceList[x].EUI64 | string | Joiner EUI64, 默认 *,代表全部 |
DeviceList[x].Status | number | Joiner 设备状态: 0: 准备加入 1: 加入中 2: 已加入 3: 超时 |
DeviceList[x].PSKd | string | Joiner 凭证 |
DeviceList[x].Timeout | number | Joiner 加入超时时间 |
DeviceList[x].AddTime | number | 添加时的时间戳 |
DeviceList[x].JoinedTime | number | Joiner 成功获取凭证的时间戳 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/remove_joiner_list¶
将列表中的所有 joiner 移除
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
DeviceList | array | 需要被移除的 joiner 列表 |
DeviceList[x] | string | Joiner EUI64 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/export_joiner_list¶
将列表中的 joiner 导出
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
joiner_list_version | string | Joiner 设备列表版本 |
DeviceList | array | Joiner 设备列表 |
DeviceList[x].EUI64 | string | Joiner EUI64, 默认 *,代表全部 |
DeviceList[x].PSKd | string | Joiner 凭证 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/import_joiner_list¶
将列表中的 joiner 导入
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
joiner_list_version | string | Joiner 设备列表版本 |
DeviceList | arrayarray | Joiner 设备列表 |
DeviceList[x].EUI64 | string | Joiner EUI64, 默认 *,代表全部 |
DeviceList[x].PSKdDeviceList[x] | string | Joiner 凭证 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/commit_joiner_list¶
提交列表中的 joiner
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
Timeout | number | 超时时间 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/get_bbr_status¶
获取主干路由器的状态
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
State | number | 1: active 0: disabled |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/disable_bbr¶
禁用主干路由器
-
请求方法: POST
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/otbr/enable_bbr¶
启用主干路由器
-
请求方法: POST
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/eth¶
/eth/get_status¶
获取以太网的当前状态
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
status | number | 连接状态 0: 未连接 1: 已连接 2: 连接中 3: 物理网口没接 |
protocol | string | 网络模式 “dhcp” or “static” |
ipv4 | object | IPv4相关状态, 只有连接后才可获取到 |
ipv4.ip | string | ipv4 地址 |
ipv4.gateway | string | ipv4 网关 |
ipv6 | object | IPv6相关状态, 只有连接后才可获取到 |
ipv6.ip | string | ipv6 地址 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/eth/get_config¶
获取以太网配置
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
protocol | string | 网络模式 “dhcp” or “static” |
ipv4 | object | ipv4 设置,当选用static模式时才有效 |
ipv4.ip | string | 静态IPv4 地址 |
ipv4.netmask | string | 静态ipv4 掩码 |
ipv4.gateway | string | 静态ipv4 网关 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/eth/set_config¶
设置以太网配置
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
protocol | string | 网络模式 “dhcp” or “static” |
ipv4 | object | ipv4 设置,当选用static模式时才有效 |
ipv4.ip | string | 静态IPv4 地址 |
ipv4.netmask | string | 静态ipv4 掩码 |
ipv4.gateway | string | 静态ipv4 网关 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/wifi¶
/wifi/get_status¶
获取 WiFi 的当前状态
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
status | number | 连接状态 0: 闲置; 1: 连接中; 2: 已连接, 3: 连接失败 |
fail_msg | string | 连接失败的信息 |
ssid | string | 已连接或当前正在连接的ssid |
bssid | string | 已连接WiFi的bssid |
ipv4 | object | IPv4相关状态, 只有连接后才可获取到 |
ipv4.ip | string | ipv4 地址 |
ipv4.gateway | string | ipv4 网关 |
ipv6 | object | IPv6相关状态, 只有连接后才可获取到 |
ipv6.ip | string | ipv6 地址 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/wifi/stop¶
断开 WiFi
-
请求方法: POST
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/wifi/start¶
连接至 WiFi
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
enable_wifi_save | boolean | 连接 WiFi 时是否保存此配置 |
protocol | string | 网络模式 “dhcp” or “static” |
ipv4 | object | ipv4 设置,当选用static模式时才有效 |
ipv4.ip | string | 静态IPv4 地址 |
ipv4.netmask | string | 静态ipv4 掩码 |
ipv4.gateway | string | 静态ipv4 网关 |
ssid | string | wifi ssid |
pwd | string | wifi 密码 |
lock_bssid | boolean | 设备是否连接到指定的 bssid |
bssid | string | wifi bssid |
auth_mode | number | wifi 认证模式 0: open 1: WEP 2: WPA_PSK 3: WPA2_PSK 4: WPA_WPA2_PSK 5: WPA2_ENTERPRISE (Not support) 6: WPA3_PSK 7: WPA2_WPA3_PSK 8: WAPI_PSK 9: OWE |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/wifi/get_save_wifi¶
获取已保存WiFi 配置的列表,最多保存 3 个
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
list | array | wifi 已保存配置列表 |
list[x].ssid | string | wifi ssid |
list[x].bssid | string | wifi bssid |
list[x].lock_bssid | boolean | 是否锁定bssid |
list[x].auth_mode | number | wifi 认证模式 0: open 1: WEP 2: WPA_PSK 3: WPA2_PSK 4: WPA_WPA2_PSK 5: WPA2_ENTERPRISE (Not support) 6: WPA3_PSK 7: WPA2_WPA3_PSK 8: WAPI_PSK 9: OWE |
list[x].pwd | string | wifi 密码 |
list[x].protocol | string | 网络模式 “dhcp” or “static” |
list[x].ipv4 | object | 静态IPv4 配置 |
list[x].ipv4.ip | string | 静态IPv4 地址 |
list[x].ipv4.netmask | string | 静态ipv4 掩码 |
list[x].ipv4.gateway | string | 静态ipv4 网关 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/wifi/delete_save_wifi¶
删除已保存的 WiFi 配置
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
ssid | string | 需要删除哪个 wifi ssid |
auth_mode | number | 待删除 WIFI 的认证模式 0: open 1: WEP 2: WPA_PSK 3: WPA2_PSK 4: WPA_WPA2_PSK 5: WPA2_ENTERPRISE (Not support) 6: WPA3_PSK 7: WPA2_WPA3_PSK 8: WAPI_PSK 9: OWE |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/wifi/scan¶
扫描当前 WiFi 环境,获取 WiFi 接入点列表
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
list | array | 扫描到的wifi 列表 |
list[x].ssid | string | wifi ssid |
list[x].bssid | string | wifi bssid |
list[x].auth_mode | number | wifi 认证模式 0: open 1: WEP 2: WPA_PSK 3: WPA2_PSK 4: WPA_WPA2_PSK 5: WPA2_ENTERPRISE (Not support) 6: WPA3_PSK 7: WPA2_WPA3_PSK 8: WAPI_PSK 9: OWE |
list[x].rssi | number | 信号强度 RSSI |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/wifi/set_reconn_to_saved_wifi¶
设置是否启用自动切换到已保存的 WiFi配置状态(当前 WiFi 无法连接时)
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
enable | boolean | 是否开启 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/wifi/get_reconn_to_saved_wifi¶
获取是否启用自动切换到已保存的 WiFi配置状态(当前 WiFi 无法连接时)
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
enable | boolean | 是否开启 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/wan_failover¶
/wan_failover/get_config¶
获取当前 WAN 故障转移配置
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
eth | object | 以太网故障切换配置 |
eth.enable | boolean | 是否启用以太网检查 |
eth.check_interval | number | 以太网检查间隔,单位为分钟 |
eth.check_success_time | number | 以太网变更为可获取状态条件: 所设置IP集所有累计ping通次数 |
eth.check_fail_time | number | 以太网变更为可无效状态条件: 所设置IP集单条ping不通次数 |
eth.check_ipv4 | array | 以太网IPv4测试地址列表, 最多三个 |
eth.check_ipv4[x] | string | 以太网IPv4测试地址 |
eth.check_ipv6 | array | 以太网IPv6测试地址列表, 最多三个 |
eth.check_ipv6[x] | string | 以太网IPv6测试地址 |
wifi | object | WiFi故障切换配置 |
wifi.enable | boolean | 是否启用WiFi检查 |
wifi.check_interval | number | WiFi检查间隔,单位为分钟 |
wifi.check_success_time | number | WiFi变更为可获取状态条件: 所设置IP集所有累计ping通次数 |
wifi.check_fail_time | number | WiFi变更为可无效状态条件: 所设置IP集单条ping不通次数 |
wifi.check_ipv4 | array | WiFi IPv4测试地址列表, 最多三个 |
wifi.check_ipv4[x] | string | WiFi IPv4测试地址 |
wifi.check_ipv6 | array | WiFi IPv6测试地址列表, 最多三个 |
wifi.check_ipv6[x] | string | WiFi IPv6测试地址 |
priority | object | 优先级配置 |
priority.eth | number | 以太网优先级,数字越小,优先级越高 |
priority.wifi | number | WiFi优先级,数字越小,优先级越高 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/wan_failover/set_config¶
设置当前 WAN 故障转移配置
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
eth | object | 以太网故障切换配置 |
eth.enable | boolean | 是否启用以太网检查 |
eth.check_ipv4 | array | 以太网IPv4测试地址列表, 最多三个 |
eth.check_ipv4[x] | string | 以太网IPv4测试地址 |
eth.check_ipv6 | array | 以太网IPv6测试地址列表, 最多三个 |
eth.check_ipv6[x] | string | 以太网IPv6测试地址 |
wifi | object | WiFi故障切换配置 |
wifi.enable | boolean | 是否启用WiFi检查 |
wifi.check_ipv4 | array | WiFi IPv4测试地址列表, 最多三个 |
wifi.check_ipv4[x] | string | WiFi IPv4测试地址 |
wifi.check_ipv6 | array | WiFi IPv6测试地址列表, 最多三个 |
wifi.check_ipv6[x] | string | WiFi IPv6测试地址 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys¶
/sys/get_info¶
获取系统特殊状态信息
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
wan_status | number | 0: 无网络 1: 有 IP 但没有网络(仅在启用故障转移时) 2: 网络可用 |
thread_nwk_status | number | 0: Thread 网络未启用 1: Thread 网络已启用 |
thread_commissioner_status | number | 0: 关闭 commissioner 1: 启用 commissioner |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys/get_status¶
获取系统状态信息
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
memory_total | number | 系统内存总量,以字节为单位 |
memory_free | number | 系统可用内存,以字节为单位 |
ble_mac | string | Ble mac |
wifi_mac | string | Wifi mac |
eth_mac | string | Eth mac |
model | string | 设备型号 |
sn | string | 设备 sn |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys/get_time_config¶
获取与时间相关的配置,包括 SNTP 服务器和时区设置
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
sntp | string | SNTP 服务地址 |
timezone | number | 时区, 范围从 -12 到 14 (从UTC-12 到 UTC+14) |
localtime | number | 当前时区时间戳 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys/set_time_config¶
设置与时间相关的配置,包括 SNTP 服务器和时区设置
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
sntp | string | SNTP 服务地址 |
timezone | string | 时区 "UTC-12" "UTC-11" "UTC-10" "UTC-9" "UTC-8" "UTC-7" "UTC-6" "UTC-5" "UTC-4" "UTC-3" "UTC-2" "UTC-1" "UTC+0" "UTC+1" "UTC+2" "UTC+3" "UTC+4" "UTC+5" "UTC+6" "UTC+7" "UTC+8" "UTC+9" "UTC+10" "UTC+11" "UTC+12" "UTC+13" "UTC+14" |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys/check_current_firmware¶
获取当前固件信息
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
current_firmware_类型 | string | 当前固件类型 |
current_firmware_version | string | 当前固件版本 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys/check_online_firmware¶
获取在线服务器的最新固件信息
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
online_firmware_list | array | 服务器上的固件列表 |
online_firmware_list[x].类型 | string | 固件类型 |
online_firmware_list[x].version | string | 固件版本 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys/upgrade_online_firmware¶
通过在线服务器升级固件
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
official | object | 官方固件。如果要使该对象有效,请勿携带自定义对象。 |
official.类型 | string | 固件类型 |
official.version | string | 固件版本 |
official.save_config | boolean | 升级后是否保留配置 |
custom | object | 自定义固件。如果要使该对象有效,请勿携带官方对象。 |
custom.url | string | 固件下载网址 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys/check_upgrade_status¶
用于在升级时,获取升级状态
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
status | number | 0: 升级成功,设备即将重启 1: 升级失败 2: 正在升级 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys/upgrade_online_certificate¶
在线升级证书
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
url | string | 证书下载网址 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys/upgrade_local_certificate¶
本地升级证书
-
请求方法: POST
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys/get_log¶
获取系统log
-
请求方法: GET
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys/export_sys_config¶
导出当前系统配置
-
请求方法: POST
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
cfg_ver | number | 系统配置版本 |
ui_cfg | object | 用户 UI 界面配置 |
ui_cfg.language | string | web 语言;支持 "zh-cn" "en" |
sntp_cfg | object | SNTP 配置 |
sntp_cfg.sntp_srv | string | SNTP 服务地址 |
sntp_cfg.time_zone | string | 时区 "UTC-12" "UTC-11" "UTC-10" "UTC-9" "UTC-8" "UTC-7" "UTC-6" "UTC-5" "UTC-4" "UTC-3" "UTC-2" "UTC-1" "UTC+0" "UTC+1" "UTC+2" "UTC+3" "UTC+4" "UTC+5" "UTC+6" "UTC+7" "UTC+8" "UTC+9" "UTC+10" "UTC+11" "UTC+12" "UTC+13" "UTC+14" |
otbr_cfg | object | OTBR 配置 |
otbr_cfg.nwk_on_off | number | 是否启用 Thread 网络 |
otbr_cfg.txpower | number | Thread 网络的传输功率,范围为 -24 <= TXPower <= 20 |
otbr_cfg.passphrase | string | Thread 网络口令,用户自定义字符串,可用于专员凭证,也可用于生成 PSKc,长度限制为 6-255 字节 UTF-8 编码字符 |
otbr_cfg.bbr_on_off | number | 是否启用 Thread bbr |
otbr_cfg.channel | number | Thread 网络信道,数值范围为 11-26 |
otbr_cfg.pan_id | number | Thread 网络 PAN ID,数值范围: 0x0< PAN ID<0xFFFF |
otbr_cfg.nwk_key | string | Thread 网络密钥,长度为 32 字节 UTF-8 编码字符 |
otbr_cfg.ext_pan_id | string | Thread 网络扩展 PAN ID,其长度限制为 16 字节的 UTF-8 编码字符 |
otbr_cfg.nwk_name | string | Thread 网络名称,长度限制为 1-16 个字符 |
wifi_cfg | object | WIFI 配置 |
wifi_cfg.wifi_on_off | number | 是否开启WiFi连接 |
wifi_cfg.ssid | string | wifi ssid |
wifi_cfg.password | string | wifi 密码 |
wifi_cfg.lock_bssid | boolean | 设备是否连接到指定的 bssid |
wifi_cfg.bssid | string | wifi bssid |
wifi_cfg.authmode | number | wifi 认证模式 0: open 1: WEP 2: WPA_PSK 3: WPA2_PSK 4: WPA_WPA2_PSK 5: WPA2_ENTERPRISE (Not support) 6: WPA3_PSK 7: WPA2_WPA3_PSK 8: WAPI_PSK 9: OWE |
eth_failover_cfg | object | 以太网故障切换配置 |
eth_failover_cfg.check | boolean | 是否启用以太网检查 |
eth_failover_cfg.priority | number | 以太网优先级,数字越小,优先级越高 |
eth_failover_cfg.check_interval | number | 以太网检查间隔,单位为分钟 |
eth_failover_cfg.check_success_time | number | 以太网变更为可获取状态条件: 所设置IP集所有累计ping通次数 |
eth_failover_cfg.check_fail_time | number | 以太网变更为可无效状态条件: 所设置IP集单条ping不通次数 |
eth_failover_cfg.check_ipv4 | array | 以太网IPv4测试地址列表, 最多三个 |
eth_failover_cfg.check_ipv4[x] | string | 以太网IPv4测试地址 |
eth_failover_cfg.check_ipv6 | array | 以太网IPv6测试地址列表, 最多三个 |
eth_failover_cfg.check_ipv6[x] | string | 以太网IPv6测试地址 |
wifi_failover_cfg | object | WiFi故障切换配置 |
wifi_failover_cfg.check | boolean | 是否启用WiFi检查 |
wifi_failover_cfg.priority | number | WiFi优先级,数字越小,优先级越高 |
wifi_failover_cfg.check_interval | number | WiFi检查间隔,单位为分钟 |
wifi_failover_cfg.check_success_time | number | WiFi变更为可获取状态条件: 所设置IP集所有累计ping通次数 |
wifi_failover_cfg.check_fail_time | number | WiFi变更为可无效状态条件: 所设置IP集单条ping不通次数 |
wifi_failover_cfg.check_ipv4 | array | WiFi IPv4测试地址列表, 最多三个 |
wifi_failover_cfg.check_ipv4[x] | string | WiFi IPv4测试地址 |
wifi_failover_cfg.check_ipv6 | array | WiFi IPv6测试地址列表, 最多三个 |
wifi_failover_cfg.check_ipv6[x] | string | WiFi IPv6测试地址 |
eth_dhcp_cfg | object | ETH dhcp 配置 |
eth_dhcp_cfg.enable | boolean | 是否开启 ETH dhcp |
eth_dhcp_cfg.static_ipv4 | object | ETH ipv4 设置,当选用static模式时才有效 |
eth_dhcp_cfg.static_ipv4.ip | string | 静态IPv4 地址 |
eth_dhcp_cfg.static_ipv4.netmask | string | 静态ipv4 掩码 |
eth_dhcp_cfg.static_ipv4.gateway | string | 静态ipv4 网关 |
wifi_dhcp_cfg | object | WIFI dhcp 配置 |
wifi_dhcp_cfg.enable | boolean | 是否开启 WiFi dhcp |
wifi_dhcp_cfg.static_ipv4 | object | WIFI ipv4 设置,当选用static模式时才有效 |
wifi_dhcp_cfg.static_ipv4.ip | string | 静态IPv4 地址 |
wifi_dhcp_cfg.static_ipv4.netmask | string | 静态ipv4 掩码 |
wifi_dhcp_cfg.static_ipv4.gateway | string | 静态ipv4 网关 |
wifi_saved | object | WIFI 已保存配置 |
wifi_saved.list | array | WIFI 已保存配置列表 |
wifi_saved.list[x].ssid | string | WIFI ssid |
wifi_saved.list[x].lock_bssid | boolean | 是否锁定bssid |
wifi_saved.list[x].bssid | string | WIFI bssid |
wifi_saved.list[x].auth_mode | number | wifi 认证模式 0: open 1: WEP 2: WPA_PSK 3: WPA2_PSK 4: WPA_WPA2_PSK 5: WPA2_ENTERPRISE (Not support) 6: WPA3_PSK 7: WPA2_WPA3_PSK 8: WAPI_PSK 9: OWE |
wifi_saved.list[x].pwd | string | WIFI 密码 |
wifi_saved.list[x].dhcp | boolean | 是否开启 WIFI dhcp |
wifi_saved.list[x].ipv4 | object | WIFI ipv4 设置,当选用static模式时才有效 |
wifi_saved.list[x].ipv4.ip | string | 静态IPv4 地址 |
wifi_saved.list[x].ipv4.netmask | string | 静态ipv4 掩码 |
wifi_saved.list[x].ipv4.gateway | string | 静态ipv4 网关 |
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys/import_sys_config¶
导入当前系统配置
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
cfg_ver | number | 系统配置版本 |
ui_cfg | object | 用户 UI 界面配置 |
ui_cfg.language | string | web 语言;支持 "zh-cn" "en" |
sntp_cfg | object | SNTP 配置 |
sntp_cfg.sntp_srv | string | SNTP 服务地址 |
sntp_cfg.time_zone | string | 时区 "UTC-12" "UTC-11" "UTC-10" "UTC-9" "UTC-8" "UTC-7" "UTC-6" "UTC-5" "UTC-4" "UTC-3" "UTC-2" "UTC-1" "UTC+0" "UTC+1" "UTC+2" "UTC+3" "UTC+4" "UTC+5" "UTC+6" "UTC+7" "UTC+8" "UTC+9" "UTC+10" "UTC+11" "UTC+12" "UTC+13" "UTC+14" |
otbr_cfg | object | OTBR 配置 |
otbr_cfg.nwk_on_off | number | 是否启用 Thread 网络 |
otbr_cfg.txpower | number | Thread 网络的传输功率,范围为 -24 <= TXPower <= 20 |
otbr_cfg.passphrase | string | Thread 网络口令,用户自定义字符串,可用于专员凭证,也可用于生成 PSKc,长度限制为 6-255 字节 UTF-8 编码字符 |
otbr_cfg.bbr_on_off | number | 是否启用 Thread bbr |
otbr_cfg.channel | number | Thread 网络信道,数值范围为 11-26 |
otbr_cfg.pan_id | number | Thread 网络 PAN ID,数值范围: 0x0< PAN ID<0xFFFF |
otbr_cfg.nwk_key | string | Thread 网络密钥,长度为 32 字节 UTF-8 编码字符 |
otbr_cfg.ext_pan_id | string | Thread 网络扩展 PAN ID,其长度限制为 16 字节的 UTF-8 编码字符 |
otbr_cfg.nwk_name | string | Thread 网络名称,长度限制为 1-16 个字符 |
wifi_cfg | object | WIFI 配置 |
wifi_cfg.wifi_on_off | number | 是否开启WiFi连接 |
wifi_cfg.ssid | string | wifi ssid |
wifi_cfg.password | string | wifi 密码 |
wifi_cfg.lock_bssid | boolean | 设备是否连接到指定的 bssid |
wifi_cfg.bssid | string | wifi bssid |
wifi_cfg.authmode | number | wifi 认证模式 0: open 1: WEP 2: WPA_PSK 3: WPA2_PSK 4: WPA_WPA2_PSK 5: WPA2_ENTERPRISE (Not support) 6: WPA3_PSK 7: WPA2_WPA3_PSK 8: WAPI_PSK 9: OWE |
eth_failover_cfg | object | 以太网故障切换配置 |
eth_failover_cfg.check | boolean | 是否启用以太网检查 |
eth_failover_cfg.priority | number | 以太网优先级,数字越小,优先级越高 |
eth_failover_cfg.check_interval | number | 以太网检查间隔,单位为分钟 |
eth_failover_cfg.check_success_time | number | 以太网变更为可获取状态条件: 所设置IP集所有累计ping通次数 |
eth_failover_cfg.check_fail_time | number | 以太网变更为可无效状态条件: 所设置IP集单条ping不通次数 |
eth_failover_cfg.check_ipv4 | array | 以太网IPv4测试地址列表, 最多三个 |
eth_failover_cfg.check_ipv4[x] | string | 以太网IPv4测试地址 |
eth_failover_cfg.check_ipv6 | array | 以太网IPv6测试地址列表, 最多三个 |
eth_failover_cfg.check_ipv6[x] | string | 以太网IPv6测试地址 |
wifi_failover_cfg | object | WiFi故障切换配置 |
wifi_failover_cfg.check | boolean | 是否启用WiFi检查 |
wifi_failover_cfg.priority | number | WiFi优先级,数字越小,优先级越高 |
wifi_failover_cfg.check_interval | number | WiFi检查间隔,单位为分钟 |
wifi_failover_cfg.check_success_time | number | WiFi变更为可获取状态条件: 所设置IP集所有累计ping通次数 |
wifi_failover_cfg.check_fail_time | number | WiFi变更为可无效状态条件: 所设置IP集单条ping不通次数 |
wifi_failover_cfg.check_ipv4 | array | WiFi IPv4测试地址列表, 最多三个 |
wifi_failover_cfg.check_ipv4[x] | string | WiFi IPv4测试地址 |
wifi_failover_cfg.check_ipv6 | array | WiFi IPv6测试地址列表, 最多三个 |
wifi_failover_cfg.check_ipv6[x] | string | WiFi IPv6测试地址 |
eth_dhcp_cfg | object | ETH dhcp 配置 |
eth_dhcp_cfg.enable | boolean | 是否开启 ETH dhcp |
eth_dhcp_cfg.static_ipv4 | object | ETH ipv4 设置,当选用static模式时才有效 |
eth_dhcp_cfg.static_ipv4.ip | string | 静态IPv4 地址 |
eth_dhcp_cfg.static_ipv4.netmask | string | 静态ipv4 掩码 |
eth_dhcp_cfg.static_ipv4.gateway | string | 静态ipv4 网关 |
wifi_dhcp_cfg | object | WIFI dhcp 配置 |
wifi_dhcp_cfg.enable | boolean | 是否开启 WiFi dhcp |
wifi_dhcp_cfg.static_ipv4 | object | WIFI ipv4 设置,当选用static模式时才有效 |
wifi_dhcp_cfg.static_ipv4.ip | string | 静态IPv4 地址 |
wifi_dhcp_cfg.static_ipv4.netmask | string | 静态ipv4 掩码 |
wifi_dhcp_cfg.static_ipv4.gateway | string | 静态ipv4 网关 |
wifi_saved | object | WIFI 已保存配置 |
wifi_saved.list | array | WIFI 已保存配置列表 |
wifi_saved.list[x].ssid | string | WIFI ssid |
wifi_saved.list[x].lock_bssid | boolean | 是否锁定bssid |
wifi_saved.list[x].bssid | string | WIFI bssid |
wifi_saved.list[x].auth_mode | number | wifi 认证模式 0: open 1: WEP 2: WPA_PSK 3: WPA2_PSK 4: WPA_WPA2_PSK 5: WPA2_ENTERPRISE (Not support) 6: WPA3_PSK 7: WPA2_WPA3_PSK 8: WAPI_PSK 9: OWE |
wifi_saved.list[x].pwd | string | WIFI 密码 |
wifi_saved.list[x].dhcp | boolean | 是否开启 WIFI dhcp |
wifi_saved.list[x].ipv4 | object | WIFI ipv4 设置,当选用static模式时才有效 |
wifi_saved.list[x].ipv4.ip | string | 静态IPv4 地址 |
wifi_saved.list[x].ipv4.netmask | string | 静态ipv4 掩码 |
wifi_saved.list[x].ipv4.gateway | string | 静态ipv4 网关 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys/set_admin_pwd¶
更改管理员密码
-
请求方法: POST
-
请求参数:
字段 | 类型 | 描述 |
---|---|---|
username | string | 用户名,必须为 'root' |
old_pwd | string | 旧密码 |
new_pwd | string | 新密码 |
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys/reset¶
恢复出厂设置
-
请求方法: POST
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |
/sys/restart¶
设备重启
-
请求方法: POST
-
请求参数:
无
- 响应参数:
字段 | 类型 | 描述 |
---|---|---|
code | number | 0 表示成功 |
err_msg | string | 仅在出错时存在 |