`char datapub[50];//="AT+QMTPUB=0,1,1,0,\"GPS_loc\",10"\r\n";
char pub[250];
memset(pub,0,250);
memset(datapub,0,50);
sprintf(datapub,"%s""%s""%s\r\n","AT+QMTPUB=0,1,1,0","\"GPS_loc\"",",10");
len = strlen(datapub);
if (HAL_UART_Transmit(&huart1,(uint8_t *)datapub,len+2,150) == HAL_OK)
{
HAL_UART_Receive(&huart1,(uint8_t *)pub,100,100);
len = strlen(pub);
HAL_UART_Transmit(&huart2,(uint8_t *)pub,100,100);
HAL_UART_Transmit(&huart1,(uint8_t *)"NISHIKANT",9,10);
}`
AT+QMTCLOSE=0
OK
+QMTCLOSE: 0,0
AT+QMTOPEN=0,“139.59.17.86”,8883
OK
+QMTOPEN: 0,0
AT+QMTCONN=0,“GSMsdjhf”,“username”,“password”
OK
+QMTCONN: 0,0,0
AT+QMTPUB=0,1,1,0,“GPS_loc”,10
+CME ERROR: 3518
Is this correct?