Модуль RF020 Shield GPRS/GSM SIM900 с антенной

Артикул: RDKT0120
Нет в наличии
3150 руб

    Доставка заказов

   По Москве    По России
- Курьер - Почта России
- Пункты выдачи Boxberry - Пункты выдачи Boxberry
- Самовывоз - ТК «Деловые линии»
Международная доставка осуществляются компанией СДЭК. Расчёт стоимости доставки по запросу на e-mail.

 

 

 

  • Описание

Модуль для работы микроконтроллерных устройств Arduino и аналогичных в сетях сотовой связи по стандартам GSM и GPRS. Ориентирован на использование в системах автоматики и управления. Обмен данными с другими модулями происходит через интерфейс UART. Shield GPRS/GSM SIM900 с антенной может сопрягаться непосредственно с микроконтроллером через интерфейс UART или работать совместно с персональным компьютером при использовании преобразователя интерфейса портПК–UART. Это возможно благодаря программной совместимости на уровне класса команд используемых для управления модемами – АТ команды.
Мониторинг объектов и управление ими происходит благодаря обмену данными в пределах досягаемости мобильной связи. Обеспечивается голосовая связь, отправка СМС, ММС и много других функций и сервисов. Работа модуля основана на компоненте SIM900.

 

Одно из применений устройства – система слежения за перемещениями транспорта совместно с ГЛОНАСС или GPS прибором. Отправка СМС сообщений позволяет использовать модуль в диспетчеризации, беспроводной сигнализации и в охранных системах. В результате происходящих событий могут отправляться различные СМС: “Аварийный стоп лифта 2 дома №34”, “Дверь автомобиля открыта”, “Подвал открыт”, “Напряжение 220 В выключено”, “Входная дверь дачи открыта”, “Включено освещение”, “Температура в теплице ниже критической”. Модуль незаменим для контроля и управления подвижными объектами, перемещающимися на большие расстояния. Или в случае удаления оператора на большое расстояние от стационарного объекта.



Shield GPRS/GSM SIM900 с антенной дает широкие возможности изучения работы компонента SIM900. Монтаж компонента SIM900 выполняется по самым современным технологиям из-за чего припаять к печатной плате SIM900 в лабораторных условиях весьма затруднительно. Имея модуль с установленным SIM900 можно проводить эксперименты по применению компонента SIM900. При использовании в собственных разработках компонента SIM900 появляется возможность отладки программного обеспечения и проверки схемотехнических решений.

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

Питание
напряжение, В
номинальное 5
диапазон 4,8–5,2
ток
обычный режим 50–450 мА
в спящем режиме 1,5 мА
предельный импульсный 2 А
Поддерживает симкарты питанием 1,8 и 3 В
Диапазоны связи 850, 900, 1800, 1900 МГц
Поддерживает сеть 2G
Мощность передачи в различных диапазонах
1 Вт 1800 и 1900 МГц
2 Вт 850 и 900 МГц
Соответствует стандарту GSM фазы 2/2+
Встроенные протоколы TCP и UDP
Класс передачи данных GPRS multi-slot class 10/8
Аудиокодеки HR, FR, EFR, AMR, подавление эха
CSD до 14,4кбит/сек
PPP стек
MUX (07.10)
Протоколы HTTP и FTP
Есть возможность отправлять сигналы DTMF и проигрывать записи как на автоответчике
Поддержка часов реального времени RTC
Температура, ?
воздуха при работе –30...75
хранения –45...90
размеры 86 х 58 х 19 мм

Компоненты управления

Переключателем Power select устанавливается источник питания: внешний, подключенный к коаксиальному соединителю или источник питания микроконтроллерного модуля Arduino.

 src=

Кнопкой Power key включается или выключается питание при нажатии и удерживании в течение 2 с.

Индикация

О состоянии модуля сообщают 3 светодиода:
PWR (зеленый) – индикатор питания модуля,
Status (красный) – индикатор питания компонента SIM900,
Net Light (зеленый) – соединение с сетью.
Сообщения светодиода Net Light.
Выключен – SIM900 не работает.
Мигает с интервалами, указано в секундах:
0,064 включен и 0,8 выключен – сеть не обнаружена,
0,064 включен и 0,3 выключен – сеть обнаружена,
0,064 включен, 0,03 выключен – GPRS подключен.




Контакты

 width=

Компонент SIM900 содержит порт UART, его сигналы выведены на выводы компонента и соединены с перемычками, устанавливающими с какими контактами модуля Shield GPRS/GSM SIM900 будет соединен порт UART компонента SIM900 с D0, D1 или D7, D8.
UART Shield GPRS/GSM можно подключнить: к аппаратному интерфейсу МК через контакты TXD и RXD модуля Shield GPRS/GSM, для этого используются D0, D1. Или к программно эмулируемому средствами ардуино, для этого используются контакты D7 и D8 модуля Shield GPRS/GSM. Полный интерфейс UART имеет 10 сигналов выведенных на контакты в углу платы: R1, DCD, DSR, CTS, RTS, GND, 2V8, TX, RX, DTR.
12 подписанных контактов цифровых линий ввода-вывода GPIO расположены в углу платы. Имеется 2 контакта выходных сигналов с широтно-импульсной модуляцией PWM1, PWM2. Вход АЦП контакт ADC. Интерфейс встроенного счетчика времени имеет 4 контакта. Обозначение контактов: DISP_CLK, DISP_DATA, DISP_D/C, DISP_CS.
Контакт D9 используется для программного контроля включения или выключения SIM900.
На плате установлен соединитель для подключения антенны.

 width=

Назначение выводов компонента SIM900.

Внешнее включение и выключение питания

Включить или выключить питание модуля можно с помощью сигнала на управляющем входе D9. Для изменения состояния на D9 подается импульс продолжительностью 1 с. Изменение состояния происходит спустя 3,2 с после начала импульса.

 src=

Включение модуля. Графики напряжения питания модуля, внешнего управляющего импульса и индикатора питания STATUS.

При управлении модулем руководящим устройством включение должно происходить без применения кнопки Power key, т. е. сразу после подачи питания. Для этого в программу МК следует добавить несколько команд.

void powerUpOrDown()
{
pinMode(9, OUTPUT);
digitalWrite(9,LOW);
delay(1000);
digitalWrite(9,HIGH);
delay(2000);
digitalWrite(9,LOW);
delay(3000);
}

Эту группу команд в программе можно использовать и для выключения модуля. Также выключить GSM модуль можно посылая AT команду.

AT+CPOWD=1

Перемычки

Возле антенного гнезда расположены перемычки J11 и J12. С их помощью задаются контакты используемые интерфейсом UART компонента SIM900: TX, RX или D7, D8. Контакты TX, RX предназначены для подключения к интерфейсу UART являющемуся периферией МК. Благодаря программной эмуляции средствами ардуино интерфейса UART через контакты D7, D8 может происходить обмен сигналами в соответствии с требованиями UART если аппаратный UART занят. Установку перемычек следует выполнять ориентируясь на надписи возле контактов перемычек.


Подготовка к включению


У подготовленной симкарты на счету должно быть некоторое количество денег. Для установки симкарты переведите фиксатор в положение OPEN и поднимите крышку.
В нее установите симкарту как изображено на фото, закройте крышку и переведите ее в положение LOCK. Установите с помощью перемычек способ обмена данными UART. Подключите антенну. Соедините Shield GPRS/GSM SIM900 с основным прибором.








Несколько важных моментов работы и подключения модуля категории SIM900.

Первые эксперименты

Для начала наладим связь Shield GPRS/GSM SIM900 с персональным компьютером. На этом этапе не требуется Arduino и другие устройства содержащие МК. Потребуется преобразователь интерфейса USB–UART. Скачайте на ПК программу SSCOM32 отсюда и установите ее. Подготовьте модуль к включению как рассказано выше. Подключите антенну. Соедините ПК с модулем через преобразователь интерфейсов USB–UART.

 width=

Уровни сигналов интерфейса UART преобразователя должны соответствовать устройству питающемуся от напряжения 5 В. Соедините модуль с источником питания имеющим параметры для надежной работы модуля. Питание от преобразователя интерфейса возможно только в исключительном случае при обеспечении им большой мощности. Установите перемычки выбора контактов интерфейса модуля в положение выбирающее контакты RX и TX. Соедините интерфейс UART преобразователя с контактами модуля как изображено на фото по схеме RX–TX и TX–RX. Установите переключатель Power select в положение соответствующее используемому источнику питания. Включите источник питания. Нажмите и удерживайте кнопку Power key на плате Shield GPRS/GSM SIM900 в течение трех секунд. Ждите полминуты для подключения модуля к мобильной сети.
Включите на ПК программу SSCOM32 или терминальную программу более привычную для вас. Программа терминал входит в стандартный набор утилит Windows.




Работа с АТ командами с помощью стандартной утилиты Windows.

Есть множество терминальных программ, которые можно скачать из сети. Терминал изначально предназначался для работы с модемами. С помощью терминальной программы отправляются команды в подключенный прибор и принимаются ответы на команды. Результатом выполнения команды будет изменение в работе прибора сопровождаемое комментариями наблюдаемые в окне терминальной программы. Этот класс команд управления называется AT команды. Они вводятся большими латинскими буквами в окне терминала. После набора текста команды и отправки ее в подключенный прибор в следующей строке должен появиться ответ прибора. Для взаимодействия с SIM900 существующий набор АТ команд расширен. Это описывается стандартами GSM 07.07, 07.05.
Почти все команды имеют 3 режима:
тестовый =? – модуль сообщит поддерживается команда или нет и ее параметры,
чтение ? – текущие параметры команды,
запись = записываем новые значения для команды.
A/ – повтор предыдущей команды.

 src=

Окно программы SSCOM32.

В настройках программы терминала укажите параметры обмена данными 8-N-1 – 8 бит данных, без бита четности, длительность стоп бита 1 битовый временной интервал. Укажите скорость обмена данными 9600 бод, возможно подойдет скорость 19200 бод.
Введем самую простую команду для проверки всех элементов связи модуля и ПК, а также убедимся в работоспособности модуля. В окне программы введите две буквы в латинской раскладке клавиатуры:
 AT и нажмите Enter.

В ответ должно прийти сообщение:

ОК



Приводим некоторые АТ команды SIM900.
Команда Ответ модуля  
AT+GCAP +GCAP: +FCLASS, +CGSM
ОК
Поддерживаемые функции
AT+GMM SIMCOM_SIM900
ОК
Тип компонента SIM900
AT+GMR Revision: 2268B12SIM900M64_ST
ОК
Версия
AT+GSN 12433711765YYY
ОК
Международный идентификатор мобильного оборудования – IMEI
AT+COPS? +COPS: (2, "MTSRU", ", "36002"), (1,"Tel","Tel","36140")
ОК
Доступные мобильные операторы
AT+CPAS +CPAS: 3
ОК
Состояние
0 – к работе готов
2 – неопределено
3 – входящий звонок
4 – голосовое соединение
AT+CREG? +CREG: 0,1
ОК
Тип регистрации в сети
Первый параметр:
0 – нет кода
1 – есть код
2 – есть код + дополнительные параметры
Второй параметр:
0 – не зарегистрирован, нет поиска сети
1 – регистрация, домашняя сеть
2 – не зарегистрирован, идет поиск новой сети
3 – регистрация отклонена
4 – неизвестно
5 – роуминг
AT+CSQ +CSQ: 17,1
ОК
Уровень сигнала:
0 – -115 dB и менее
1 – -112 dB
2…30 – -110…-54 dB
31 – -52 dB и более
99 – нет приема




Управление с помощью АТ команд.

Shield GPRS/GSM SIM900 с антенной и Arduino

Для знакомства с Shield GPRS/GSM SIM900 если у вас нет преобразователя интерфейса, то АТ команды можно отправлять через Arduino. В компьютере будет использоваться терминальная программа hyperterminal или SSCOM32. АТ команды должны сопровождаться символом возврата каретки. Для этого необходимо указать "+CR" в настройках порта терминальной программы.
Загрузите в Ардуино следующую программу.

// программа связи ПК и GSM модуля на скорости 19200 бод, формат 8-N-1

#include

SoftwareSerial GPRS(7, 8);
unsigned char buffer[64]; // массив данных поступает в буфер через последовательный порт
int count=0; // счетчик массива буфера
void setup()
{
GPRS.begin(19200); // скорость передачи GPRS
Serial.begin(19200); // скорость передачи UART

}

void loop()
{
if (GPRS.available()) // если данные идут из softwareserial => данные поступают из модуля GSM
{
while(GPRS.available()) // чтение данных в массив символов
{
buffer[count++]=GPRS.read(); // записи данных в массив
if(count == 64)break;
}
Serial.write(buffer,count); // если не заканчивается передача данных,
// то записать в буфер аппаратного последовательного порта
clearBufferArray(); // вызвать функцию clearBufferArray для очистки данных массива
count = 0; // сброс счетчика цикла

}
if (Serial.available()) // если данные есть в аппаратном UART => данные поступают от ПК
GPRS.write(Serial.read()); // запись в модуль GSM
}
void clearBufferArray() // очистка буфера
{
for (int i=0; i { buffer[i]=NULL;} // очистка индексов массива
}

Интерфейс UART микроконтроллера Arduino будет занят для связи с компьютером. Для связи с модулем программа будет эмулировать с помощью библиотеки SoftwareSerial второй порт UART на контактах Arduino D7 и D8.
Перемычки UART модуля GSM установите в положение D7 и D8. Соедините контакты Arduino D7 и D8 с контактами GSM модуля Software serial предназначенными для программной эмуляции интерфейса UART. Подключите Arduino к компьютеру с помощью кабеля USB.

 src=

Соединение ПК, Ардуино и GSM модуля для управления с помощью АТ команд.

Данные из компьютера, подключенного к аппаратному UART Ардуино будут передаваться на GSM модуль, подключенный к программно эмулируемому на Ардуино интерфейсу UART. Мы сможем передавать АТ команды управления на GSM модуль.
Другой способ соединения Shield GPRS/GSM SIM900 с антенной и Arduino через UART для других программ.

 width=

Еще один вариант соединения Shield GPRS/GSM SIM900 с Arduino UNO. Перемычки UART модуля GPRS установлены в положение D7 и D8.

 width=

Соединение Shield GPRS/GSM SIM900 с Arduino mega.

Соединение Shield GPRS/GSM SIM900 с internet

GPRS – надстройка над технологией мобильной связи GSM, позволяющая проводить передачу данных. GPRS позволяет пользователю сети сотовой связи производить обмен данными в GSM сети, а также с внешними сетями, например internet. Установка параметров GPRS подключения SIM900 и подключение к internet проходит с помощью команды AT+SAPBR с параметрами количеством до четырех.

1 параметр – тип выполняемой операции.
0 – отключиться
1 – соединиться
2 – запросить сведения о соединение
3 – передать параметры соединения
4 – запросить параметры соединения
5 – сохранить настройки в энергонезависимую память модуля
2 параметр – CID или идентификатор профиля.
Оставшиеся 2 параметра могут применять различные значения в зависимости от запроса.
Команда  
AT+SAPBR=1,1
ОК
Устанавливаем GPRS соединение
AT+SAPBR=2,1
+SAPBR: 1,1,"nnn.nnn.nnn.nnn"
ОК
Сведения о соединении и IP-адрес
Второй параметр ответа:
0 – соединение устанавливается
1 – соединение установлено
2 – соединение закрывается
3 – нет соединения
Третий параметр ответа – IP-адрес
AT+SAPBR=0,1
ОК
Закрыть GPRS соединение
AT+SAPBR=3,1,"CONTYPE","GPRS"
ОК
AT+SAPBR=3,1,"APN","internet.mts.ru"
ОК
AT+SAPBR=3,1,"USER","mts"
ОК
AT+SAPBR=3,1,"PWD","mts"
ОК
Установка настроек подключения
CONTYPE – тип подключения GPRS или CSD
APN – точка подключения
USER – имя пользователя
PWD – пароль
PHONENUM – номер телефона (для CSD)
RATE – скорость соединения (для CSD)
AT+SAPBR=4,1
+SAPBR:
CONTYPE: GPRS
APN: internet.mts.ru
PHONENUM:
USER: mts
PWD: mts
RATE: 2
ОК
Узнать текущие настройки подключения

Настройки GPRS не сохраняются в памяти автоматически, но текущие настройки можно сохранить с помощью команды AT+SAPBR=5,1.
GPRS соединение может использоваться не только для выхода в internet, но и для прямой передачи данных между модулями.
Пример настройки GPRS соединения и подключения к internet:

AT+SAPBR=3,1,"CONTYPE","GPRS"
ОК
AT+SAPBR=3,1,"APN","internet.tel.ru"
ОК
AT+SAPBR=3,1,"USER","tel"
ОК
AT+SAPBR=3,1,"PWD","tel"
ОК
AT+SAPBR=1,1
ОК

Назначения строк по номерам.
1 указывание на использование GPRS соединения
2 точка доступа оператора
3 пользователь
4 пароль для соединения
5 подключение

При соединении с internet можно производить различные операции, вот некоторые из них: читать страницы – html запросы, посещать ftp, обмениваться TCP и UDP пакетами, проверять электронную почту, но для этого потребуется другая прошивка SIM900.

Прием звонков

Для приема звонков используем Arduino UNO. Перемычки Shield GPRS/GSM SIM900 устанавливаются в положение обеспечивающие работу интерфейса UART через контакты Software serial D7 и D8. Это необходимо для работы программной библиотеки эмуляции интерфейса. В программе приема звонков используется библиотека SoftwareSerial позволяющая создать интерфейс UART на большинстве цифровых выводах Ардуино. Соедините контакты D7 и D8 Shield GPRS/GSM SIM900 с соответствующими контактами Arduino UNO соблюдая правила интерфейса UART. В разъемы модуля установите штекеры наушников и микрофона.
Работа программы основана на отправке в Shield GPRS/GSM SIM900 AT команд, приеме и анализе текстовых сообщений модуля. Программа использует команды:

AT – самая простая команда, применяется для проверки работоспособности прибора путем контроля получения ответа OK модуля на эту команду,
ATA – принять входящий вызов,
RING – сообщение модуля, поступающее при входящем звонке.

Кроме использованных в программе команд есть много других полезных, например:

AT+CHUP – отклонить вызов,
AT+CLCC – узнать входящий номер.

Приводим группу команд приема звонков для включения в более сложную программу.

#include
SoftwareSerial gprsSerial(7, 8); // установка контактов 7 и 8 для программной эмуляции UART

void setup()
{
// установка скорости обмена ардуино по UART. Предполагается что GSМ модуль имеет скорость обмена 19200 бод. Возможно эту величину придется изменить
gprsSerial.begin(19200);
}

// в строковой переменной currStr cохраняем строку, полученную от GSМ модуля
String currStr = ";
int updateTime = 0;

void loop()
{
touch();

if (!gprsSerial.available())
return;

// считываем новый символ от GSМ модуля
char currSymb = gprsSerial.read();

if ("\r" == currSymb) {
// принят символ перевода строки, значит сообщение от платы завершено
// прием строки RING означает входящий звонок
if (!currStr.compareTo("RING")) {
delay(4000); // временная задержка 4 с, в течении задержки звонящий слышит гудки

gprsSerial.println("ATA"); // поднять трубку
}
currStr = ";
} else if (currSymb != "\n") {
// текущая команда дополняется новым символом
// игнорируется второй символ в последовательности переноса строки \r\n
currStr += String(currSymb);
}
}

// функция провоцирует поддержание связи с GSМ модулем
// в случае самостоятельной перезагрузки без Arduino

void touch()
{
if (millis() >= updateTime) {
gprsSerial.println("AT");
updateTime += 5000;
}
}

После приема звонка можно общаться как по обычному телефону.

Отправка SMS с помощью Shield GPRS/GSM SIM900

 src=

Модуль GSМ позволяет создать систему оповещений о различных событиях контролируемых датчиками. В результате срабатывания датчика контролируемого события замыкаются контакты реле, подключенные к модулю микроконтроллера. Для знакомства с режимом отправки СМС подключите кнопку как изображено на фото, соедините ардуино и GSМ модуль как в предыдущем примере. При нажатии на кнопку по номеру указанному в программе отправляется текстовое сообщение. Как и в предыдущем примере работа программы основана на отправке из ардуино в GSМ модуль AT команд.
Обращаем внимание: для завершения сообщения использован символ (char)26 или ctrl+z, также символ означает отправку сообщения.

В программе использованы AT команды:

AT+CMGF=1 – установка текстового режима для СМС сообщений,
AT + CMGS =NNNNNN – установка номера NNNNNN получающего СМС.

Группа команд отправки СМС для включения в большую программу.

#include
SoftwareSerial gprsSerial(7, 8); // установка контактов 7 и 8 для программной эмуляции UART
int btnPin = 12;
boolean prevBtn = LOW;
void setup()
{
gprsSerial.begin(19200);
delay(500);
}

void loop()
{
boolean currBtn = digitalRead(btnPin);
if (prevBtn != currBtn && currBtn == HIGH) {
// нажатие кнопки вызывает отправку сообщения
sendTextMessage();
}
prevBtn = currBtn;
}

// функция отправки СМС
void sendTextMessage() {
gprsSerial.print("AT+CMGF=1\r"); // установка текстового режима для СМС
delay(100); // временная задержка для обработки команды
// телефонный номер в международном формате
gprsSerial.println("AT + CMGS = \"+79031034423\");
delay(100);
gprsSerial.println("ALARM!"); // сообщение

delay(100);
// отправка Ctrl+Z означает готовность сообщения
gprsSerial.println((char)26);
}

Управление с помощью Shield GPRS/GSM SIM900

Управление происходит с помощью отправки СМС. Сборка GSМ модуль и ардуино реагирует на заданный текст СМС и управляет логическим уровнем выходов. Для этого соберем схему с двумя светодиодами. Ориентируясь по тексту программы, определите контакты для подключения светодиодов к контактам ардуино. В приведенном тексте программы использованы команды ориентированные на использование контактов 2 и 3. Программа, текст которой приведен далее реагирует на следующие СМС:

Green on,
Green off,
Yellow on,
Yellow off.

Программа использует следующие AT команды:

AT+CMGF=1 – установка текстового режима СМС сообщений,
AT+IFC=1, 1 – установка программного контроля потоком передачи данных,
AT+CPBS="SM" – открывает доступ к данным телефонной книги SIM карты,
AT+CNMI=1,2,2,1,0 – включает оповещение о новых сообщениях. Они приходят в формате +CMT:
"<номер телефона>", ", "<дата, время>", далее на следующей строке сообщение.

#include
SoftwareSerial gprsSerial(7, 8); // установка контактов 7 и 8 для программной эмуляции UART
int greenPin = 2; // для зеленого
int yellowPin = 3; // для желтого светодиода

void setup()
{
gprsSerial.begin(19200);
pinMode(greenPin, OUTPUT);
pinMode(yellowPin, OUTPUT);

// настройка приема сообщений

gprsSerial.print("AT+CMGF=1\r");
delay(300); // задержка на обработку команды
gprsSerial.print("AT+IFC=1, 1\r");
delay(300);
gprsSerial.print("AT+CPBS=\"SM\"\r");
delay(300); // задержка на обработку команды
gprsSerial.print("AT+CNMI=1,2,2,1,0\r");
delay(500);
}

String currStr = ";
// если эта строка сообщение, то переменная примет значение True
boolean isStringMessage = false;

void loop()
{
if (!gprsSerial.available())
return;

char currSymb = gprsSerial.read();
if ("\r" == currSymb) {
if (isStringMessage) {
// если текущая строка – сообщение, то…
if (!currStr.compareTo("Green on")) {
digitalWrite(greenPin, HIGH);
} else if (!currStr.compareTo("Green off")) {
digitalWrite(greenPin, LOW);
} else if (!currStr.compareTo("Yellow on")) {
digitalWrite(yellowPin, HIGH);
} else if (!currStr.compareTo("Yellow off")) {
digitalWrite(yellowPin, LOW);
}
isStringMessage = false;
} else {
if (currStr.startsWith("+CMT")) {
// если текущая строка начинается с "+CMT", то следующая сообщение
isStringMessage = true;
}
}
currStr = ";
} else if ("\n" != currSymb) {
currStr += String(currSymb);
}
}

Главное меню

Каталог

Полезные ссылки

Цена
от
до