Тестовый пуск GSM модуля SIM800L. SMS-контроллер на базе SIM800L Описание модуля A6

GSM/GPRS модуль на основе SIM800L самостоятельно подключить просто. Выполните несколько этапов и используйте современный компактный элемент в своих целях.

Корпорация SimCom предлагает пользователям компактный GSM/GPRS модуль на основе SIM800L. Улучшить сигнал позволяет встроенный разъем. Также можно воспользоваться антенной, которая идет в комплекте с этой модульной системой.

GSM/GPRS модуль SIM800L — описание

Детальное описание:

  • Питание модуля производится при помощи внешних источников или через DC-DC преобразовательные системы
  • Диапазон для питания должен быть в пределах 3.7В — 4.2В. Стоит отметить, что 5В от Arduino опасны для работы модуля, так как приведут его к поломке, а 3.3В помогут реагировать на пользовательские команды, но к сети подключение будет отсутствовать
  • Управление происходит через UART, но для Rx и Tx используется делитель напряжения, чтобы не производилась нагрузка на плату
  • Низкое энергопотребление модуля SIM800L позволяет его успешно использовать для техники с аккумуляторным питанием
  • При подаче питания модуль сразу же начинает искать сеть. Когда она найдена, начинает подавать сигнал светодиод, медленно мигая. Об отсутствии сети говорит этот же светодиод, но при помощи быстрого мигания лампочки
  • Модуль поддерживает micro SIM карты 1.8В и 3В

GSM/GPRS модуль SIM800L — подключение

Для подключения, кроме самого модуля, преобразователя и контроллера Arduino UNO R3, понадобится USB кабель, батарея на 12В и соединительные провода. Выполните следующие этапы:

  1. Сначала подайте питание к системе от батареи через DC-DC: от «минуса» напряжение должно идти на ардуино в «GND», от «GND» в преобразовательный элемент в «минус» на входе
  2. Подключение нужно производить после того, как вы настроите модуль, выставляя выходное напряжение в допустимом диапазоне (3.7В — 4.2В)
  3. Все контакты, которые выходят от преобразователя, подключите к SIM800L, соблюдая полярность
  4. TX и RX контакты на модуле соедините со 2-м и 3-м цифровыми контактами соответственно на ардуино

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

Наглядно в нижеследующем видео представлено, как подключить модуль SIM800L к Ардуино.

Видео: Подключение GSM модуля SIM800L к Arduino

Модуль GSM GPRS SIM800L (SIM800L) MicroSIM с антенной
SIM800L GPRS GSM Module MicroSIM Card Core BOard Quad-band TTL Serial Port

Миниатюрный модуль GSM/GPRS сотовой связи на основе компонента SIM800L , разработанного компанией SIMCom Wireless Solutions. Русскоязычная версия сайта SIMCom . Стандартный интерфейс управления компонента SIM800L предоставляет доступ к сервисам сетей GSM/GPRS 850/900/1800/1900МГц для отправки звонков, СМС сообщений и обмена цифровыми данными GPRS. Поставляется с встроенной антенной, также можно подключить дополнительные антенны для улучшения качества сигнала.
Управлять модулем можно при помощи персонального компьютера через преобразователь интерфейса USB-UART или непосредственно через UART модулем микроконтроллера самостоятельной разработки или Arduino, Raspberry Pi и аналогичными.
Компонент SIM800L имеет реализованный стек протокола TCP/IP. Содержит микросхему MT6260SA компании MediaTek и микросхему приемопередатчика RFMD RF7176.
Благодаря функции отправки СМС сообщений наиболее часто модуль GSM GPRS SIM800 MicroSIM с антенной используется в диспетчеризации, беспроводной сигнализации и в охранных системах. При этом в результате различных событий происходит отправка сообщений вида: “Аварийная остановка лифта 3 дома №17”, “Гараж открыт”, “Дверь подвала открыта”, “Отключено 220 по перегрузке”, “Протечка системы отопления”, “Отопительный котел выключен”, “Температура в теплице ниже нормы”.
К модулю GSM GPRS SIM800 MicroSIM подключаются динамик и микрофон. С модуля можно совершать звонки и принимать.

Характеристики

Питание
напряжение, В
номинальное 4
диапазон 3,4-4,4
ток
в режиме ожидания 0,7 мА
предельный 500 мА
Максимальное напряжение высокого уровня интерфейса UART 2,8 В
Скорость UART 1200-115200 бод
Четыре диапазона EGSM900, DCS1800, GSM850, PCS1900
Мощность передачи в различных диапазонах
DCS1800, PCS1900 1 Вт
GSM850, EGSM900 2 Вт
Автоматически выполняет поиск в четырех частотных диапазонах
Поддерживает сеть 2G
Сопротивление подключаемого динамика 8 Ом
Микрофон электретный
Управляется командами AT через UART (3GPP TS 27.007, 27.005 SIMCOM enhanced AT Commands)
Автоматическое определение скорости передачи управляющих АТ команд
Отправка и получение GPRS данных (TCP/IP, HTTP, и т.д.)
Макс скорость передачи GPRS данных 85,6 Кбод
Кодирование CS-1, CS-2, CS-3 и CS-4
Поддерживает GSM 07.10 протокол
Поддержка пакетной передачи широковещательного канала управления (PBCCH) CSD на скоростях 2.4, 4.8, 9.6 и 14.4 Кбод
Поддержка неструктурированных данных дополнительных услуг USSD
Поддерживает PAP (протокол идентификации пароля)
Поддержка часов реального времени RTC
Поддерживает симкарт питанием 3 и 1,8 В
Температура, ℃
воздуха при работе -30...75
хранения -45...90
Размеры 25 х 25 мм

Индикация

При включении модуля GSM GPRS на плате быстро мигает светодиод. При установке соединения с мобильным оператором частота мигания снижается. Если связь с мобильным оператором потеряна, то светодиод опять мигает быстро.


Быстрое мигание светодиода говорит о поиске в эфире сигнала станции мобильной связи.

Подключение

Названия некоторых контактов и функции сигналов, линий.

Для улучшения качества сигнала подсоединяется антенна. Превышение входного напряжения интерфейса UART приведет к порче модуля SIM800. Не существует преобразователя интерфейса USB-UART c выходным напряжением 2,8 В. Существующие преобразователи имеют более высокое напряжение на выходе UART. Поэтому между выходом преобразователя и входом модуля GSM GPRS SIM800 устанавливается резисторный делитель напряжения.

В зависимости от выходного напряжения U_usbttl имеющегося у вас преобразователя интерфейса рассчитываются номиналы резисторов в делителе по формуле, приведенной на рисунке. При расчетах следует стремиться к величинам сопротивлений порядка нескольких килоом.

Первые шаги

Для проверки работоспособности устройства достаточно иметь ПК и симкарту с небольшим денежным счетом. Проверку работоспособности можно проводить по двум методам подключения модуля к ПК: через преобразователь интерфейсов USB-UART или используя Arduino UNO. Рассмотрим метод проверки без Arduino. Установите симкарту в модуль GSM GPRS, соблюдая расположение контактов. Соедините ПК через преобразователь интерфейсов USB-UART с устройством по схеме приведенной выше. Подключите питание номинальным напряжением. Дождитесь ориентируясь на мигание светодиода подключения к мобильному оператору. Включите на ПК терминальную программу. Данные в нее следует вводить большими буквами. Используя терминальную программу отправьте в модуль GSM GPRS SIM800 через порт подключения следующие команды.

АТ
Ответ модуля ОК

AT+CSQ
Ответ модуля +CSQ: 18,0 OK

Эта команда дает информацию о уровне сигнала. Первое число - уровень сигнала, величина 18 означает -78 dbм. Второе число - количество ошибочно принятых бит, величина “0” говорит о доле ошибок менее 0,2 %, что свидетельствует о хорошей связи.


Попробуйте отправить в модуль команду ATI.

Если у вас нет преобразователя USB-UART, то можно использовать Arduino UNO. Соедините контакт RX модуля SIM800L с контактом 11 цифрового сигнала Arduino UNO применяя резисторный делитель напряжения. Величины сопротивлений резисторов нужно вычислить заново учитывая напряжение питания Arduino UNO. Соедините контакт TX модуля SIM800L с контактом 10 цифрового сигнала Arduino UNO. Загрузите в ардуино программу, текст которой приведен далее. Здесь используется библиотека SoftwareSerial позволяющая реализовать последовательный интерфейс на любых цифровых выводах Ардуино с помощью программных средств, дублирующих функциональность UART.

#include
SoftwareSerial mySerial(10, 11); // RX, TX
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
mySerial.begin(9600);
}
void loop() // run over and over
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
{
while(Serial.available())
{
mySerial.write(Serial.read());
}
mySerial.println();
}
}

Текст программы и много полезной информации . Теперь вы можете отправлять AT команды через последовательный монитор Arduino.

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

Рассмотрим как связать Адруино с GSM модулем SIM800L. Существуют GSM шилды специально для Ардуино, но по цене они достаточно дороги, потому решил приобрести бюджетный вариант. Статья может быть полезна так же для подключения модуля SIM900, NEOWAY M590, и некоторых сотовых телефонов. Неудобный нюанс в том, что этот модуль требует нестандартное для Ардуино питание 3.7В, поэтому запитывать пришлось отдельно через понижающий преобразователь напряжения.

Подключение

Для подключения я использовал следующие компоненты:

  1. Контроллер Arduino UNO R3 + USB кабель
  2. GSM модуль SIM800L (питание от 3.7В до 4.2В)
  3. Преобразователь напряжения понижающий (DC-DC step-down converter)
  4. Батарея 12В (или любой источник питания от 6В до 20В)
  5. Соединительные провода

Соединяем Ардуино с компьютером через USB кабель.

Даем питание к GSM модулю от батареи 12В через преобразователь:

  • от 12В "минус" идет на ардуино в "GND", от "GND" в преобразователь напряжения во "входящий минус".
  • от 12В "плюс" идет в преобразователь напряжения во "входящий плюс".

Возникает вопрос: можно ли подать питание от самой Ардуино от 5В? Напрямую не рисковал бы. Но можно подобрать диод или стабилизатор напряжения.

Перед подключением к преобразователю напряжения необходимо его настроить выставив выходное напряжение на любое в диапазоне 3.7В - 4.2В. От преобразователя напряжения выходящие контакты подключаем к GSM модулю, соблюдая полярность.

TX и RX контакты на GSM модуле соединяем с 2 и 3 цифровыми контактами на Ардуино. Если необходимо подключить несколько GSM модулей к Arduino, то используйте другие пины и прописывайте в скетче через SoftwareSerial.

Скетч

#include <SoftwareSerial .h> SoftwareSerial mySerial(2, 3); // RX, TX void setup () { Serial .begin (19200); //Скорость порта для связи Arduino с компьютером Serial .println ("Goodnight moon!" ); mySerial.begin (19200); //Скорость порта для связи Arduino с GSM модулем mySerial.println ("AT" ); } void loop () { if (mySerial.available ()) Serial .write (mySerial.read ()); if (Serial .available ()) mySerial.write (Serial .read ()); }

Процедура для отправки СМС

void sms (String text , String phone ) { Serial . println ("SMS send started" ) ; mySerial . println ("AT+CMGS=\"" + phone + "\"" ) ; delay (1000 ) ; mySerial . print (text ) ; delay (300 ) ; mySerial . print ((char ) 26 ) ; delay (300 ) ; Serial . println ("SMS send finish" ) ; delay (3000 ) ; }

Процедуру добавлять в конец скетча и вызывать её из основного цикла так: sms(String("текст СМС на англ."),String("+791212345678"));

Проверка

Включаем питание затем через монитор порта, выставив скорость 19200 и обязательно опцию "новая строка".

Вводите команду "ATI" и нажмите ENTER. Должна появиться информация от модели модуля.

Пробовал отправить на модуль СМСку через бесплатный сервис от Теле2, приходят непонятные строки. Пробовал в модуле сменить кодировки. Вопрос пока не решен.

Видео


SIM800L V2.0 GSM/GPRS - это четырехдиапазонный GSM/GPRS модуль, совместимый с Arduino. Модуль используется для реализации функций GSM (звонки и SMS) и GPRS. Преимуществом этого модуля являются интерфейс TTL, имеющие вольтаж равный 5В, что позволяет напрямую подключить его к Arduino или любой другой системе с напряжением питания 5В. Большинство GSM/GPRS модулей на рынке требуют подключений регулятора или преобразования уровня, в то время как в SIM800L V.2 GSM/GPRS не требует дополнительных цепей преобразования уровней интерфейсов.

Приведем пример проекта, использующего SIM800L V.2 GSM/GPRS. Смысл проекта в управлении переключателей с помощью SMS-контроллера. Вы с легкостью сможете включать и выключать большинство предметов бытовой техники в доме, как например ламу, вентилятор и так далее.

Характеристики модуля SIM800L V.2 GSM/GPRS

Ниже приведены все технические характеристики модуля SIM800L V.2 GSM/GPRS:
  • Серийный интерфейс TTL совместимый с 3,3В и 5В микроконтроллерами, совместимыми с Arduino.
  • Модуль SIM800L имеет серийный интерфейс TTL.
  • Штекер подключения антенны.
  • Поддержка сети: четыре диапазона 850/900/1800/1900 МГц, способные осуществлять звонки, SMS и передачу данных со значительно уменьшенным расходом заряда.
  • Интерфейс VDD TTL UART, так что вы сможете напрямую подключить MCU такой, как 51MCU, ARM или MSP430. Штекер VDD используется для соответствия вольтажу TTL.
  • Модель: SIMCOM SIM800L
  • Рабочий вольтаж: от 3,7В до 5В;
  • размеры: 40мм х 28мм х 3мм
  • GPRS мультислот-класс 12/10
  • GPRS пакетных сервис класс B
  • Соответствует GSM фазе 2/2+
  • Класс 4 (2 Ват @ 850/900 МГц)
  • Класс 1 (1Ват @ 1800/1900Мгц)

Необходимые материалы