Как подключить sim900 к arduino uno

Содержание
  1. GSM GPRS SIM900 Shield
  2. Обзор платы GSM/GPRS SIM900 Shield
  3. Управление модулем GSM GPRS SIM900 с помощью AT-команд
  4. Пример отправки sms-сообщений с платы Arduino
  5. Часто задаваемые вопросы FAQ
  6. Как отправлять/принимать SMS и звонить с платой расширения SIM900 GSM Shield и Arduino
  7. Содержание
  8. Обзор аппаратного обеспечения SIM900 GSM/GPRS Shield
  9. Светодиодные индикаторы состояния
  10. Питание для SIM900 GSM/GPRS Shield
  11. Связь через UART
  12. Динамик и микрофон
  13. Антенна
  14. Разъем для SIM карты
  15. RTC (часы реального времени)
  16. Подключение платы расширения SIM900 GSM/GPRS Shield к Arduino UNO
  17. Подключение платы расширения SIM900 GSM/GPRS Shield к компьютеру
  18. Включение/выключение чипа SIM900
  19. Аппаратный запуск
  20. Программный запуск
  21. Код Arduino – тестирование AT команд
  22. Код Arduino – отправка SMS
  23. Код Arduino – чтение SMS
  24. Расширение размера буфера SoftwareSerial на Arduino
  25. Код Arduino – выполнение звонка
  26. Код Arduino – прием вызова
  27. Arduino и GSM-модуль SIM900A. Как прошить и заставить работать?
  28. Схема подключения к CP2102
  29. Настройка SIM900A
  30. Прошивка SIM900A

GSM GPRS SIM900 Shield

Обзор платы GSM/GPRS SIM900 Shield

Плата Arduino GPRS/GSM Shield (рисунок 1) предоставляет нам возможность использовать для удаленного приема и передачи данных мобильной GSM-связи. Осуществить это можно тремя способами:

используя отправку/прием коротких текстовых сообщений (SMS);

отправкой голосовых (аудио) команд на основе технологий CSD (стандартная технология передачи данных в сети GSM) и/или DTMF (двухтональный многочастотный аналоговый сигнал, используемый для набора телефонного номера);

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

Плата построена на базе модуля SIMCom SIM900.

Также на ней расположены:

джек 3,5 мм для аудио-входа и выхода;

разъём для внешней антенны.

Общение с платой производится через serial-соединение с помощью набора AT-команд. С помощью перемычек на плате возможно установить используемые для коммуникации контакты: аппаратные 0- 1-й или 2-3 (на некоторых платах) 7- 8-й для работы через SoftwareSerial.

Рисунок 1. GPS GPRS shield.

Плату GSM GPRS SIM900 Shield можно включить двумя способами:

аппаратным (нажатие кнопки PWRKEY);

Подключение к плате Arduino

Плата GSM GPRS SIM900 Shield сделана в формате шилда для плат Ардуино. Контакты шилда (гребенки) легко вставляются в разъемы платы, образуя при этом «бутерброд» (рисунок 2).

Рисунок 2. Установка GPS GPRS shield на плату Arduino.

Управление модулем GSM GPRS SIM900 с помощью AT-команд

Рассмотрим управление модулем GSM GPRS shield с помощью AT-команд. Для этого установим модуль на плату Arduino и подключим её к компьютеру. Arduino-скетч отправки и получения данных между компьютером и модулем GSM GPRS shield через плату показан в листинге 1.

Загружаем скетч на плату ардуино, открываем монитор последовательного порта и набираем команды установки режима:

Команда проверки подключения модуля к GPRS-сети, которую при ответе COMMAND NO RESPONSE необходимо постоянно повторять

Подключаемся к точке доступа оператора связи. Для Билайн:

AT + CGDCONT = 1, «IP», «internet.beeline.ru»

AT + CSTT = «internet.beeline.ru»,»», «»

Обращение к интернет-ресурсу

AT + CIPSTART = «TCP», www.yandex.ru «, 80

Весь процесс подключения представлен на рисунке 3.

Рисунок 3. Процесс работы с модулем GSM GPRS SIM800 в мониторе последовательного порта.

Пример отправки sms-сообщений с платы Arduino

Рассмотрим пример использования отправки sms-сообщений при уменьшении температуры воздуха в помещении ниже определенного значения. Нам потребуются следующие детали:

модуль GSM GPRS Shield – 1 шт;

sim-карта сотового оператора с положительным балансом;

блок питания 12В – 1 шт;

Схема подключения показана на рисунке 4.

Рисунок 4. Схема подключения для отправки sms-сообщений при низких значениях температуры воздуха.

Приступим к написанию скетча. Каждые 30 секунд получаем данные влажности и температуры с датчика DHT11. Используем библиотеку DHT. При значении температуры ниже критического отправляем sms на номер указанный в константе PHONE. И делаем паузу на 10 минут.

Содержимое скетча показано в листинге 2.

Загружаем скетч, проверяем событие прихода sms-сообщения на выбранный номер телефона при критическом значении температуры.

Рисунок 5. Схема в сборе.

Создадим прошивку получения данных при отправке sms-сообщения на sim-карту, находящийся в модуле GSM GPRS shield. Содержимое скетча показано в листинге 3.

Загружаем скетч на плату, отправляем sms-сообщение с текстом tmp на sim-карту и получаем в ответ sms-сообщение с данными температуры.

Часто задаваемые вопросы FAQ

1. Нет связи с Arduino по последовательному порту.

Проверьте питание платы.

Проверьте правильность установки перемычек.

2. Не отправляются sms-сообщения

Проверьте наличие внешнего питание GSM GPRS shield.

Источник

Как отправлять/принимать SMS и звонить с платой расширения SIM900 GSM Shield и Arduino

Хотите ли вы слышать то, что происходит в вашем доме, который находится на расстоянии многих километров от вас, или активировать систему полива в вашем саду просто беззвучным звонком, тогда плата расширения SIM900 GSM/GPRS Shield станет надежной отправной точкой для начала работы с IoT!

Как отправлять/принимать SMS и звонить с платой расширения SIM900 GSM Shield и Arduino

Плата расширения SIM900 GSM/GPRS Shield – это GSM-модем, который может быть интегрирован в большое количество проектов интернета вещей (IoT). Вы можете использовать эту плату расширения, чтобы выполнять почти все, что может обычный сотовый телефон; текстовые SMS сообщения, совершать или принимать телефонные звонки, выполнять подключение к интернету через GPRS, TCP/IP, и многое другое! В довершение всего, плата расширения поддерживает четырехдиапазонную сеть GSM/GPRS, что означает, что она работает практически в любой точке мира.

Содержание

Обзор аппаратного обеспечения SIM900 GSM/GPRS Shield

Плата расширения SIM900 GSM/GPRS Shield разработана для того, чтобы снабдить чип SIM900 всем необходимым для взаимодействия с Arduino, а также несколькими дополнительными вкусностями, чтобы воспользоваться уникальными функциями чипа.

Давайте познакомимся с особенностями и возможностями этой платы расширения. Вот краткий обзор:

Рисунок 1 – Аппаратное обеспечение SIM900 GSM/GPRS Shield. Вид сверху Рисунок 2 – Аппаратное обеспечение SIM900 GSM/GPRS Shield. Вид снизу

Плата расширения SIM900 GSM/GPRS Shield обладает удивительным количеством функций при своих маленьких размерах. Некоторые из них перечислены ниже:

Для получения дополнительной информации о чипе сотовой GSM связи SIM900 смотрите техническое описание:

Светодиодные индикаторы состояния

На плате расширения SIM900 GSM/GPRS Shield есть три светодиода, которые указывают на состояние подключения или питания. Наблюдая за этими светодиодами, вы можете получить визуальную информацию о том, что происходит с платой расширения.

Читайте также:  Как подключить 100 мег на мтс

Рисунок 3 – Светодиодные индикаторы на SIM900 GSM/GPRS Shield

PWR: этот светодиод подключен к линии питания платы расширения. Если этот светодиод включен, плата расширения получает питание.

Status: этот индикатор показывает рабочее состояние SIM900. Если этот светодиод включен, микросхема находится в рабочем режиме.

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

Питание для SIM900 GSM/GPRS Shield

Одной из наиболее важных частей работы платы расширения SIM900 GSM/GPRS Shield является обеспечение её достаточным питанием.

В зависимости от того, в каком состоянии он находится, SIM900 может быть относительно энергоемким устройством. Максимальный ток потребления чипа составляет около 2А во время передачи. Обычно он не требует так много, но может потребовать около 216 мА во время телефонных звонков или 80 мА во время передачи по сети. Следующая таблица описывает, что вы можете ожидать:

Потребление тока чипом SIM900 в различных состояниях

Режим Частота Потребляемый ток
Выключен 60 мкА
Спящий режим 1 мА
Режим ожидания 18 мА
Звонок GSM850 199 мА
EGSM900 216 мА
DCS1800 146 мА
PCS1900 131 мА
GPRS 453 мА
Старт передачи 2 А

Рабочее напряжение чипа SIM900 составляет от 3,4 до 4,4 В. Чтобы обеспечить безопасное напряжение питания при 4,1 В, плата расширения поставляется с мощным, высокоточным стабилизатором напряжения MIC29302WU с малым падением напряжения от Micrel, способным выдерживать токи нагрузки до 3 А.

Рисунок 4 – Разъем питания постоянным напряжением, переключатель выбора источника питания и MIC29302 на SIM900 GSM Shield

Вы можете подключить к плате расширения внешний источник питания с помощью разъема 5,5 мм, к которому можно подключить любой адаптер постоянного напряжения 5–9 В. Рядом с разъемом питания находится ползунковый переключатель для выбора источника питания с надписью EXTERN. Чтобы использовать внешний источник питания, переместите ползунок, как показано выше.

ВНИМАНИЕ

Источник питания должен обеспечивать минимальный пиковый ток 2 А, в противном случае микросхема будет продолжать отключаться.

Связь через UART

Плата расширения SIM900 GSM/GPRS Shield для связи с Arduino использует интерфейс UART. Чип поддерживает скорость передачи от 1200 бит/с до 115200 бит/с с автоматическим определением скорости.

Рисунок 5 – Перемычки выбора UART на SIM900 GSM Shield

С помощью перемычек вы можете подключить (RX, TX) платы расширения к программному последовательному порту (D8, D7) или аппаратному последовательному порту (D1, D0) Arduino.

Рисунок 6 – Установка перемычек выбора UART на SIM900 GSM Shield

Динамик и микрофон

Плата расширения поставляется с двумя стандартными разъемами 3,5 мм. Один для стереонаушников, и другой для монофонического микрофона. Плата позволяет использовать аудиоинтерфейс SIM900 для совершения и приема голосовых вызовов и прослушивания FM радио.

Рисунок 7 – Разъемы динамика и микрофона на SIM900 GSM Shield

Mic: к этому разъему можно подключить внешний электретный микрофон.

Earphone: к этому разъему можно подключить наушники. Все наушники, совместимые с «iPhone» или «Android» телефонами, должны работать.

Антенна

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

Рисунок 8 – Антенные SMA и U.FL. разъемы на SIM900 GSM Shield

Плата расширения имеет два интерфейса для подключения антенны, а именно, разъем U.FL и разъем SMA. Они соединены через патч-корд.

Плата расширения обычно поставляется с GSM-антенной 3 дБи, что позволяет установить плату расширения внутри металлического корпуса (если антенна находится снаружи).

Разъем для SIM карты

На нижней стороне платы находится гнездо для SIM карты. Любая активированная полноразмерная 2G SIM карта будет работать отлично.

Рисунок 9 – Держатель SIM карты на SIM900 GSM Shield

Работа с держателем для SIM карты может потребовать некоторого привыкания. Чтобы разблокировать защелку, нажмите на верхнюю часть сборки, а затем поднимите её. Поместите SIM-карту в нижнюю часть держателя. Затем положите руку обратно в корпус держателя и осторожно протолкните его вперед в положение блокировки.

RTC (часы реального времени)

Плата расширения SIM900 GSM/GPRS Shield может быть настроена на сохранение времени. Таким образом, нет необходимости в отдельном RTC. Она сохранит время даже при выключенном питании.

Рисунок 10 – Держатель батареи CR1220 RTC на SIM900 GSM Shield

Если вы хотите использовать внутренний RTC, вам необходимо установить батарею CR1220 на задней стороне платы.

ПРИМЕЧАНИЕ

Подключение платы расширения SIM900 GSM/GPRS Shield к Arduino UNO

Теперь, когда мы знаем всё о плате расширения, мы можем подключить её к нашей плате Arduino!

Для начала подключите контакты D7 (Tx) и D8 (Rx) на плате расширения к цифровым выводам 7 и 8 на Arduino. Поскольку для связи с платой расширения мы будем использовать программный последовательный порт, убедитесь, что перемычки установлены на выбор программного последовательного порта.

Рисунок 11 – Подключение платы расширения SIM900 GSM/GPRS Shield к Arduino UNO

Подключите плату расширения к внешнему источнику питания 5В 2A. Не поддавайтесь искушению подключить ее к источнику питания 5В на Arduino, так как плата расширения может не работать из-за недостатка тока источника питания. Также убедитесь, что вы выбрали внешний источник питания с помощью ползункового переключателя рядом с разъемом питания.

Теперь подключите все земли в схеме.

Наконец, подключите антенну, вставьте полностью активированную SIM карту в держатель.

Подключение платы расширения SIM900 GSM/GPRS Shield к компьютеру

Чтобы управлять платой расширения SIM900 GSM/GPRS Shield напрямую через компьютер, вам необходимо подключить её к ПК с помощью любого преобразователя USB в TTL.

На рисунке ниже показано, как SIM900 GSM Shield подключен к компьютеру через PL2303 конвертер USB в TTL.

Рисунок 12 – Подключение SIM900 GSM Shield к ПК через преобразователь PL2303 USB↔TTL

Включение/выключение чипа SIM900

Даже если вы включите плату расширения, вам нужно еще включить чип SIM900, чтобы он заработал.

В соответствии с техническим описанием, установив на выводе PWRKEY чипа низкий логический уровень (лог. 0) в течение как минимум 1 секунды, можно включить/выключить чип. У нашей платы расширения есть два способа сделать это.

Аппаратный запуск

Плата расширения снабжена тактильной кнопкой, расположенной под прямым углом рядом со светодиодным индикатором PWR. Вам нужно нажать и удерживать эту кнопку в течение примерно 2 секунд, чтобы включить или выключить плату расширения.

Программный запуск

Вместо того, чтобы каждый раз вручную нажимать PWRKEY, вы можете программно включать/выключать SIM900.

Во-первых, вам нужно запаять SMD перемычку, обозначенную как R13 на плате расширения, как показано на рисунке ниже.

Рисунок 14 – Запаиваемая перемычка R13 на SIM900 GSM Shield для программного управления

Затем вам нужно подключить вывод D9 на плате расширения к выводу D9 на Arduino.

Рисунок 15 – Подключение SIM900 GSM Shield к Arduino для программного управления

Наконец, вам нужно добавить следующую функцию в вашу программу.

Код Arduino – тестирование AT команд

Для отправки AT команд и взаимодействия с платой расширения SIM900 мы будем использовать монитор последовательного порта. Приведенный ниже скетч позволит Arduino связываться с платой расширения SIM900 в мониторе последовательного порта. Прежде чем приступить к подробному разбору кода, подключите Arduino к компьютеру, скомпилируйте приведенный ниже код и загрузите его в Arduino.

Открыв монитор последовательного порта, убедитесь, что выбрана опция «NL & CR»!

Скетч начинается с включения библиотеки SoftwareSerial.h и ее инициализации выводами Arduino, к которым подключены Tx и Rx платы расширения SIM900.

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

Теперь, когда мы установили базовое соединение, мы попытаемся установить связь с платой расширения SIM900, отправляя AT команды.

AT+CCID – получить номер SIM-карты – она проверяет, что SIM карта найдена, и вы можете сверить номер, записанный на карте.

AT+CREG? – убедиться, что вы зарегистрированы в сети. Второе число должно быть 1 или 5. 1 означает, что вы зарегистрированы в домашней сети, а 5 – в роуминге. Другие цифры, отличающиеся этих двух, означают, что вы не зарегистрированы ни в одной сети.

В мониторе последовательного порта вы должны увидеть вывод, примерно такой как показан ниже.

Рисунок 16 – Базовые AT команды SIM900 GSM Shield на Arduino

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

ATI – получить имя и версию платы расширения

AT+COPS? – проверить, что вы подключены к сети

AT+COPS=? – вернуть список операторов, присутствующих в сети

AT+CBC – вернуть состояние литий-полимерного аккумулятора. Второе число является процентом от полного заряда (в данном случае это 93%), а третье число является фактическим напряжением в мВ (в данном случае 3,877 В)

Рисунок 17 – Получение дополнительной информации от SIM900 GSM Shield с помощью AT команд на Arduino

Для получения дополнительной информации о AT командах SIM900 смотрите документ ниже.

Код Arduino – отправка SMS

Давайте перейдем к более интересным вещам. Запрограммируем нашу Arduino для отправки SMS на любой телефонный номер, который вы пожелаете. Прежде чем попробовать скетч, вам нужно ввести номер телефона. Найдите строку ZZxxxxxxxxxx и замените ZZ кодом страны, а xxxxxxxxxx – 10-значным номером телефона.

Скетч почти такой же, как и предыдущий, за исключением фрагмента кода, приведенного ниже. Как только соединение установлено, мы отправляем показанные ниже AT команды:

AT+CMGF=1 – выбирает формат SMS сообщения в виде текста. По умолчанию используется формат PDU (Protocol Data Unit).

Основной цикл программы остается пустым, так как мы хотим отправить SMS только один раз. Если вы хотите отправить SMS еще раз, просто нажмите клавишу RESET на вашей Arduino. На скриншоте ниже показано SMS сообщение, отправленное с платы расширения SIM900 GSM/GPRS Shield.

Рисунок 18 – AT команды SIM900 GSM Shield для отправки SMS на Arduino Рисунок 19 – Отправка SMS через SIM900 GSM Shield

Код Arduino – чтение SMS

Теперь давайте запрограммируем нашу Arduino для чтения входящих сообщений. Этот скетч очень полезен, когда вам нужно инициировать действие при получении определенного SMS сообщения. Например, когда Arduino получает SMS, вы можете дать ей команду включить или выключить реле. Вы поняли идею!

Данный скетч аналогичен предыдущему, за исключением приведенного ниже фрагмента кода. Как только соединение установлено, мы отправляем следующие AT команды:

AT+CMGF=1 – выбирает формат SMS сообщения в виде текста. По умолчанию используется формат PDU (Protocol Data Unit).

AT+CNMI=1,2,0,0,0 – указывает, как должны обрабатываться новые входящие SMS сообщения. Таким образом, вы можете указать плате расширения SIM900 либо пересылать новые входящие SMS сообщения непосредственно на компьютер, либо сохранять их в хранилище сообщений, а затем уведомлять компьютер об их расположении в хранилище сообщений.

Отклик на получение сообщения начинается с +CMT : все поля в ответе разделены запятыми. Первое поле является номером телефона. Второе поле – имя человека, отправившего SMS. Третье поле – это временная метка, а четвертое поле – само сообщение.

Обратите внимание, что на этот раз мы НЕ оставили функцию loop() пустой, так как запрашиваем новые входящие SMS сообщения. Как только вы отправите SMS на плату расширения SIM900 GSM/GPRS Shield, вы увидите следующий вывод на мониторе последовательного порта.

Рисунок 20 – Чтение SMS через SIM900 GSM Shield Рисунок 21 – AT команды SIM900 GSM Shield для чтения SMS на Arduino

Расширение размера буфера SoftwareSerial на Arduino

Если ваше сообщение достаточно длинное, как и наше, вы, вероятно, получите его с пропущенными символами. Это не из-за неисправного кода. Ваш буфер приема SoftwareSerial заполняется и отбрасывает символы. А вы не читаете из буфера достаточно быстро.

Самое простое решение – увеличить размер буфера SoftwareSerial со стандартного размера с 64 до 256 байт (или меньше, в зависимости от того, что у вас заработает).

На компьютере с Windows перейдите в C:\Program Files (x86) → Arduino → hardware → Arduino → avr → libraries → SoftwareSerial ( → src для более новой версии Arduino IDE). Откройте SoftwareSerial.h и измените строку:

Сохраните файл и попробуйте скомпилировать скетч еще раз.

Рисунок 22 – Расширение размера буфера SoftwareSerial на Arduino

Код Arduino – выполнение звонка

Теперь давайте запрограммируем нашу Arduino на выполнение вызова. Этот скетч очень полезен, если вы хотите, чтобы ваша Arduino совершила аварийный вызов (SOS) в случае чрезвычайной ситуации, например, при превышении температуры или при проникновении кого-либо в ваш дом. Вы поняли идею!

Прежде чем попробовать скетч, вам нужно ввести номер телефона. Найдите строку ZZxxxxxxxxxx и замените ZZ кодом страны, а xxxxxxxxxx – 10-значным номером телефона.

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

На скриншоте ниже показан звонок с платы расширения SIM900 GSM/GPRS Shield.

Рисунок 23 – AT команды SIM900 GSM Shield для звонка на Arduino Рисунок 24 – Прием звонка от SIM900 GSM Shield

Код Arduino – прием вызова

Прием звонка не требует специального кода; вы просто должны продолжать слушать плату расширения SIM900. Тем не менее, вы можете найти этот скетч очень полезным, когда вам нужно инициировать действие при получении звонка с определенного номера телефона.

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

ATA – принимает входящий звонок.

Ниже приведен вывод в мониторе последовательного порта, показывающий вызов, полученный платой расширения SIM900 GSM/GPRS Shield.

Рисунок 25 – Звонок на SIM900 GSM Shield Рисунок 26 – AT команды SIM900 GSM Shield для приема вызова на Arduino

Источник

Arduino и GSM-модуль SIM900A. Как прошить и заставить работать?

В этой статье я расскажу о работе с GSM-модулем SIM900A. С его помощью можно осуществлять автоматизированные звонки и таким же образом отправлять сообщения. Кроме этого, он поддерживает протокол GPRS.

Благодаря этому модулю удобно управлять своими устройствами дистанционно, посредством сообщений или через интернет с помощью GPRS (скорость будет низкой, зато нет зависимости от сети Wi-Fi).

Некоторым в руки может попасть модуль SIM900A, предназначенный для азиатского региона. Соответственно, на наших частотах он не будет работать. Но это не проблема. Просто для использования модуля его нужно будет перепрошить. Если ваш модуль работает с нужными частотами — можете пропустить следующую часть.

Итак, для работы с модулем нам потребуются:

До начала прошивки подготовим нужный софт. Для этого понадобится программа под названием SIM900 Series download Tools Develop, файл прошивки и монитор серийного порта — я использовал программу с большой функциональностью Terminal, но мы скачиваем все, так как они обе нам понадобятся для настройки.

После установки Termianl подключим модуль SIM900A к компьютеру с помощью USB-UART преобразователя. Я пользовался преобразователем CP2102.

Схема подключения к CP2102

SIM900 CP2102
Gnd Gnd
VCC_MCU +5V питание
SIMR TX
SIMT RX
VCC5 +5V (внешний источник питания)
Gnd Gnd (внешнего источника питания)

К модулю нужно подключить внешнее питание, так как теоретически он может потреблять ток до 2 А, который преобразователь не может обеспечить. У CP2102 не разведён пин рестарта, а у SIM900A нет кнопки для этого.

Если у вашего конвертера также нет пина сброса, то для прошивки придётся соединить RST GSM-модуля с землёй, а до этого оставить его неподключенным. Либо соединить его с выведенным пином сброса на USB-UART преобразователе.

Теперь настроим SIM900A. По умолчанию он работает на скорости 9600 бод/с. Прошивка на этой скорости займёт около 55 минут. Указываем в Terminal скорость и номер порта, конец строки должен быть «CR». Подключаемся к устройству.

Настройка SIM900A

Модуль полностью управляется AT-командами. Начнём с самой простой, отправив модулю сообщение «AT». Он должен ответить «OK». Теперь изменим скорость работы командой «AT+IPR=115200». Должен поступить такой же ответ. Теперь прошивка должна занять чуть более шести минут.

Осталось настроить программу SIM900 Series download Tools Develop. Открываем её.

В поле «Target» выбираем нужный модуль, я указал «SIM900», потому что прошить модуль как «SIM900A» не получилось. Выбираем номер порта, скорость указываем 115200 бод/с. В поле «Core File» записываем название файла прошивки, он имеет расширение «.cla».

Прошивка SIM900A

Приступаем к прошивке. В строгой последовательности повторяем нижеуказанные действия:

Готово! Теперь SIM900A работает на местных частотах. Но это не всё. Мы установили расширенную («All-in-One») прошивку и теперь модуль может определять своё местоположение, обнаруживать глушилки сигнала (джаммеры), работать с e-mail, проигрывать сохранённые в памяти аудиозаписи и другое.

Также он может использовать 2,5 Мегабайта пользовательской памяти.

Переходим к работе с модулем.

Введём пин-код командой «AT+CPIN=XXXX». Если его нет – пропустим этот шаг. Получим следующий ответ «+CPIN: READY.».

Можно узнать от модуля следующие данные:

AT+GMR версия прошивки
AT+GSN IMEI устройства
AT+CPAS состояние устройства (0 — ожидание команды, 2 — неизвестно, 3 — входящий звонок, 4 — разговор)
AT+COPS? оператор сотовой связи

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

Взять трубку позволяет команда ATA. С гарнитурой можно говорить как по мобильному телефону.

Сбросить звонок позволяет команда ATH0.

Набираем любое сообщение, например, стандартный Hello, World!. Окончание набора обозначает 26-ой символ из таблицы ASCII – $1A или #026. Добавляем его к сообщению. Для отмены набора текста нужен 27-ой символ – $1B или #027.

3 — порядковый номер сообщения из числа непрочитанных. Увидеть его можно отправив в последовательный порт AT+CMGR=3. Придёт следующий ответ:

+CMGR: “REC READ”,”+7XXXXXXXXXX”,””,”17/07/23,22:00:12+24″

SIM900 может сам управлять собственными портами GPIO, однако в большинстве случаев они не разведены на плате и модуль приходится использовать в связке с микроконтроллером.

Воспользуемся Arduino UNO либо Nano. Обмен данными между Arduino происходит с помощью последовательного порта.

Схема подключения выглядит следующим образом:

Источник

Поделиться с друзьями
Делаю сам
Adblock
detector