diff --git a/ADIS_ESP32_Eclipse/main/myMqtt.c b/ADIS_ESP32_Eclipse/main/myMqtt.c index 4e9cbff..5bd2e88 100644 --- a/ADIS_ESP32_Eclipse/main/myMqtt.c +++ b/ADIS_ESP32_Eclipse/main/myMqtt.c @@ -175,6 +175,20 @@ uint8_t MyMqtt_ParseShellCommand(const unsigned char* cmd, bool *handled, const McuUtility_strcpy((unsigned char*)ip, sizeof(ip), (unsigned char *)cmd + strlen((char*)"mqtt setIp ")); // cut front McuUtility_strCutTail((unsigned char*)ip, (unsigned char*)"\0\0\0"); // cut tail 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; + uint8_t topic[128] = ""; + uint8_t data[128] = ""; + McuShell_SendStr(cmd, McuShell_GetStdio()->stdOut); + McuUtility_ScanDoubleQuotedString(&cmd, topic, sizeof(topic)); + McuShell_SendStr(topic, McuShell_GetStdio()->stdOut); +// McuUtility_strcpy(topic, sizeof(topic), cmd); + cmd += strlen((const char*)topic)-1; + 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); } return ERR_OK; }