GSM модуль для подключения к контроллеру напрямую или к компьютеру через USB - UART преобразователь. Позволяет принимать звонки с мобильных телефонов и выполнять вызовы на мобильники, выполнять обмен данными 

Управление модулем производится AT-командами через последовательную связь

Рабочие радио-частоты 900 и 1800 МГц

GPRS Class 10

Скорость поумолчанию обмена данными по UART составляет  115200 бод. Её можно менять АТ-командой

Вход BOOT необходимо подключать к общему проводу

Данный модуль поддерживает логические уровни 3,3 В и 5 В без использования преобразователя уровней


Отправка смс по нажатию на кнопку пример программы для Arduino UNO:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(6, 5); // RX, TX номера пинов Arduino UNO для подключения к модулю GSM NEOWAY M590

int buttonState = 0;
int lastButtonState = 0;
int knopka = 2; //номер пина для подключения кнопки, которая должна замыкать этот пин на ноль питания

void setup() {
  mySerial.begin(115200);

  pinMode(knopka, INPUT_PULLUP); //инициализация дискретного входа и внутренняя подтяжка его на плюс питания
  
  delay(10000); //время для инициализации GSM-модуля в сети
}

void loop() {
  buttonState = digitalRead(knopka);
  if (buttonState < lastButtonState){
    mySerial.println("AT+CMGF=1");        //режим кодировки СМС - обычный (для англ.)
    delay(100);
    mySerial.println("AT+CSCS=\"GSM\"");  
    delay(100);
    mySerial.println("AT+CMGS=\"+38093xxxxxxx\""); //сюда вводим необходимый номер мобильного получателя смс
    delay(500);
    mySerial.print("Geekmatic super programmer!"); //текст смс
    delay(500);
    mySerial.print((char)26);
    delay(500);
  }

  lastButtonState = buttonState;
  delay(50);
  
}


Пример программы дачной сигнализации для Arduino UNO, используя GSM модуль:

#include <EEPROM.h>
//// как подключен модем?
//#include <SoftwareSerial.h>                 // если программный
//SoftwareSerial gsm(7, 8); // RX, TX
#define gsm Serial                           // если аппаратный в UNO
//#define gsm Serial1                          // если аппаратный в леонардо
#define LED 13
#define TELLNUMBER "ATD+30001112233;"                 // номен на который будем звонить
#define SMSNUMBER "AT+CMGS=\"30001112233\""           // номер на который будем отправлять SMS
#define TELMODE "30001112233"                         // номер для установки на охрану
#define SH1 A2              // шлейф
//#define SH2 A3
#define pinBOOT 5           // нога BOOT или K на модеме 
byte mode = 0;              // 0 - только включили
                            // 1 - установлена охрана
                            // 2 - снята с охраны
void setup() {
  delay(1000);                    //// !! чтобы нечего не повисало при включении
  
  gsm.begin(9600);                         /// незабываем указать скорость работы UART модема
//  Serial.begin(9600);
  pinMode(LED, OUTPUT);
  pinMode(pinBOOT, OUTPUT);                /// нога BOOT на модеме
  pinMode(SH1, INPUT_PULLUP);              /// нога на растяжку
//  pinMode(SH2, INPUT_PULLUP);              /// нога на растяжку
                                          // читаем режим из еепром
  mode = EEPROM.read(0);
  if (mode > 2) mode = 2;                 // проверяем значение в еепром 
                                      // занимаемся модемом        
  delay(1000);                            
  digitalWrite(LED, HIGH);                // на время включаем лед  
  digitalWrite(pinBOOT, LOW);             /// включаем модем 
 
      // нужно дождатся включения модема и соединения с сетью
  delay(2000);    
//  while(gsm.find("STARTUP"));          /// ждем команды от модема  
  gsm.println("ATE0");                  // выключаем эхо  
  
  while(1){                             // ждем подключение модема к сети
        gsm.println("AT+COPS?");
        if (gsm.find("+COPS: 0")) break;
           digitalWrite(LED, LOW);               // блымаем светодиодом
           delay(50);  
           digitalWrite(LED, HIGH);  
           delay(500); 
    }
//Serial.println("Modem OK"); 
   digitalWrite(LED, LOW);               // блымаем светодиодом
   delay(1500);  
   digitalWrite(LED, HIGH);
   delay(250); 
   digitalWrite(LED, LOW);   
  
}
void loop() {
  
  if (mode == 1){                         // если в режиме охраны
                                          // проверяем датчики
    if (digitalRead(SH1)){                // если обрыв
                                          // отзваниваемся
        gsm.println(TELLNUMBER); 
        delay(2500);                       
          if (gsm.find("NO CARRIER")){      // ищим сброс вызова,  
                                            // снимаем охранку
              mode = 2;
              EEPROM.write(0, mode);
          }
    }
  }
  
  // если охрана снята
  if (mode == 2){
    if (digitalRead(SH1)){  // проверяем датчики, включаем LED
      digitalWrite(LED, HIGH);    
    }
    else digitalWrite(LED, LOW);
  }
  
 // ищим RING
   // если нашли, опрашиваем кто это и ставим на охрану
    if(gsm.find("RING")){                    // если нашли RING
      gsm.println("AT+CLIP=1");              // включаем АОН, 
            
      while(1){                              // в цикле
       if (gsm.find(TELMODE)){               // ищим номер телефона, если нашли
         mode = 1;                           // меняем режим  
         EEPROM.write(0, mode);              // пишим его в еепром
         break;                              // и выходим
       }  
       else{                                 // иначе 
         gsm.println("AT+CPAS");             // спрашиваем состояние модема   
         delay(100);
         if (gsm.find("+CPAS: 0")) break;    // и если он в "готовности", выходим из цикла
       }                                     // если звонок в процессе, возвращает +CPAS: 3
      }                                      // и крутимся дальше
       
        gsm.println("AT+CLIP=0");            // выключаем АОН, 
        delay(500);
        gsm.println("ATH0");                 // сбрасываем вызов 
         digitalWrite(LED, LOW);             // сигнализируем об этом
         delay(500);  
         digitalWrite(LED, HIGH);
         delay(250); 
         digitalWrite(LED, LOW);   
    }
}

Написать отзыв

Примечание: HTML разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо

GSM GPRS модуль адаптированный под 5 В

  • Модель NEOWAY M590
  • Наличие Есть в наличии
  • 126.23грн.


Новое

Медный чулок для удаления припоя 2мм 1,5м

Медный чулок для удаления припоя 2мм 1,5м

Медная оплётка - применяется для залуживания дорожек печатной платы, а так же для удаления излишков ..

Модуль твердотельного реле 4-канальный

Модуль твердотельного реле 4-канальный

Модуль предназначен для коммутации нагрузок с переменным напряжением питания 75 ... 264 ВМаксимальны..

Оптопара EL817 SMD

Оптопара EL817 SMD

Оптопара с транзистором на выходеПрименяется для гальванической развязки дискретного сигнала, а так ..

Стабилизатор напряжения 5В 2А микросхема L78S05CV

Стабилизатор напряжения 5В 2А микросхема L78S05CV

Микросхема стабилизатор напряжения L78S05CVПрименяется для стабилизации пульсирующего напряжени..

Программатор AVR-контроллеров USBASP

Программатор AVR-контроллеров USBASP

Программатор для загрузки и отладки программ в микроконтроллеры компании ATMEL.Интерфейс програ..

Сдвиговый регистр 74HC595N

Сдвиговый регистр 74HC595N

Эту микросхему используют для управления светодиодными гирляндами и символьными индикаторами.Она поз..

Светодиод ультраяркий 3мм

Светодиод ультраяркий 3мм

Сверхяркий светодиод диаметром 3 ммКорпус прозрачный у светодиодов разного цвета свечения. То есть р..

Вентилятор для Orange PI толщиной 10мм

Вентилятор для Orange PI толщиной 10мм

Вентилятор для охлаждения процессора мини-компьютера Orange PI или Raspberry PIРаботает безшумноПита..

Терминальный разъемный коннектор угловой 4п

Терминальный разъемный коннектор угловой 4п

Разъемный 4-проводной коннектор для пайки на печатную платуПровода подводятся параллельно плате и со..

Шестерня для зубчатого ремня на 20 зубьев под ось 5 мм

Шестерня для зубчатого ремня на 20 зубьев под ось 5 мм

Используется для передачи и редукции крутящего момента от двигателяКоличество зубьев 20 шт.Диаметр о..

Терминальный разъемный коннектор угловой 3п

Терминальный разъемный коннектор угловой 3п

Разъемный трёхпроводной коннектор для пайки на печатную платуПровода подводятся параллельно плате и ..

Терминальный разъемный коннектор угловой 2п

Терминальный разъемный коннектор угловой 2п

Разъемный двухпроводной коннектор для пайки на печатную платуПровода подводятся параллельно плате и ..

Микроконтроллер ATTINY13A

Микроконтроллер ATTINY13A

Миниатюрный экономичный AVR 8-битный микроконтроллер, который можно программировать как программатор..

Логический анализатор 8 каналов

Логический анализатор 8 каналов

Надписи на корпусе могут отличаться от указанных на картинке, но суть остается неизменной.Цифровой л..

Линейный подшипник 8мм

Линейный подшипник 8мм

Подшипник для линейного скольжения рабочего органа 3D-принтера или CNC по своим осям.Одевается на ци..

Подшипник для зубчатого ремня GT2 без зубьев

Подшипник для зубчатого ремня GT2 без зубьев

Подшипник для натяжения зубчатого ремня GT2 6мм на ось 5 ммПрименяется в 3D-принтерах и CNCШирина 10..