Olá pessoal.
Preciso de separar os dados que contem nessa linha abaixo.
"REC READ","+5516000000000","","12/05/21,12:21:43-12"Ligar
Preciso Separar o 5516000000000
Preciso Separar o 12/05/21,12:21:43
Preciso Separar o Ligar
Sem espaço antes e depois de cada um deles
Recebo o valor dessa linha após dar o comando Serial2.println("AT+CMGR=1");
Ele retorna a Linha de baixo
"REC READ","+5516000000000","","12/05/21,12:21:43-12"
Ligar
Tenho um modelo que está dando dor de cabeça e já faz 4 dias que estou com essa questão, então como o código está dando problema prefiro fazer do zero com a sugestão de um modelo se algum puder Ajudar, mais segue um modelo que eu estou usando para separa que não está dando muito certo.
void lesms()
{
Serial.println("|");
Serial.println("|");
Serial.println("|");
Serial.println("|");
Serial.println("-------------------------- LENDO SMS --------------------------");
Serial.println("|");
Serial.println("|");
Serial2.println("AT+CMGR=1"); //Reads the first SMS
Serial2.flush();
for (x=0;x < 255;x++){
data[x]='\0';
}
x=0;
do{
while(Serial2.available()==0);
data[x]=Serial2.read();
x++;
//if(data[x-1]=='+'){ // remove o cabeçalho +CMGR: "REC READ","+ vc quer verificar aqui ou criar uma funçao fora?pode ser ai
//x=0;
//}
//if(data[x-2]=='7'){ // remove o cabeçalho "REC READ","+5516000000000","","12/05/21,12:21:43-12"Ligar aqui separo o numero do fone
// x=0;
//}
if(data[x-1]=='+'&&data[x-2]=='"'){ // remove o cabeçalho +CMGR: "REC READ","xxxx","","12/05/21,12:21:43-12"
x=0;
}
}
//while(!(data[x-1]=='K'&&data[x-2]=='O')); // enquanto não encontrar o ok não para
while(!(data[x-1]=='K'&&data[x-2]=='O')); // enquanto não encontrar o ok não para
data[x-3]='\0'; //finish the string before the OK
Serial.println(data); //shows the message
//splitString(data);
delay(2000);
Serial.println("|");
Serial.println("|");
Serial.println("---------------------------- F I M ----------------------------");
Serial.println("|");
Serial.println("|");
Serial.println("|");
Serial.println("|");
}
void validasms()
{
j=0;
i=0;
Serial.println("---------------------VALIDANDO MENSAGEM SMS ---------------------");//executa comando
Serial.println("|");
Serial.println("|");
strcpy (msg1, data);
strcpy (msg2, data);
//###########################
for(i=0; i!=12; i++)
{
nremetente[i]=msg1[i];
}
nremetente[12]='\0';
//###########################
j=0;
i=0;
char codremetente[] = " ";
for(i=41; i!=45; i++)
{
codremetente[j]=msg2[i];
j++;
}
codremetente[5]='\0';
///###########################
Serial.print("NUMERO DO REMETENTE: ");
Serial.println(nremetente); ///aqui é o 5516000000000
Serial.print("CODIGO ENVIADO : ");
Serial.println(codremetente); // aqui é o Ligar
if (!strcmp(nremetente, ncadastrado))
{
Serial.println("O REMETENTE E' IGUAL AO CADASTRADO");
} else {
Serial.println("O REMETENTE NAO IGUAL AO CADASTRADO");
}
if (!strcmp(codremetente, codcadastrado))
{
Serial.println("O CODIGO E IGUAL AO CADASTRADO");
} else {
Serial.println("O CODIGO ENVIADO DIFERENTE DO CADASTRADO");
}
Serial.println("---------------------------- F I M ----------------------------");
delay(60000);
}
Por favor Pessoal Ajuda aee..
Tags:
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por