Обзор модуля GSM, GPRS на чипе SIM800L

13
Обзор модуля GSM, GPRS на чипе SIM800L

Модуль GSM, GPRS на чипе SIM800L — это миниатюрный GSM-модем, который можно использовать в различных проектах, таких как охрана дачи или дома, сигнализация в машине и многое другое. Данный модуль, по функционалу не чем не уступает обычному сотовому телефону и с его помощью можно, отправлять SMS сообщения, совершать или принимать телефонные звонки, подключаться к Интернету через GPRS, TCP / IP и многое другое. А так же, модуль поддерживает четырехдиапазонную сеть GSM / GPRS.

Технические параметры 

► Напряжение питания: 3.7 В ~ 4.4 В
► Потребляемый ток режима ожидания: 0,7 мА
► Пиковый ток: 2 А
► Скорость UART: 1200 – 115200 бод
► Формат SIM карты: microSIM
► Рабочий диапазон: EGSM900, DCS1800, GSM850, PCS1900
► Мощность передачи DCS1800, PCS1900: 1 Вт
► Мощность передачи GSM850, EGSM900: 2 Вт
► Режим сети: 2G
► Габариты: 25 мм х 24 мм х 4 мм

Общие сведения

В основе модуля лежит чип SIM800L от SimCom. Рабочее напряжение чипа составляет от 3.4 В до 4.4 В, что делает его идеальным, для прямого питания от литиевой батареи.

Обзор модуля GSM, GPRS на чипе SIM800L

Контакты чипа SIM800L выведены по бокам модуля. Включая контакты необходимые для связи с микроконтроллером интерфейс UART, поддерживаемая скорость от 1200 бит / с до 115200 бит / с с автоматическим определением скорости. Для подключения к сотовой сети, нужна внешняя антенна, которая идет в комплекте с модулем. Так-же, на плате имеется разъем U.FL, если необходимо подключить выносную антенну.

Обзор модуля GSM, GPRS на чипе SIM800L

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

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

Обзор модуля GSM, GPRS на чипе SIM800L

Распиновка GSM-модуля SIM800L
На модуле SIM800L расположено 12 контактов, которые необходимы для связи с микроконтроллером и подключении динамика и микрофона. Соединения следующие:

► NET — Вывод для припаивания спиральной антенну.
► VCC — Питание модуля, от 3,4 В до 4,4 вольт.

Помните, что подключение модуля к 5 В, приведет к его выходу из строя, он так же не работает и от 3.3 В. Для его работы необходим внешний источник питания, Li-ion аккумулятор или понижающие преобразователи постоянного тока на 3,7 В, 2A.

► RST (Reset) — Вывод сброса модуля.
► RxD (Receiver) — Вывод последовательной связи.
► TxD (Transmitter) — Вывод последовательной связи.
► GND — Вывод заземления, должен быть подключен к выводу GND на Arduino.
► RING — Вывод индикатора звонка.
► DTR — Вывод активации / деактивации спящего режима.
► MIC ± — Микрофонные вывод.
► SPK ± — Вывод динамика.

Питание для модуля SIM800L
Для стабильной работы модуля SIM800L необходим источник питания с выходным напряжением от 3,4 до 4,4 В (в идеале 4,1 В) с максимальным рабочим током 2А. В качестве источника питания можно использовать Li-ion аккумулятор (1200mAh и выше) или стабилизатор напряжения на LM2596.

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

Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Макетная плата 400 контактов, breadboard x 1 шт.
► Резисторы 0,128 Вт, 10 кОм x 2 шт.
► Модуль GSM, GPRS на чипе SIM800L x 1 шт.
► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.

Подключение:
Первое делом необходимо припаять антенну или установить выносную, далее установите SIM карту в разъем. Теперь подключаем вывод Tx на модуле к выводу 3 на Arduino. Вывод Rx нельзя подключать напрямую, так как цифровой вывод Arduino Uno использует 5В, а модуль SIM800L использует 3,3В. Необходимо сигнал Tx, поступающий от Arduino UNO, понизить до 3,3В, чтобы не спалить модуль SIM800L. Самый простой способ, это воспользоватся делителем напряжения на резисторах. Подключаем резистор на 10 кОм между выводом Rx (SIM800L) и выводом 2 (Arduino) и второй резистор на 10 кОм между выводом Rx (SIM800L) и GND. Теперь осталось подключить питание модуля, в примере используется стабилизатор напряжения на LM2596.

Подключение SIM800L к Arduino

Программа №1 — Тестирование AT-команд

Для отправки AT-команд и связи с модулем SIM800L будем использовать окно «Мониторинг порта». Копируем приведенный скетч ниже и загружаем его в Arduino.

Скачать скетч

Открываем окно «Мониторинг порта» , устанавливаем скорость «19200» и «NL (Новая строка)».

Подключение SIM800L к Arduino

Скетч начинается с включения библиотеки «SoftwareSerial.h» и указании выводов к которым подключены Tx и Rx модуля SIM800L.

В функции void setup(), инициализируем последовательный связь между Arduino и модулем SIM800L на скорости 9600 бод.

Далее, идет отправка серий AT-команд:

AT — это самая основная команда AT. Если все работает, в ответ получаем, символ AT, а затем ОК, сообщая, что все в порядке.
AT+CSQ — проверка уровня сигнала в дБ, должно быть выше 5.
AT+CCID — получение номера SIM-карты.
AT+CREG? — проверка регистрации в сети.

В функции void loop() мы вызываем функцию updateSerial (), которая перенаправляет данные от последовательного порта и отправляет их в модуль SIM800L, через вывод D2 (RX), а так же на оборот, перенаправляет данные от вывода D3 (TX) на последовательный порт.

Теперь можно отправить команды через окно «Мониторинг порта», для получения дополнительной информации о сетевом подключении и состоянии батареи.

ATI — получить название модуля и ревизию
AT+COPS? — проверка регистрации в сети (MTS)
AT+COPS=? — список операторов в сети.
AT+CBC — команда возвращает состояние батареи
— значение «0» указывает, что модуль питается от батареи
— значение «72» показывает, процент заряда батареи в % (72%)
— значение «3983» показывает фактическое напряжением в мВ (3,983 В).

Подключение SIM800L к Arduino

Программа №2 — Отправка SMS

В данном примере запрограммируем Arduino для отправки SMS на указанный номер телефона. Прежде чем загрузить пример необходимо ввести номер телефона. Найдите строку +7xxxxxxxxxx и замените его на необходимый номер телефона.

Скачать скетч

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

AT + CMGF = 1 — выбирает формат SMS-сообщения в виде текста. Формат по умолчанию PDU.
AT + CMGS = +7xxxxxxxxxx — отправляет SMS на указанный номер телефона.

Подключение SIM800L к Arduino
Подключение SIM800L к Arduino

Программа №3 — Получение SMS

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

Скачать скетч

Программа очень похожа, за исключением приведенного ниже фрагмента кода.

AT+CNMI=1,2,0,0,0 — указывает как должны обрабатываться вновь поступившие SMS-сообщения.
Ответ получим +CMT: все поля разделены запятыми:
— первое поле, указывается номер телефона отправившего SMS.
— второе поле, имя человека, отправляющего SMS.
— третье поле, времени получения SMS
— четвертое поле, сообщение.

Подключение SIM800L к Arduino
Подключение SIM800L к Arduino

Программа №4 — Звонок

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

Скачать скетч

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

ATD+ +7xxxxxxxxxx; — Набирает указанный номер.
ATH — закончить звонок

На рисунках ниже показан звонок из GSM-модуля SIM800L.

Подключение SIM800L к Arduino
Подключение SIM800L к Arduino

Программа №5 — Принятие звонка

В последнем примере, будем принимать звонок, для этого ненужно специального скетча, необходимо просто считывать постоянно данные с модуля SIM800L.

Скачать скетч

Входящий вызов обычно обозначается как «RING» на последовательном мониторе, за которым следует номер телефона и идентификатор звонящего. Чтобы принять / повесить звонок, используются следующие AT-команды:

ATA — принять звонок.
ATH — отказ от звонка.

Ниже вывод на последовательном мониторе показывает вызов, полученный GSM-модулем SIM800L.

Подключение SIM800L к Arduino
Подключение SIM800L к Arduino

Обзор модуля GSM, GPRS на чипе SIM800L

Купить на Aliexpress
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
  Модуль GSM, GPRS на чипе SIM800L
  Преобразователь напряжения LM2596, DC 3.2-40B на DC 1.38-35B, 3А, Step-Down
  Преобразователь напряжения LM2596 с вольтметром, DC 4-40B на DC 1.38-35B, 3А, Step-Down

Купить в Самаре и области
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
  Модуль GSM, GPRS на чипе SIM800L
  Понижающий преобразователь напряжения LM2596, DC 3.2-40B на DC 1.38-35B, 3А
  Понижающий преобразователь напряжения LM2596 с вольтметром, DC 4-40B на DC 1.25-37B, 3А


13 комментариев для “Обзор модуля GSM, GPRS на чипе SIM800L

  1. Здравствуйте, подскажите пожалуйста, а как сделать white-list для принятия сообщения на arduino?

  2. Здравствуйте, скажите пожалуйста, из-за чего модуль SIM800L на протяжении какого то времени работал, отправлял сообщения на смартфон, а потом вышел из строя и теперь пишет следующее:
    AT OKAT+CMGF=1 ERRORAT+CMGS=»+79080730938″ ERRORTemperature < +28C ERROR
    Ранее везде где сейчас ERROR, модуль отправлял OK
    Устройство проработало сутки

  3. Добрый день!
    Появился в хозяйстве ESP-800L.
    Форм-фактор и разъем напоминает обычный Wi-Fi модуль ESP8266-01 (ESP-01)
    Возможно ли допустим его подключить допустим к модулю реле для ESP8266-01S или ESP-01S DHT-11 ?

    1. Добрый день, Ильгиз.
      Не работал с этим модулем, но для модуля SIM800 нужен контроллер который будет управлять им, работать с модулем реле и DHT-11 напрямую не будет.

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

  5. Нет, AREF это ВХОД опорного напряжения АЦП. Чисто аналоговых выходов у Ардуины (на чипе Atmega328) — нет. Есть выходы на которые может подаваться ШИМ сигнал.

  6. Спасибо, очень полезный обзор, особенно для тех кто с нуля. Нужно добавить, что СИМку надо кроме активации , еще и отключить в установках телефона Pin код. На макетной плате подать питание на SIM800 сразу после понижающего модуля, все соединения должны быть надежными, а так же проверять работу в зоне хорошего приема, без него тоже никак. Еще раз спасибо.

  7. Доброго здравия желаю! Благодарю за подробное описание SIM800! Прошу помощи ещё в одном вопросе: можно ли его без ардуино настроить как генератор несущей? Мне для проверки измерителей ЭМИ нужны компактные источники СВЧ любого диапазона. Благодарствую!

  8. Ребята, можете подсказать как отсеивать номер? писать в порт понятно, а вот идея в том чтобы звонок от номера внесённого в список вызывал команду вкл. реле, а абонент не из списка просто висел и не было приёма от него звонка
    помогите плииз!

    1. используй телефонную книгу модуля симм800, есть ат команды записи в нее номеров и имён, чтения редактирования и удаления, каждая запись идёт под своим номером что облегчает работу с ней. хотите отправить смс адресату а имени не помните как пишется, через цикл считали все записи где имя соответствует какой то маске, например содержит иван, в ответ получите команду со списком всех записей где в поле имя будет это сочетание — и Иваны и Ивановы и т п. как вариант отправить всем смс можно, но если знаете сразу номер записи то считываете поле телефон адресной книги где номер записи такой то, и присваивает полученное значение переменной которую потом представляете в AT+CMGS. аналогично делается проверка белого списка номеров для входящих сообщений, если вам белый список не статичный нужен а изменяемый не только пеоепрлшивкой нового скетча. ищите мануал ат команд на сим800, он есть в свободном доступе

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *