|
|
|
|
@ -177,18 +177,33 @@ uint8_t MyMqtt_ParseShellCommand(const unsigned char* cmd, bool *handled, const |
|
|
|
|
MyMqtt_SetBrokerIP(ip); // set ip
|
|
|
|
|
}else if (McuUtility_strncmp((char*)cmd,"mqtt publish ",sizeof("mqtt publish ")-1) == 0){ |
|
|
|
|
*handled = TRUE; |
|
|
|
|
cmd += sizeof("mqtt publish ")-1; |
|
|
|
|
cmd += sizeof("mqtt publish")-1; |
|
|
|
|
// skip until double quotes (topic)
|
|
|
|
|
while(*cmd!='\"'){ |
|
|
|
|
cmd++; |
|
|
|
|
} |
|
|
|
|
uint8_t topic[128] = ""; |
|
|
|
|
uint8_t data[128] = ""; |
|
|
|
|
McuShell_SendStr(cmd, McuShell_GetStdio()->stdOut); |
|
|
|
|
//McuShell_SendStr(cmd, McuShell_GetStdio()->stdOut);
|
|
|
|
|
McuUtility_ScanDoubleQuotedString(&cmd, topic, sizeof(topic)); |
|
|
|
|
McuShell_SendStr(topic, McuShell_GetStdio()->stdOut); |
|
|
|
|
ESP_LOGI(TAG, "Parsed topic=%s", topic); |
|
|
|
|
//McuShell_SendStr(topic, McuShell_GetStdio()->stdOut);
|
|
|
|
|
// McuUtility_strcpy(topic, sizeof(topic), cmd);
|
|
|
|
|
cmd += strlen((const char*)topic)-1; |
|
|
|
|
//cmd += strlen((char*)topic);
|
|
|
|
|
// skip to data
|
|
|
|
|
cmd++; |
|
|
|
|
// while(true){
|
|
|
|
|
// cmd++; // next char
|
|
|
|
|
// if(*cmd == ' '){
|
|
|
|
|
// cmd++; // skip last space
|
|
|
|
|
// break;
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
McuUtility_ScanDoubleQuotedString(&cmd, data, sizeof(data)); |
|
|
|
|
// McuUtility_strcpy(data,sizeof(data),cmd);
|
|
|
|
|
McuShell_SendStr(data, McuShell_GetStdio()->stdOut); |
|
|
|
|
MyMqtt_Publish((const char*)topic, (const char*)data); |
|
|
|
|
ESP_LOGI(TAG, "Parsed data=%s", data); |
|
|
|
|
//McuShell_SendStr(data, McuShell_GetStdio()->stdOut);
|
|
|
|
|
MyMqtt_Publish((char*)topic, (char*)data); |
|
|
|
|
} |
|
|
|
|
return ERR_OK; |
|
|
|
|
} |
|
|
|
|
|