我回滚了快照 华为云大小和代码大小写没问题是对应的,Light的 paras 和Motor 的Paras我都没改,mqtt的东西我是修改成了我自己的地址等等8个参数,是上传到华为云信息成功的,还是下发命令失败

Viewed 5

一、描述你遇到的问题

我回滚了快照 华为云大小和代码大小写没问题是对应的,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;
}
请详细描述问题

二、你具体做的所有步骤结果截图

请插入图片

三、当前开发板状态全景照片

请插入图片

四、开发板串口所有日志

请在此处粘贴串口日志

1 Answers

你为啥自己去加这些东西,还有连接IP也不要去修改