更新时间:2024-11-20 08:51:29下载pdf
本文介绍了综合 SDK 的无感配网接口。
typedef struct {
TY_PEGASUS_EVENT_CB event_cb;
TY_PEGASUS_SEND_FRAME_CB send_frame_cb;
TY_PEGASUS_GET_SSID_PWD_CB get_ssid_pwd_cb;
TY_PEGASUS_GET_MAC_CB get_mac_cb;
TY_PEGASUS_SET_OUI_CB set_oui_cb;
} TUYA_PEGASUS_CBS_S;
功能说明(Summary)
无感配网回调注册。
成员说明
成员名称 | 说明 |
---|---|
event_cb | 详见 TY_PEGASUS_EVENT_CB |
send_frame_cb | 详见 TY_PEGASUS_SEND_FRAME_CB |
get_ssid_pwd_cb | 详见 TY_PEGASUS_GET_SSID_PWD_CB |
get_mac_cb | 详见 TY_PEGASUS_GET_MAC_CB |
set_oui_cb | 详见 TY_PEGASUS_SET_OUI_CB |
OPERATE_RET tuya_thing_config_init(CONST CHAR_T *ifname, CONST TY_THING_CONFIG_GET_INFO_CB cb);
功能说明
一键配网初始化函数。
参数说明
参数名称 | 说明 |
---|---|
ifname | 网络接口。在什么网络接口上发送一键配网数据包。比如:“eth0” |
cb | 注册回调。在回调函数中,用户需输入无线路由器 ssid 以及 password。 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_thing_config_start(UINT_T timeout);
功能说明
开启一键配网功能。
参数说明
参数名称 | 说明 |
---|---|
timeout | 一键配网超时时间,单位为秒。 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_thing_config_stop(VOID);
功能说明
关闭一键配网功能。
参数说明
参数名称 | 说明 |
---|---|
VOID | / |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_pegasus_svc_init(TUYA_PEGASUS_CBS_S *p_cbs, UINT_T probe_intr_ms);
功能说明
无感配网服务初始化函数,注册所需回调。
参数说明
参数名称 | 说明 |
---|---|
p_cbs | 无感配网回调结构体指针 |
get_probe_intr_ms | 轮询 Probe 帧的间隔 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
VOID (*TY_PEGASUS_EVENT_CB)(IN CONST TY_PEGASUS_EVENT_E event);
功能说明
开发者注册 回调函数。无感配网相关事件上报,比如上报待配网设备的Probe Request。
该接口内容由用户实现。
在 event 为 TY_PEGASUS_GET_PROBE_START 状态时,上报待配网设备发送的带有涂鸦 OUI 的 Probe Request 帧,在上报时,应注意以下几点:
待配网设备会每间隔 250ms(每次连续发送 5 帧)发送配网请求,5s 超时
路由器接收到的待配网设备发送的数据帧存在内容相同的情况,相同帧没必要上报,可以过滤掉,建议使用 crc 等校验方式,记录前后帧 crc 值,只要值不一样就上报。
路由器在处理待配网设备的数据帧的时候,还是比较耗性能的,建议上报做成异步的方式,平时处于阻塞状态,只有在 TY_PEGASUS_GET_PROBE_START 状态,且接收到需要上报的数据帧的时候,才去上报,数据帧的提取参照第一点,避免出现找不到而出现配网失败的情况。
参数说明
参数名称 | 说明 |
---|---|
event | TY_PEGASUS_START,开启无感配网 TY_PEGASUS_STOP,停止无感配网 TY_PEGASUS_GET_PROBE_START,上报Probe帧 TY_PEGASUS_EVENT_INVALD 无效事件 |
返回值
返回值 | 说明 |
---|---|
VOID | / |
OPERATE_RET (*TY_PEGASUS_SEND_FRAME_CB)(IN CONST TY_FRAME_TYPE_E type,
IN CONST UINT8_T *vsie,
IN CONST UINT_T vsie_len,
IN NW_MAC_S *srcmac,
IN NW_MAC_S *dstmac);
功能说明
开发者注册回调函数。发送 Probe Response 帧、Beacon 帧。
该接口内容由用户实现。路由器在发送 Probe Response 帧、Beacon 帧时,用户只需将数据分别进行转发和广播,无需关心具体数据格式。
参数说明
参数名称 | 说明 |
---|---|
type | frame 类型,TY_FRAME_TYPE_E 定义如下: TY_FRAME_TP_BEACON TY_FRAME_TP_PROBE_REQ TY_FRAME_TP_PROBE_RESP |
vsie | vsie 内存地址 |
vsie_len | vsie 长度 |
srcmac | 路由器 MAC 地址 |
dstmac | 待配网设备 MAC 地址 |
返回值
返回值 | 说明 |
---|---|
VOID |
OPERATE_RET (*TY_PEGASUS_GET_SSID_PWD_CB)(OUT UINT8_T *ssid,
IN INT_T slen,
OUT UINT8_T *pwd,
IN INT_T plen);
功能说明
开发者注册回调函数。获取 2.4G Wi-Fi 的 SSID 和 passwd。
参数说明
参数名称 | 说明 |
---|---|
ssid | 路由器 AP 的 SSID |
slen | SSID 的长度 |
pwd | 路由器 AP 的 密码 |
plen | 密码的长度 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
OPERATE_RET (*TY_PEGASUS_GET_MAC_CB)(OUT NW_MAC_S *mac);
功能说明
开发者注册回调函数。获取 AP 的 MAC 地址。
参数说明
参数名称 | 说明 |
---|---|
mac | 路由器 MAC 地址 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET (*TY_PEGASUS_SET_OUI_CB)(IN BYTE_T *oui, IN BYTE_T oui_len);
功能说明
开发者注册的回调函数,用于设置涂鸦 OUI。
该接口内容由 SDK 使用者实现。
路由器无感配网只处理带有涂鸦 OUI 的 Probe 帧,涂鸦 OUI 为 0x68,0x57,0x2d。
参数说明
参数名称 | 说明 |
---|---|
oui | 涂鸦 OUI |
oui_len | OUI 长度 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈