路由中继接口

更新时间:2022-11-24 09:20:27下载pdf

本文介绍了综合 SDK 的路由中继接口。

结构体定义

TUYA_ROUTER_DEV_LIST_S

typedef struct {
    CHAR_T dev_name[TY_ROUTER_DEV_NAME_MAX];
    CHAR_T mac[TY_ROUTER_MAC_STR_LEN];
    TY_WIFI_TYPE wifi_types; // 1-2.4G, 2-5G
} TUYA_ROUTER_DEV_LIST_S;

功能说明(Summary)

在线设备信息结构体。

成员说明

成员名称 说明
dev_name 设备名字
mac 设备的 MAC 地址
wifi_types Wi-Fi 类型:
  • 1 表示 2.4G。
  • 2 表示 5G。

TUYA_ROUTER_WIFI_LIST_S

typedef struct {
    CHAR_T ssid[TY_ROUTER_LOGIN_STR_MAX];
    BOOL_T b_encrypted;
    TY_WIFI_SIG_STRENGTH signal_strength; 
} TUYA_ROUTER_WIFI_LIST_S;

功能说明(Summary)

AP 列表结构体。

成员说明

成员名称 说明
ssid AP 名字
b_encrypted 是否加密
signal_strength 信号强度

TUYA_ROUTER_HOTSPOT_S

typedef struct {
    TY_WIFI_TYPE wifi_types;
    CHAR_T ssid[TY_ROUTER_LOGIN_STR_MAX];
    CHAR_T pwd[TY_ROUTER_LOGIN_STR_MAX];
} TUYA_ROUTER_HOTSPOT_S;

功能说明(Summary)

路由器本身的热点结构体。

成员说明

成员名称 说明
wifi_types Wi-Fi 类型:
  • 1 表示 2.4G。
  • 2 表示 5G。
ssid 热点名字
pwd 热点密码

TUYA_ROUTER_STA_CONF_S

typedef struct {
    BOOL_T allow;        // allow network
    BOOL_T limit;        // the speed limit
    UINT_T up_limit;     // the max limit of upload speed
    UINT_T down_limit;   // the max limt of download speed
} TUYA_ROUTER_STA_CONF_S;

功能说明(Summary)

路由器本身的热点结构体。

成员说明

成员名称 说明
allow 是否开启网络
limit 限速大小
up_limit 最大上传速度
down_limit 最大下载速度

BRAND_CONN_SETTING_INFO

typedef struct {
    BRAND_CONN_TYPE_T brand_conn_type; // brand type
    PPPOE_INFO_T pppoe_info;           // PPPOE
    STATIC_IP_T  static_ip_info;       // static ip 
    WIFI_INFO_T wifi_info;             // WiFi
} BRAND_CONN_SETTING_INFO;

功能说明(Summary)

路由器本身的热点结构体。

成员说明

成员名称 说明
brand_conn_type 带宽类型定义如下:
BRAND_CONN_TYPE_PPPOE pppoe
BRAND_CONN_TYPE_DHCP dhcp
BRAND_CONN_TYPE_STATIC_IP static IP
BRAND_CONN_TYPE_WIRED_REPEATER wired repeater
BRAND_CONN_TYPE_WIFI_REPEATER WIFI repeater
pppoe_info 详见 PPPOE_INFO_T
static_ip_info 详见 STATIC_IP_T
wifi_info 详见 WIFI_INFO_T

PPPOE_INFO_T

typedef struct {
    CHAR_T account[WIFI_SSID_LEN + 1];
    CHAR_T pwd[WIFI_PASSWD_LEN + 1];
} PPPOE_INFO_T;

功能说明(Summary)

拨号账号结构体。

成员说明

成员名称 说明
account 账号名称
pwd 账号密码

WIFI_INFO_T

typedef struct {
    CHAR_T ap_ssid[WIFI_SSID_LEN+1]; // ap ssid info
    CHAR_T ap_passwd[WIFI_PASSWD_LEN+1]; // ap passwd info
} WIFI_INFO_T;

功能说明(Summary)

wifi 信息结构体。

成员说明

成员名称 说明
ap_ssid 设备名字
ap_passwd 设备的 MAC 地址

STATIC_IP_T

typedef struct {
    char ip[16];    /* ip addr:  xxx.xxx.xxx.xxx  */
    char mask[16];  /* net mask: xxx.xxx.xxx.xxx  */
    char gw[16];    /* gateway:  xxx.xxx.xxx.xxx  */
    char primary_dns[16];
    char secondary_dns[16];;
} STATIC_IP_T;

功能说明(Summary)

静态 ip 配置结构体。

成员说明

成员名称 说明
ip IP 地址
mask 子网掩码
gw 网关地址
primary_dns DNS 服务地址 1
secondary_dns DNS 服务地址 2

TUYA_ROUTER_CBS_S

typedef struct {
    TY_ROUTER_CMD_HANDLE_CB cmd_handle_cb;                   // cmd handler
    TY_ROUTER_GET_SOURCE_CB get_source_cb;                   // get ssid & passwod info connected hotspot source.
    TY_ROUTER_SET_SOURCE_CB set_source_cb;                   // to connect hostpot source
    TY_ROUTER_GET_HOTSPOT_CB get_hotspot_cb;                 // get hotspot of own router/repeater
    TY_ROUTER_SET_HOTSPOT_CB set_hotspot_cb;                 // setting hotspot of own router/repeater
    TY_ROUTER_QUERY_PWD_CB   router_query_pwd_cb;             // query WIFI passowrd
    TY_ROUTER_SET_PWD_CB     router_set_pwd_cb;               // set WIFI password

    TY_ROUTER_GET_CONN_TYPE_CB router_get_brand_conn_type_cb; // get connection type callback
    TY_ROUTER_SET_CONN_TYPE_CB router_set_brand_conn_type_cb; // set connection type callback
} TUYA_ROUTER_CBS_S;

功能说明(Summary)

回调函数结构体。

成员说明

成员名称 说明
cmd_handle_cb 详见 cmd_handle_cb
get_source_cb 详见 get_source_cb
set_source_cb 详见 set_source_cb
get_hotspot_cb 详见 get_hotspot_cb
set_hotspot_cb 详见 set_hotspot_cb
router_query_pwd_cb 详见 router_query_pwd_cb
router_set_pwd_cb 详见 router_set_pwd_cb
router_get_brand_conn_type_cb 详见 router_get_brand_conn_type_cb
router_set_brand_conn_type_cb 详见 router_set_brand_conn_type_cb

TUYA_ROUTER_STA_CBS_S

typedef struct {
    TY_ROUTER_STA_CMD_CB     sta_cmd_cb; // station control cmd handler
} TUYA_ROUTER_STA_CBS_S;

功能说明(Summary)

station 回调函数结构体。

成员说明

成员名称 说明
sta_cmd_cb 详见 sta_cmd_cb

接口说明

tuya_router_svc_init

OPERATE_RET tuya_router_svc_init(IN CONST TUYA_ROUTER_CBS_S *p_route_cbs,
IN CONST TUYA_ROUTER_STA_CBS_S *p_sta_cbs);

功能说明

路由服务初始化接口函数,用户需要注册回调。

参数说明

参数名称 说明
p_route_cbs 路由业务命令、查询/设置等回调结构体指针。详见 TUYA_ROUTER_CBS_S
p_sta_cbs sta 控制命令回调结构体指针。详见 TUYA_ROUTER_STA_CBS_S

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_router_rept_online_list

OPERATE_RET tuya_router_rept_online_list(IN CONST USHORT_T dev_count, 
IN CONST TUYA_ROUTER_DEV_LIST_S *p_list);

功能说明

上报路由器下,在线设备列表。

参数说明

参数名称 说明
dev_count 在线设备个数
p_list 在线设备信息结构体指针

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_router_rept_wifi_list

OPERATE_RET tuya_router_rept_wifi_list(IN CONST USHORT_T dev_count, 
IN CONST TUYA_ROUTER_WIFI_LIST_S *p_list);

功能说明

上报可获得的 AP 列表信息。

参数说明

参数名称 说明
dev_count AP 个数
p_list AP 列表。详见 TUYA_ROUTER_WIFI_LIST_S

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_router_rept_source

OPERATE_RET tuya_router_rept_source(IN CONST CHAR_T *ssid, IN CONST CHAR_T *pwd);

功能说明

上报连接的上一级路由器 ssid 以及 password 信息。

参数说明

参数名称 说明
ssid 名称
pwd 密码

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_router_rept_hotspot

OPERATE_RET tuya_router_rept_hotspot(IN CONST TUYA_ROUTER_HOTSPOT_S *p_hotspot, IN CONST USHORT_T num);

功能说明

上报路由器本身的热点信息。

参数说明

参数名称 说明
p_hotspot 路由器自身热点信息。详见 TUYA_ROUTER_HOTSPOT_S
num 热点信息结构体个数

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_router_rept_sta_allow_net

OPERATE_RET tuya_router_rept_sta_allow_net(IN CONST CHAR_T *mac, 
IN CONST BOOL_T allow, 
IN CONST UINT_T sta_dpid);

功能说明

设置特定的设备允许联网。

参数说明

参数名称 说明
mac 路由器下设备 MAC 地址
allow
  • TRUE: 允许联网
  • FALSE:不允许联网
sta_dpid 路由器 station DP ID。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_router_rept_sta_limit

OPERATE_RET tuya_router_rept_sta_limit(IN CONST CHAR_T *mac, 
IN CONST BOOL_T limit, 
IN CONST UINT_T sta_dpid);

功能说明

设置特定的设备流控限制。

参数说明

参数名称 说明
mac 路由器下特定的设备 MAC 地址
limit 是否允许流控
sta_dpid 路由器 station DP ID。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_router_rept_sta_up_limit

OPERATE_RET tuya_router_rept_sta_up_limit(IN CONST CHAR_T *mac, 
IN CONST UINT_T speed, 
IN CONST UINT_T sta_dpid);

功能说明

设置特定的设备上传速率。

参数说明

参数名称 说明
mac 路由器下特定的设备 MAC 地址
speed 设备上传限制的最大速率,单位为 kbps
sta_dpid 路由器 station DP ID。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_router_rept_sta_down_limit

OPERATE_RET tuya_router_rept_sta_down_limit(IN CONST CHAR_T *mac, 
IN CONST UINT_T speed, 
IN CONST UINT_T sta_dpid);

功能说明

设置特定设备的下载速率。

参数说明

参数名称 说明
mac 路由器下特定的设备 MAC 地址
speed 设备上传限制的最大速率,单位 kbps
sta_dpid 路由器 station DP ID。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_router_rept_sta_all

OPERATE_RET tuya_router_rept_sta_all(IN CONST CHAR_T *mac, 
IN CONST TUYA_ROUTER_STA_CONF_S *config, 
IN CONST UINT_T sta_dpid);

功能说明

上报特定设备的设置信息。

参数说明

参数名称 说明
mac 路由器下特定的设备 MAC 地址
config 是否允许流控
sta_dpid 路由器 station DP ID。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_router_sta_data_parse

OPERATE_RET tuya_router_sta_data_parse(IN CONST CHAR_T *data);

功能说明

解析路由器 station DP ID OBJ 数据

参数说明

参数名称 说明
data 解析路由器 station DP ID OBJ 数据

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_router_rept_pwd

OPERATE_RET tuya_router_rept_pwd(IN CONST TUYA_ROUTER_PWD_E type, IN CONST CHAR_T *pwd);

功能说明

上报路由器热点密码

参数说明

参数名称 说明
type 路由器下特定的设备 MAC 地址
pwd 是否允许流控

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_router_brand_conn_type_resp

OPERATE_RET tuya_router_brand_conn_type_resp(CHAR_T error_code, 
CONST CHAR_T *data[], 
UCHAR_T data_num);

功能说明

上报特定设备的设置信息。

参数说明

参数名称 说明
error_code 错误码。0 代表成功,1 代表失败。其他暂时保留。
data 宽带连接方式。当前支持{“PPPOE”,“DHCP”,“STATIC_IP”,“WIRED_REPEAT”, “WIFI_REPEAT”}
data_num data 长度

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_router_brand_conn_setting_resp

OPERATE_RET tuya_router_brand_conn_setting_resp(CHAR_T error_code);

功能说明

宽带设置后,上报操作结果。

参数说明

参数名称 说明
error_code 错误码。0 代表成功,1 代表失败。其他暂时保留。

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

tuya_router_set_ext_net_stat

VOID tuya_router_set_ext_net_stat(BOOL_T on);

功能说明

设置路由器连接外网状态。

参数说明

参数名称 说明
on TRUE:表示已可以连接外网,FALSE:表示未连接外外网

返回值

返回值 说明
OPRT_OK 操作成功
错误码 错误码定义参考头文件 tuya_error_code.h

回调接口

cmd_handle_cb

VOID cmd_handle_cb(IN CONST TY_ROUTER_CMD_E cmd);

功能说明

开发者注册的命令处理回调接口。

参数说明

参数名称 说明
cmd 命令类型,详细定义如下:
  • TY_ROUTER_CMD_GET_ONLINE_LIST 获取在线设备列表
  • TY_ROUTER_CMD_GET_BLACK_LIST 获取黑名单设备列表
  • TY_ROUTER_CMD_GET_WIFI_LIST 获取有效的 AP 列表

返回值

返回值 说明
VOID /

get_source_cb

VOID get_source_cb(VOID);

功能说明

开发者注册回调,通知应用获取路由器自身的热点信息,并且调用 tuya_router_rept_source 接口上报。

参数说明

参数名称 说明
void /

返回值

返回值 说明
VOID /

get_hotspot_cb

VOID get_hotspot_cb(VOID);

功能说明

开发者注册的回调,通知应用获取设备连接的上一级路由器的热点信息,并且调用 tuya_router_rept_hotspot 接口上报。

参数说明

参数名称 说明
void /

返回值

返回值 说明
VOID /

set_source_cb

VOID set_source_cb(IN CONST CHAR_T *ssid, IN CONST CHAR_T *pwd)

功能说明

开发者注册的回调,用于设置路由器自身的热点信息。

参数说明

参数名称 说明
ssid 连接上一级热点的 ssid
pwd 连接上一级热点的 password

返回值

返回值 说明
VOID /

set_hotspot_cb

VOID set_hotspot_cb(IN CONST TUYA_ROUTER_HOTSPOT_S *p_hotspot, IN CONST USHORT_T num)

功能说明

开发者注册的回调,用于设置设备要连接的上一级路由器的热点信息,并连接上一级路由器。

参数说明

参数名称 说明
p_hotspot 热点信息
num p_hotspot 结构体格式

返回值

返回值 说明
VOID /

router_query_pwd_cb

VOID router_query_pwd_cb(IN CONST TUYA_ROUTER_PWD_E type)

功能说明

开发者注册的回调,用于查询路由器热点密码。

参数说明

参数名称 说明
type 查询热点类型,定义如下:
TY_ROUTE_PWD_2_4G 表示为 2.4g
TY_ROUTE_PWD_5G 表示为 5g

返回值

返回值 说明
VOID /

router_set_pwd_cb

VOID router_set_pwd_cb(IN CONST TUYA_ROUTER_PWD_E type, IN CONST CHAR_T *pwd)

功能说明

开发者注册的回调,用于设置路由器热点密码。

参数说明

参数名称 说明
type 热点类型
pwd 热点密码

返回值

返回值 说明
VOID /

router_get_brand_conn_type_cb

VOID router_get_brand_conn_type_cb(VOID)

功能说明

开发者注册 TUYA_ROUTER_CBS_S 的 router_get_brand_conn_type_cb。用于查询路由器支持的宽带链接类型,在收到回调中用户需要调用 tuya_router_brand_conn_type_resp

参数说明

参数名称 说明
VOID /

返回值

返回值 说明
VOID /

router_set_brand_conn_type_cb

VOID router_set_brand_conn_type_cb(IN CONST BRAND_CONN_SETTING_INFO *set)

功能说明

开发者注册的回调。用于设置路由器宽带链接方式,在收到回调中用户需要调用 tuya_router_brand_conn_setting_resp ,回复与否设置成功。

参数说明

参数名称 说明
VOID /

返回值

返回值 说明
VOID /

sta_cmd_cb

VOID sta_cmd_cb(IN CONST TY_ROUTER_STA_CMD_E cmd,
				IN CONST CHAR_T *mac,
                IN CONST UINT_T value)

功能说明

开发者注册的回调。

参数说明

参数名称 说明
cmd 设置 station 命令类型,定义如下:
TY_STA_CMD_ALLOW_NET station whether allowed network
TY_STA_CMD_SPEED_LIMIT station whether speed limt
TY_STA_CMD_UP_LIMIT the limit of upload speed
TY_STA_CMD_DOWN_LIMIT the limit of download speed
TY_STA_CMD_GET_ALL_CONFIG get all config
mac station 的 MAC 地址
value 设置的数值。比如命令为 TY_STA_CMD_DOWN_LIMIT,则该数值为最大下载速率

返回值

返回值 说明
VOID /