可以先参看上面的文档,我们后续会增加大于100dp接入简单demo
想要一个子设备协议接入例子
-
- Posts: 59
Re: 想要一个子设备协议接入例子
马小勤 2023年 Feb 17日 14:37547176052@qq.com 2023年 Feb 17日 11:55iot_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 应该怎么写
Re: 想要一个子设备协议接入例子
当前为简易demo,仅包含单个DP下发处理
- Attachments
-
- tuyaos_serial_demo.7z
- (1.81 MiB) Downloaded 104 times
-
- Posts: 59
Re: 想要一个子设备协议接入例子
修改chip_id
"chip_id":"efr32mg21a020f768im32"
编译提示固件太大
WARNING: UPGRADE FIRMWARE SIZE OVERFLOW: only support diff ota
应该怎么解决
Re: 想要一个子设备协议接入例子
547176052@qq.com 2023年 Feb 17日 18:31修改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升级