EnglishRussian

Отправка SMS с помощью Arduino и шилда «Cosmo GSM Connect»

В данном руководстве рассматриваются примеры с использованием шилда «Cosmo GSM Connect»

  • Пример 1: Отправка SMS с компьютера
  • Пример 2: Отправка SMS с микроконтроллера

Подготовка:

  • Подключите внешнюю антенну.
    Подключить антенну к модулю можно двумя способами — через U.FL разъем и пайкой антенного кабеля к контактной площадке. Так как U.FL разъем располагается на нижней стороне M33G, нужно раскрутить крепежные винты и аккуратно отсоединить его от шилда. После того как вы извлекли модем из шилда, подсоедините GSM-антенну к UF.L разъему. Обратно вставьте модем на место и закрутите винты.
  • Установите SIM-карту.
    Вставлять SIM-карту нужно стороной, которая без скоса. Вставьте симку в слот разъема, под небольшим углом и введите ее до упора.
  • Вставьте шилд «Cosmo GSM Connect» в Arduino.

Отправка SMS с компьютера

 

  • Установите джампера 1 и 3 в положение FTDI (контакт 1-2). Подробнее смотрите схему шилда.
  • Подключите USB кабель к Arduino.
  • Включите модуль.
    Для этого нажмите кнопку K3 на шилде. Подробнее смотрите схему шилда.
  • Запустите программу гипертерминал и подключитесь к порту, к которому подключен Ардуино.


  • Выполните следующие команды в терминале.

    Если на AT-команды модем не отвечает, в настройках соединения гипертерминала измените скорость порта, например на 38400.
    // проверяем, отвечает ли нам модем
    AT
    OK
    
    // проверяем, активна ли сим-карта, нужно ли вводить PIN
    AT+CPIN?
    // модем отвечает, что нужно
    +CPIN: SIM PIN
    OK
    
    // задаем для сим-карты PIN
    AT+CPIN="1980"              
    OK 
    
    // проверяем, активна ли сим-карта
    AT+CPIN? 
    // модем отвечает, что сим-карта активна    
    +CPIN: READY            
    OK
    
    // проверяем опцию COPS (выбор оператора), должно быть 0 (автовыбор)
    AT+COPS?
    // модем отвечает, что опция COPS выставлена в 0.
    +COPS: 0
    OK
    
    // проверяем опцию CGATT (GPRS-соединение)
    AT+CGATT?
    // модем отвечает, что модем не зарегистрирован в GPRS (значение 0)
    +CGATT: 0
    OK
    
    // выставляем CGATT равным 1 (соединение)
    // после выполнения данной команды на шилде активируется красный светодиод
    AT+CGATT=1
    OK
    
    // запрашиваем запрос на обновление адреса SMS центра
    AT+CSCA?
    // модем показывает обновленный адрес SMS центра
    +CSCA: "+79281234567",145
    OK
    
    // задаем формата SMS, 1 — текстовый режим
    AT+CMGF=1
    OK
    
    // пишем SMS, задаем получателя и далее пишем текст сообщения
    AT+CMGS="89123456789"
    > SMS message from Cosmo GSM Connect
    >
    // чтобы завершить набор текста в терминале, нажимаем CTRL+Z
    // в случае успешного отправление сообщения, модем показывает число символов в SMS
    +CMGS: 156
    OK
    // SMS было отправлено
    

 

Отправка SMS с микроконтроллера

 

  • Подключите USB кабель к Ардуино, запустите Arduino IDE и залейте в микроконтроллер следующий скетч.
    int count = 0;
    int countMessages = 1;
    
    void setup (){
      Serial.begin(38400);
      Serial.flush();
      // программно включаем gsm-модем
      pinMode(7, OUTPUT);
      digitalWrite(7, HIGH);
      delay(5000);
      digitalWrite(7, LOW);
      delay(5000);  
      Serial.flush();
      // опрашиваем gsm-модем
      Serial.println("AT");
      delay(100);
      Serial.print("AT+CPIN="); // вводим пин-код для симки
      Serial.print((char)34); // символ кавычки "
      Serial.print("0000"); // пин код
      Serial.println((char)34); // символ кавычки "
      delay(10000);
      Serial.println("AT+CGATT=1"); // регистрируемся в GPRS-сети
      delay(12000);
      Serial.println("AT+CSCA?"); // запрашиваем номер смс-центра
      delay(1000);
      Serial.println("AT+CMGF=1"); // выставляем текстовым режим сообщений
      delay(1000);
    }
    
    void loop (){
      while (count < countMessages){
        delay(5000);
        Serial.print("AT+CMGS="); // отправляем смс
        Serial.print((char)34);
        Serial.print("89181234567"); // номер получателя
        Serial.print((char)34); // символ кавычки "
        Serial.print((char)13); // символ <cr> (ASCII character 13)
        delay(1500);
        Serial.print("SMS from GSM Shields"); // текст смс
        delay(500);
        Serial.print((char)26); // символ <ctrl-z> (ASCII character 26)
        delay(5000);
        count++;
      }
    }
    
    После этого отсоедините Ардуино от компьютера.
  • Установите на шилде «Cosmo GSM Connect» джампера 1 и 3 в положение MEGA (контакт 2-3). Подробнее смотрите схему шилда.
  • Подключите к Ардуино внешний источник питания (7-9V).
    После того как настройки GSM-сети активируются, на шилде начнет мигать красный светодиод. И после будет отправлено тестовое смс-сообщение.