更新时间:2024-11-20 08:51:29下载pdf
本文介绍了综合 SDK 的 Zigbee 业务接口。
typedef struct {
CHAR_T *manu_name;
CHAR_T *model_id;
} TY_Z3_DEV_S;
功能说明(Summary)
产品信息结构体。
成员说明
参数名称 | 说明 |
---|---|
manu_name | 设备的厂商名称 |
model_id | 设备的型号 |
typedef struct {
TY_Z3_DEV_S *devs;
UINT16_T dev_num;
} TY_Z3_DEVLIST_S;
功能说明(Summary)
白名单设备列表结构体。
成员说明
参数名称 | 说明 |
---|---|
devs | 产品信息数组,详见 TY_Z3_DEV_S |
dev_num | 产品信息数组长度 |
typedef struct {
VOID (*join)(TY_Z3_DESC_S *dev);
VOID (*leave)(CONST CHAR_T *dev_id);
VOID (*report)(TY_Z3_APS_FRAME_S *frame);
VOID (*notify)(VOID);
VOID (*upgrade_end)(CONST CHAR_T *dev_id, INT_T rc, UCHAR_T version);
VOID (*version)(CONST CHAR_T *dev_id, UCHAR_T version);
} TY_Z3_DEV_CBS_S;
功能说明(Summary)
Zigbee 设备管理回调结构体。
成员说明
参数名称 | 说明 |
---|---|
join | 白名单中的 Zigbee 子设备入网通知回调接口,详见 join |
leave | 白名单中的 Zigbee 子设备离网通知回调接口,详见 leave |
report | 白名单中的 Zigbee 子设备数据上报处理回调接口,详见 report |
notify | 白名单中的 Zigbee 子设备状态同步通知回调接口,详见 notify |
upgrade_end | 白名单中的 Zigbee 子设备升级完成通知回调接口,详见 upgrade_end |
version | 白名单中的 Zigbee 子设备上报版本号处理回调接口,详见 version |
typedef struct {
CHAR_T id[Z3_DEV_ID_LEN+1];
UINT16_T node_id;
UINT16_T profile_id;
UINT16_T cluster_id;
UCHAR_T src_endpoint;
UCHAR_T dst_endpoint;
UINT16_T group_id;
UCHAR_T cmd_type;
UCHAR_T cmd_id;
UCHAR_T frame_type;
UINT16_T manufacturer_code;
CHAR_T disable_ack;
UINT16_T msg_length;
UCHAR_T *message;
} TY_Z3_APS_FRAME_S;
功能说明(Summary)
Zigbee ZCL 数据帧结构体。
成员说明
成员名称 | 说明 |
---|---|
id | 子设备的长地址 |
node_id | 子设备的短地址 |
profile_id | Zigbee Profile ID |
cluster_id | Zigbee Cluster ID |
src_endpoint | 源 endpoint |
dst_endpoint | 目的 endpoint |
group_id | 群组 ID,组播该字段才有效 |
cmd_type | ZCL 命令类型,0:Global Command,1:Cluster Specific Command |
cmd_id | ZCL Command ID |
frame_type | 传输类型,定义如下:
|
disable_ack | 是否关闭响应 ACK,
|
msg_length | ZCL payload 的长度 |
message | ZCL payload |
typedef struct {
CHAR_T id[Z3_DEV_ID_LEN+1];
UINT16_T profile_id[MAX_EP_NUM];
UINT16_T device_id[MAX_EP_NUM];
UINT16_T cluster_id[MAX_EP_NUM][MAX_CLUSTER_NUM];
UINT16_T endpoint[MAX_EP_NUM];
UCHAR_T ep_num;
UCHAR_T uc_num;
UINT16_T node_id;
CHAR_T manu_name[MANU_NAME_LEN+1];
CHAR_T model_id[MODEL_ID_LEN+1];
CHAR_T rejoin_flag;
CHAR_T power_source;
UCHAR_T version;
} TY_Z3_DESC_S;
功能说明
Zigbee 设备信息结构体。
成员说明
成员名称 | 说明 |
---|---|
id | 子设备的长地址 |
profile_id | Zigbee Profile ID |
device_id | Zigbee Device ID |
cluster_id | Zigbee Cluster ID |
endpoint | Zigbee Endpoint |
ep_num | Endpoint 数量 |
uc_num | Cluster 数量 |
node_id | 子设备的短地址 |
manu_name | 厂商名称 |
model_id | 设备型号 |
rejoin_flag | 是否为 rejoin 标志位 |
power_source | 供电方式,定义如下: 0x03:弱电 0x04:强电 |
version | Application Version |
OPERATE_RET tuya_zigbee_svc_init(ty_cJSON *cfg)
功能说明
Zigbee 服务初始化接口,用于初始化涂鸦 Zigbee 相关业务。
参数说明
参数名称 | 说明 |
---|---|
cfg | json 配置信息 |
JSON 配置说明:
{
"storage_path": "./", // 数据存储路径
"cache_path": "/tmp/", // 固件存储路径
"dev_name": "/dev/ttyUSB0", // 串口设备号
"cts": 0, // 是否支持硬件流控
"thread_mode": 1, // 是否用线程跑 Zigbee HOST 业务
"sw_ver": "1.0.8" // 该字段已废弃
}
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_zigbee_svc_start(ty_cJSON *cfg)
功能说明
Zigbee 服务启动接口,用于运行涂鸦 Zigbee 相关业务。
参数说明
参数名称 | 说明 |
---|---|
cfg | json 配置信息,同 tuya_zigbee_svc_init 接口参数 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_zigbee_reg_permit_join_cb(TY_Z3_PERMIT_JOIN_CB cb)
功能说明
注册 Zigbee NCP 允许子设备入网通知回调接口,要求在 tuya_zigbee_svc_init 接口之前调用。
参数说明
参数名称 | 说明 |
---|---|
cb | Zigbee NCP 允许/禁止子设备入网通知回调接口,详见 TY_Z3_PERMIT_JOIN_CB |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_zigbee_reg_ncp_got_ver_cb(TY_Z3_NCP_GOT_VER_CB cb)
功能说明
注册成功获取 Zigbee NCP 版本号通知回调接口,要求在 tuya_zigbee_svc_init 接口之前调用。
参数说明
参数名称 | 说明 |
---|---|
cb | 已获取 Zigbee NCP 版本号通知回调接口,详见 TY_Z3_NCP_GOT_VER_CB |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_zigbee_reg_ncp_hard_reset_cb(TY_Z3_NCP_HARD_RESET_CB cb)
功能说明
注册 Zigbee NCP 硬重启通知回调接口,要求在 tuya_zigbee_svc_init 接口之前调用。
参数说明
参数名称 | 说明 |
---|---|
cb | Zigbee NCP 硬重启通知回调接口,详见 TY_Z3_NCP_HARD_RESET_CB |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_zigbee_print_debug_info(VOID)
功能说明
打印 Zigbee NCP 调试信息接口。
参数说明
参数名称 | 说明 |
---|---|
VOID | / |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_zigbee_set_tx_radio_power(INT_T tx_power)
功能说明
设置 Zigbee NCP 发送功率接口。
参数说明
参数名称 | 说明 |
---|---|
tx_power | 发射功率,范围:[0, 19] |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_zigbee_rftest(TY_Z3_RFTEST_RESULT_CB cb,
UCHAR_T channel,
CHAR_T power,
UCHAR_T msg_len,
UCHAR_T *msg,
USHORT_T npacket)
功能说明
Zigbee 模组射频接口,该接口一般仅用于产测阶段。
参数说明
参数名称 | 说明 |
---|---|
cb | 数据发送完成后,返回接收数据结果通知回调接口,详见 TY_Z3_RFTEST_RESULT_CB |
channel | 发送信道,范围:[11, 26] |
power | 发射功率,范围:[0, 19] |
msg_len | 发送的数据长度 |
msg | 发送的数据,使用涂鸦 ZigBee Dongle 测试时,数据固定为: {0x55, 0xaa, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39} |
npacket | 发送的数据包个数 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_zigbee_upgrade_ncp(CONST CHAR_T *fw_file,
TY_Z3_NCP_UPGRADE_STATUS_CB cb)
功能说明
本地升级 Zigbee NCP 固件接口。
参数说明
参数名称 | 说明 |
---|---|
fw_file | 固件文件的路径 |
cb | 升级结果通知回调接口,详见 TY_Z3_NCP_UPGRADE_STATUS_CB |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_zigbee_set_ncp_mac(CONST CHAR_T *mac)
功能说明
设置 Zigbee NCP MAC 地址接口。该接口一般仅用于故障替换调试,避免跟代替网关冲突,故障网关需要写入新的 MAC 地址。
参数说明
参数名称 | 说明 |
---|---|
mac | MAC 地址 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_zigbee_reset_ncp(VOID)
功能说明
Zigbee NCP 重置接口。
参数说明
参数名称 | 说明 |
---|---|
VOID | / |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_zigbee_get_ncp_ver(CHAR_T *ver)
功能说明
读取 Zigbee NCP 固件版本号接口。
参数说明
参数名称 | 说明 |
---|---|
ver | version buf |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_zigbee_custom_dev_mgr_init(TY_Z3_DEVLIST_S *devlist,
TY_Z3_DEV_CBS_S *cbs)
功能说明
第三方 Zigbee 设备接入初始化接口,要求在 tuya_zigbee_svc_init 接口之前调用。
接入非涂鸦生态 Zigbee 协议子设备需要开发者实现,SDK 采用白名单机制,开发者通过注册白名单设备列表,通知 SDK 白名单设备列表由应用处理,SDK 会把 Zigbee 数据透传给应用。
注意,当白名单为空时,表示所有设备都由应用处理。
参数说明
参数名称 | 说明 |
---|---|
devlist | 白名单设备列表,详见 TY_Z3_DEVLIST_S |
cbs | Zigbee 设备管理回调结构体,详见 TY_Z3_DEV_CBS_S |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_zigbee_send_data(TY_Z3_APS_FRAME_S *frame)
功能说明
发送 Zigbee ZCL 数据,该接口是给第三方 Zigbee 设备接入使用的。
参数说明
参数名称 | 说明 |
---|---|
frame | ZigBee ZCL 数据帧,详见 TY_Z3_APS_FRAME_S |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_zigbee_del_dev(CONST CHAR_T *dev_id)
功能说明
从 Zigbee 网络剔除子设备接口,该接口是给第三方 Zigbee 设备接入使用的。
参数说明
参数名称 | 说明 |
---|---|
dev_id | 子设备的长地址 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
OPERATE_RET tuya_zigbee_upgrade_dev(CONST CHAR_T *dev_id,
CONST FW_UG_S *fw)
功能说明
升级 Zigbee 子设备接口,该接口是给第三方 Zigbee 设备接入使用的。
参数说明
参数名称 | 说明 |
---|---|
dev_id | 子设备的长地址 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 错误码定义参考头文件 tuya_error_code.h |
VOID (*join)(TY_Z3_DESC_S *dev)
功能说明
白名单中的 Zigbee 子设备入网通知回调接口。
参数说明
参数名称 | 说明 |
---|---|
dev | 设备信息结构体,详见 TY_Z3_DESC_S |
返回值
返回值 | 说明 |
---|---|
VOID | / |
VOID (*leave)(CONST CHAR_T *dev_id)
功能说明
白名单中的 Zigbee 子设备离网通知回调接口。
参数说明
参数名称 | 说明 |
---|---|
dev_id | 子设备的长地址 |
返回值
返回值 | 说明 |
---|---|
VOID | / |
VOID (*report)(TY_Z3_APS_FRAME_S *frame)
功能说明
白名单中的 Zigbee 子设备数据上报处理回调接口。
参数说明
参数名称 | 说明 |
---|---|
frame | Zigbee ZCL 数据帧,详见 TY_Z3_APS_FRAME_S |
返回值
返回值 | 说明 |
---|---|
VOID | / |
VOID (*notify)(VOID);
功能说明
白名单中的 Zigbee 子设备升级完成通知回调接口,要求开发者在回调接口中实现遍历所有子设备,读取子设备当前状态操作。
参数说明
参数名称 | 说明 |
---|---|
VOID | / |
返回值
返回值 | 说明 |
---|---|
VOID | / |
VOID (*upgrade_end)(CONST CHAR_T *dev_id,
INT_T rc,
UCHAR_T version);
功能说明
设备升级结果回调。
参数说明
参数名称 | 说明 |
---|---|
dev_id | 子设备的长地址 |
rc | 升级结果 |
version | 子设备的版本号 |
返回值
返回值 | 说明 |
---|---|
VOID | / |
VOID (*version)(CONST CHAR_T *dev_id,
UCHAR_T version)
功能说明
白名单中的 Zigbee 子设备上报版本号处理回调接口。
参数说明
参数名称 | 说明 |
---|---|
dev_id | 子设备的长地址 |
version | 子设备的版本号 |
返回值
返回值 | 说明 |
---|---|
VOID | / |
typedef VOID (*TY_Z3_PERMIT_JOIN_CB)(BOOL_T permit,
UINT_T timeout)
功能说明
Zigbee NCP 允许子设备入网通知回调接口。
参数说明
参数名称 | 说明 |
---|---|
permit | 配网状态,TRUE:允许 Zigbee 子设备入网,FALSE:禁止 Zigbee 子设备入网 |
timeout | permit == TRUE 时有效,表示配网超时时间,单位为秒 |
返回值
返回值 | 说明 |
---|---|
VOID | / |
typedef VOID (*TY_Z3_NCP_GOT_VER_CB)(CHAR_T *ver)
功能说明
已获取 Zigbee NCP 版本号通知回调接口。
参数说明
参数名称 | 说明 |
---|---|
ver | Zigbee NCP 固件版本号 |
返回值
返回值 | 说明 |
---|---|
VOID | / |
typedef VOID (*TY_Z3_NCP_HARD_RESET_CB)(VOID)
功能说明
Zigbee NCP 硬重启通知回调接口,开发者需要在回调中实现通过 GPIO 控制 Zigbee 模组的 nRST 引脚让其硬重启。
参数说明
参数名称 | 说明 |
---|---|
VOID | / |
返回值
返回值 | 说明 |
---|---|
VOID | / |
typedef VOID (*TY_Z3_NCP_UPGRADE_STATUS_CB)(BOOL_T status)
功能说明
Zigbee NCP 升级结果通知回调接口。
参数说明
参数名称 | 说明 |
---|---|
status | 升级状态
|
返回值
返回值 | 说明 |
---|---|
VOID |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈