ArduinoUnoとTC35GSMモジュールの間にSMSメッセージを送受信するためのソフトウェアシリアルリンクがあります。SMS'/呼び出しの送信は、適切なATコマンドをGSMモジュールに送信する問題であるため、問題ではありません。ただし、AT + CMGR = 1コマンド(SIMカードに保存されている最初のSMSをチェックする)を使用してメッセージがあるかどうかを確認し、メッセージをchar配列として保存して、SMSにLEDをアクティブにするには、「オン」または「オフ」という単語を使用します。
AT + CMGR = 1コマンドは、次を返す必要があります。
AT+CMGR=1
+CMGR: "REC READ","+3538xxxxxxxx",,"13/03/23,14:29:37+00"
Set
OK
しかし、以下のメソッドでは、「データ」を出力すると、次のように返されます。
メッセージに含まれるもの:
で
任意のポインタをいただければ幸いです。
void checkMessage() {
gsmSerial.println("AT+CMGR=1"); //Reads the first SMS
for (x=0;x < 255;x++){
data[x]='\0';
}
x=0;
do{
while(gsmSerial.available()==0);
data[x]=gsmSerial.read();
x++;
if(data[x-1]==0x0D&&data[x-2]=='"'){
x=0;
}
}while(!(data[x-1]=='K'&&data[x-2]=='O'));
data[x-3]='\0'; //finish the string before the OK
Serial.println("\r\nMessage contains: \r");
Serial.println(data); //shows the message
delay(1000);
}