Как получить текстовое сообщение из SMS - PullRequest
0 голосов
/ 21 марта 2020
#include <SoftwareSerial.h>
SoftwareSerial SIM800(11, 10);       
void setup() {
  Serial.begin(9600);               
  Serial.println("Start!");
  SIM800.begin(9600);             
  SIM800.println("AT");
  SIM800.println("AT+GSMBUSY=1");
  delay(1000);
  SIM800.println("AT+CNMI=2,2,0,0,0");
    }

void loop() {
  if (SIM800.available())         
    Serial.write(SIM800.read());    
  if (Serial.available())        
    SIM800.write(Serial.read());   
}

И проблема в том, что я не могу получить текстовые сообщения из SMS. Вот результат:

Старт! AT + GSMBUSY = 1

OK AT + CNMI = 2,2,0,0,0

OK

+ CMT: "+ 9xxxxxxxxx", "", "20/03 / 21,22: 09: 50 + 32" Hello world!

Я хочу получить текстовое сообщение в виде: Текстовое сообщение: Hello world!

вот код, который я пробовал

#include <SoftwareSerial.h>
SoftwareSerial SIM800(11, 10); 
char incoming_char = 0; 
void setup()
   {
      delay (5000);  
      SIM800.begin(9600); 
      Serial.begin(9600); 
      Serial.println("OK");
      delay (1000);

      SIM800.print("AT+CLIP=1\r"); 
      delay(1000);
      SIM800.print("AT+CMGF=1\r"); 
      delay(1000);
      SIM800.print("AT+CNMI=2,2,0,0,0\r"); /
      delay(1000);
   }

void loop()
   {
      if (SIM800.available() > 0)
         {
            incoming_char = SIM800.read(); 
            Serial.print(incoming_char); 
         }
   }

Пожалуйста, кто-нибудь поможет? Спасибо.

...