一、描述你遇到的问题
我回滚了快照 华为云大小和代码大小写没问题是对应的,Light的 paras 和Motor 的Paras我都没改,mqtt的东西我是修改成了我自己的地址等等8个参数,还是下发命令失败,这次我用wifi,没有网速问题,还能怎么样调整才能下发命令成功呢?还存在哪些问题?












///< COMMAND DEAL
#include <cJSON.h>
static void deal_cmd_msg(cmd_t *cmd)
{
cJSON *obj_root;
cJSON *obj_cmdname;
cJSON *obj_paras;
cJSON *obj_para;
int cmdret = 1;
oc_mqtt_profile_cmdresp_t cmdresp;
obj_root = cJSON_Parse(cmd->payload);
if (NULL == obj_root)
{
goto EXIT_JSONPARSE;
}
obj_cmdname = cJSON_GetObjectItem(obj_root, "command_name");
if (NULL == obj_cmdname)
{
goto EXIT_CMDOBJ;
}
if (0 == strcmp(cJSON_GetStringValue(obj_cmdname), "Agriculture_Control_light"))
{
obj_paras = cJSON_GetObjectItem(obj_root, "paras");
if (NULL == obj_paras)
{
goto EXIT_OBJPARAS;
}
obj_para = cJSON_GetObjectItem(obj_paras, "Light");
if (NULL == obj_para)
{
goto EXIT_OBJPARA;
}
///< operate the LED here
if (0 == strcmp(cJSON_GetStringValue(obj_para), "ON"))
{
g_app_cb.led = 1;
Light_StatusSet(ON);
printf("Light On!\r\n");
}
else
{
g_app_cb.led = 0;
Light_StatusSet(OFF);
printf("Light Off!\r\n");
}
cmdret = 0;
}
else if (0 == strcmp(cJSON_GetStringValue(obj_cmdname), "Agriculture_Control_Motor"))
{
obj_paras = cJSON_GetObjectItem(obj_root, "Paras");
if (NULL == obj_paras)
{
goto EXIT_OBJPARAS;
}
obj_para = cJSON_GetObjectItem(obj_paras, "Motor");
if (NULL == obj_para)
{
goto EXIT_OBJPARA;
}
///< operate the Motor here
if (0 == strcmp(cJSON_GetStringValue(obj_para), "ON"))
{
g_app_cb.motor = 1;
Motor_StatusSet(ON);
printf("Motor On!\r\n");
}
else
{
g_app_cb.motor = 0;
Motor_StatusSet(OFF);
printf("Motor Off!\r\n");
}
cmdret = 0;
}
EXIT_OBJPARA:
EXIT_OBJPARAS:
EXIT_CMDOBJ:
cJSON_Delete(obj_root);
EXIT_JSONPARSE:
///< do the response
cmdresp.paras = NULL;
cmdresp.request_id = cmd->request_id;
cmdresp.ret_code = cmdret;
cmdresp.ret_name = NULL;
(void)oc_mqtt_profile_cmdresp(NULL, &cmdresp);
return;
}
请详细描述问题
二、你具体做的所有步骤结果截图
请插入图片
三、当前开发板状态全景照片
请插入图片
四、开发板串口所有日志
请在此处粘贴串口日志
