PB-结构体-MQTT上行设计

MQTT平台主动下发指令 比如远程开门 我需要给出回答
接口封装如下:
1需要的参数
typedef struct _TslIotProto_TSLIOTCommonResult {
    pb_callback_t dev_id;
    int32_t code;
    pb_callback_t message;
/* @@protoc_insertion_point(struct:TslIotProto_TSLIOTCommonResult) */
} TslIotProto_TSLIOTCommonResult;

这个是需要给出去的有效数据 DEVID+CODE+自己写字符串
最好自己做一个结构体给出去!
如下:
typedef struct _CommonResult_t 
{
    char    dev_id[32];
    int32_t code;
    char    message[32];
} CommonResult_t;

int mqtt_return_comm_result(CommonResult_t  *rst , uint16_t serType , uint16_t cmd , uint16_t serid  )


void show_CommonResult_t(CommonResult_t  *rst )
{
printf("########show_CommonResult_t########\r\n");
printf("p->dev_id=%s\r\n",p->dev_id);
printf("p->code=%d\r\n",p->code);
printf("p->message=%s\r\n",p->message);

}
执行的时候 可以共享内存!大家都在这里回答呀

static CommonResult_t comrst;
任务进来的时候init一下即可
    memset(&comrst,0,sizeof(CommonResult_t));
    uint8_t *devid ;
    config.read(CFG_MQTT_DEVID, (void **)&devid);
    memcpy(comrst.dev_id,devid,32);
	
	此时就只有后面2个参数每次必须改一改了
	
	用一下
	比如开门成功
	comrst.code=ack;
memcpy(comrst.message,"OK",2);
mqtt_return_comm_result  (&comrst , pst->serType ,CMD_TYPE_CONTROL_CMD_ACK ,pst->sqeId);

此时3个成员都OK

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值