В настоящее время я делаю проект Arduino с GSM900 GSM GPRS.В этом проекте я должен получать данные, отправленные с телефона.Я мог легко получить данные с одним символом, но я не могу присоединиться к символу, чтобы получить полное слово (String).Я должен использовать это полное слово внутри оператора If, если это слово равно этому другому слову (строке), сделать что-то ...
#include <SoftwareSerial.h>
// Configure software serial port
SoftwareSerial SIM900(7, 8);
//Variable to save incoming SMS characters
char incoming_char=0;
String newchar = "";
void setup() {
// Arduino communicates with SIM900 GSM shield at a baud rate of 19200
SIM900.begin(19200);
Serial.begin(19200);
// Give time to your GSM shield log on to network
delay(20000);
// AT command to set SIM900 to SMS mode
SIM900.print("AT+CMGF=1\r");
delay(100);
// Set module to send SMS data to serial out upon receipt
SIM900.print("AT+CNMI=2,2,0,0,0\r");
delay(100);
}
void loop() {
if(SIM900.available() >0) {
incoming_char=SIM900.read();
Serial.print(incoming_char);
}
}
Я попытался поместить эту команду в оператор if внутри цикла, но после того, как я попытался сравнить слова, это не сработало бы.
void loop() {
if(SIM900.available() >0) {
incoming_char=SIM900.read();
newString = incoming_char + "";
Serial.print(incoming_char);
}
if (newString == "Test"){
Serial.println("It worked");
}
}
Вывод, который я получаю из последовательного монитора, таков: + CMT: "+ myNumber", "", "19/09 /20,16: 31: 05-12 "Тест