GSM модуль NEOWAY M590

25-02-2020, 10:47 0 комментариев
GSM модуль NEOWAY M590 – один из самых простых и бюджетных контроллеров, с помощью которого можно совершать звонки, принимать ∕ отправлять SMS-сообщения, а также обмениваться данными и выходить в глобальную сеть Интернет по GPRS. Устройство легко подключается к Arduino, а потому нам интересно с этой точки зрения для изучения и обзора.

GSM модуль NEOWAY M590 – один из самых простых и бюджетных контроллеров, с помощью которого можно совершать звонки, принимать ∕ отправлять SMS-сообщения, а также обмениваться данными и выходить в глобальную сеть Интернет по GPRS. Устройство легко подключается к Arduino, а потому нам интересно с этой точки зрения для изучения и обзора.

Для справки: комплект с компонентами модуля отлично подойдет для применения в приборах учета электроэнергии, газа, воды и др. Устройство обладает хорошим энергопотреблением, высокой надежностью и стабильностью работы.

Управление коннектором производится через последовательную связь с помощью AT-команд (их можно найти в сети, потому мы не будем приводить сегодня их примеры).

Рассмотрим характеристики:
  • 2 диапазона рабочих радиочастот: 900 ∕ 1800 МГц;
  • GPRS Class 10, максимальная скорость: 48 кбит/с;
  • Напряжение питания: 3,3 - 5 В;
  • Max потребляемый ток: до 2 А;
  • Стандартное потребление: 210 мА;
  • В режиме ожидания: 2,5 мА;
  • Диапазон рабочей температуры: -40°C ... +80°C.

Подключение NEOWAY M590 к Ардуино

Для корректного подключения модуля используются не все 14 пинов, а только несколько из них (для обмена данными rx и tx – UART, а также питание и boot). Последний из названных пинов необходимо замыкать на землю для старта самого модуля (иногда он называется иначе, например, K).

Принципиальная схема подключения такова:

Учитывайте один момент – gsm-модуль может потреблять до 2 ампер тока (особенно при пиковых нагрузках, например, при отправке смс). Стандартный блок питания от мобильной зарядки подключать не рекомендуется – коннектор просто сгорит. Советуем в этом случае использовать блок питания на 1-1,5 ампера и 5в, но и тут подключаем приборы через выпрямительный диод (для понижения напряжения).

Чтобы протестировать прибор, прописываем несложный скетч для отправки sms:
#include <SoftwareSerial.h> // библиотека, для работы с Serial
 
SoftwareSerial gsm_module(8, 7); // RX, TX
 
// функция для отправки смс
void sms_send(String text, String phone){
    // отправляем команду о начале отправки смс
    gsm_module.println("AT+CMGS=\"" + phone + "\"");
    delay(500);
    // указываем, какой текст отправить
    gsm_module.print(text);
    delay(500);
    // отправляем символ конца сообщения
    gsm_module.print((char)26);
    delay(500);
}
 
void setup() {
    // указываем, на какой скоросте будет происходить 
    // обмен данными с модулем
    gsm_module.begin(115200);
 
    //включаем АОН
    gsm_module.println("AT+CLIP=1");  
    delay(500);
    //режим кодировки СМС - обычный. Для английских символов
    gsm_module.println("AT+CMGF=1");  
    delay(500);
    //режим кодировки текста
    gsm_module .println("AT+CSCS=\"GSM\"");  
    delay(500);
 
 
    // ждем, пока модуль будет готов к работе
    while(1){ 
      gsm_module.println("AT+CPAS");
      if (gsm_module.find("0")) break;
      delay(100);  
    }
 
    // отправляем смс на номер +71234567890 с текстом "test sms"
    sms_send(String("test sms"), String("+71234567890"));  
}
 
void loop() {
    //
}
Коды для звонков выглядят следующим образом:
#include <SoftwareSerial.h> // библиотека, для работы с Serial
 
SoftwareSerial gsm_module(8, 7); // RX, TX
 
void setup() {
    // монитор порта
    Serial.begin(115200);
    // указываем, на какой скорости будет происходить 
    // обмен данными с модулем
    gsm_module.begin(115200);
 
    //включаем АОН
    gsm_module.println("AT+CLIP=1");  
    delay(500);
    //режим кодировки СМС - обычный. Для английских символов
    gsm_module.println("AT+CMGF=1");  
    delay(500);
    //режим кодировки текста
    gsm_module .println("AT+CSCS=\"GSM\"");  
    delay(500);
 
 
    // ждем, пока модуль будет готов к работе
    while(1){ 
        gsm_module.println("AT+CPAS");
        if (gsm_module.find("0")) break;
        delay(100);  
    }
 
    // отправляем команду для звонка на номер +71234567890
    gsm_module.println("ATD+71234567890;");
    delay(500);
    // проверяем результат
    if (gsm_module.find("OK")) {        
        Serial.println("ok");
    }else {
        Serial.println("error");
    }
}
 
void loop() {
    //
}
На этом всё. Хороших вам проектов!
Поделись в социальных сетях:
О авторе
Калугин Антон

Программист микроконтроллеров с 8-ми летним стажем, работал в таких компаниях как IBM, ASUS, Microsoft.

В комментариях с радостью отвечу на ваши вопросы.

Все статьи автора
Похожие новости

В новом информационном обзоре рассматриваем GSM модуль SIM800L к Arduino. Почему выбрано именно это устройство? Во-первых, оно достаточно известно и популярно...

Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...

В этой статье мы рассмотрим подключение ADS1115 к Ардуино. Речь идет о 16-битном аналого-цифровом преобразователе, оснащенном 4 входами непосредственно для...

Сегодня у нас на рассмотрении подключение MQ-135 к Arduino и все, что с ним связано. Данная тема и в особенности модуль сенсора выбраны не случайно, ведь в...

На повестке дня - подключение LM35 к Arduino. Сегодня мы рассмотрим модуль устройства, его базовые характеристики, область применения и схему подключения. И...

Оставить комментарий