想要一个子设备协议接入例子

Zigbee 子设备开发


shiliang
Posts: 36

可以先参看上面的文档,我们后续会增加大于100dp接入简单demo

547176052@qq.com
Posts: 59

Re: 想要一个子设备协议接入例子

马小勤 2023年 Feb 17日 14:37
547176052@qq.com 2023年 Feb 17日 11:55
iot_man 2023年 Feb 17日 11:27

重点看一下这个文档:viewtopic.php?t=86
100以上的dp,需要在pid前缀改成 TZ3210,网关识别到了会走透传dp协议。
注意:pid前缀修改了后,需要APP,删除设备,然后重新组网后,网关才会按照TZ3210的能力处理

能不能给个简单的例子给我

viewtopic.php?t=801 参考一下自定义dp的接入文档看看

Code: Select all

/*
    主动上报数据
*/
VOID_T to_zigbee()
{
    TAL_PR_TRACE("主动上报数据\r\n");
    TAL_ZG_SEND_DATA_T send_data;
    tal_system_memset(&send_data, 0, SIZEOF(TAL_ZG_SEND_DATA_T));

    UINT8_T data_s[] = {0x31,0x33,0x36,0x61};//136a

    send_data.qos = QOS_1;
    send_data.delay_time = 0;
    send_data.zcl_id = 0x68;

    send_data.direction = ZG_ZCL_DATA_SERVER_TO_CLIENT;
    send_data.frame_type = ZG_ZCL_FRAME_TYPE_SPEC_TO_CLUSTER;
    send_data.command_id = 0x06;/*report cmd*/

    send_data.addr.mode = SEND_MODE_DEV;
    send_data.addr.type.dev.dst_addr = TUYA_GATEWAY_ADDRESS;
    send_data.addr.type.dev.dst_ep = 0x01;
    send_data.addr.type.dev.src_ep = TUYA_PRIMARY_ENDPOINT;
    send_data.addr.type.dev.cluster_id = CLUSTER_PRIVATE_TUYA_CLUSTER_ID;
    send_data.data.private.len = 7;
    send_data.data.private.data[2] = 105; /* dp id*/
    send_data.data.private.data[3] = ATTR_ENUM8_ATTRIBUTE_TYPE; /*dp type*/
    send_data.data.private.data[4] = 0x00;
    send_data.data.private.data[5] = 0x04;/*dp len 长度4*/
    send_data.data.private.data[6] = data_s; /*dp data*/

    tal_zg_clear_send_data(ZG_CLEAR_ALL_ZCL_ID, &send_data.zcl_id);
    tal_zg_send_data(&send_data, NULL, 2000);
}

发送字符串 136a 到pid 105 应该怎么写

shiliang
Posts: 36

Re: 想要一个子设备协议接入例子

当前为简易demo,仅包含单个DP下发处理

Attachments
tuyaos_serial_demo.7z
(1.81 MiB) Downloaded 104 times
547176052@qq.com
Posts: 59

Re: 想要一个子设备协议接入例子

shiliang 2023年 Feb 17日 18:24

当前为简易demo,仅包含单个DP下发处理

修改chip_id
"chip_id":"efr32mg21a020f768im32"
编译提示固件太大
WARNING: UPGRADE FIRMWARE SIZE OVERFLOW: only support diff ota
应该怎么解决

马小勤
Posts: 42

Re: 想要一个子设备协议接入例子

547176052@qq.com 2023年 Feb 17日 18:31
shiliang 2023年 Feb 17日 18:24

当前为简易demo,仅包含单个DP下发处理

修改chip_id
"chip_id":"efr32mg21a020f768im32"
编译提示固件太大
WARNING: UPGRADE FIRMWARE SIZE OVERFLOW: only support diff ota
应该怎么解决

https://developer.tuya.com/cn/docs/iot/ ... ixsft1w3to 768的片子flash空间有限只能用差分OTA,你可以选择用1M的模组 也可以使用差分OTA升级

Post Reply