Функція available()

Документація

Клас GSM_SMS

available()

Перевіряє, чи є на SIM-карті SMS-повідомлення, які слід читати, і повідомляє про кількість символів у повідомленні.

Синтаксис
SMS.available()

Параметри
нема

Повертає
int: число символів у повідомленні

Приклад
#define PINNUMBER ""

// ініціалізувати приклад бібліотеки
GSM gsmAccess; // включити параметр істини для активації налагодження

GSM_SMS sms;

char remoteNumber[20];  // утримує емітоване число

void setup() 
{
  // ініціалізувати послідовні зв’язки
  Serial.begin(9600); 

  Serial.println("Отримувач SMS-повідомлень");

  // стан підключення
  boolean notConnected = true;
 
     // Розпочати роботу GSM-шилда
  // Якщо SIM має PIN, передайте його як параметр begin () у лапках

  while(notConnected)
  {
    if(gsmAccess.begin(PINNUMBER)==GSM_READY)
      notConnected = false;
    else
    {
      Serial.println("Не підключено");
      delay(1000);
    }
  }

  Serial.println("GSM ініціалізовано");
  Serial.println("Очікування повідомлень");
}

void loop() 
{
  char c;

  // якщо є доступні SMS  
  if (sms.available())
  {
    Serial.println("Повідомлення отримані від:");

    // Отримати віддалений номер
    sms.remoteNumber(remoteNumber, 20);
    Serial.println(remoteNumber);

    // Це просто приклад передачі повідомлення 
    // Повідомлення, що починаються з #, мають бути відкинуті
    if(sms.peek()=='#')
    {
      Serial.println("Відкинуті SMS");
      sms.flush();
    }

    // Читати байти повідомлень та друкувати їх
    while(c=sms.read())
      Serial.print©;

    Serial.println("\nКінець повідомлення");

    // видалити повідомлення з пам’яті модема
    sms.flush();
    Serial.println("Повідомлення видалено");
  }

  delay(1000);

}

Повернутись до головної

Коментарі 0

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.