Модуль отслеживает входящие смс с заданным содержанием и выполняет заданное действие.

C++
void sms_eyes() // Мониторим данные с модуля Sim800l
{
  if (Serial1.available())
  {
    delay(50);                  // Пауза
    while (Serial1.available()) // Проверяем, есть ли еще данные.
    {
      incomingByte = Serial1.read(); // Считываем байт и записываем в переменную incomingByte
      inputString += incomingByte;   // Записываем считанный байт в массив inputString
    }
    delay(50);                            // Пауза
    Serial.println(inputString);          // Отправка в "Мониторинг порта" считанные данные
    inputString.toUpperCase();            // Меняем все буквы на заглавные
    if (inputString.indexOf("INFO") > -1) // Проверяем полученные данные, если info
    {
      sms_info();
      // sms_test();
      //  sms_info(String("info:" + (rtc.getTime())), String(tel_owner));
    } // Отправка SMS
    if (inputString.indexOf("Test") > -1)
    {
      SerialDwin.write(guard_page, 10);
      guard_flag_1 = true;
      guard_flag_5 = false;
      guard_flag_30 = false;
      guard_flag_60 = false;
      guard_1 = 60;
      SerialDwin.write(guard_time_0, 8);
      sms_guard_set();
    }
    delay(50);
    if (inputString.indexOf("OK") == -1)
    {
      Serial1.println("AT+CMGDA=\"DEL ALL\"");
      delay(50);
    }
    inputString = "";
  }
}