Прошивка «All in One» SIM900

В продолжение темы о модуле SIM900 ( GSM модем SIM900 , AT-команды GSM модема SIM900 , SIM900, работа c GPRS ) пойдёт речь о прошивке «All in One». Её отличие от базовой – в ней были реализовано несколько интересных и полезных функций, таких, например, как: определение местоположения по сотовым вышкам, возможность работы с электронной почтой, управление AT командами по СМС и многое другое. Прошивка поддерживает модули SIM900 и ограниченно возможно SIM900R.

Прошивка Al in One для SIM900

Прошивка Al in One для SIM900

Об этой интересной прошивке прочитал из журнала «Беспроводные технологии» в статье « «Все в одном» или что нового в GSM-модуле SIM900» №3 2012 года и сразу захотел с ней ознакомиться, но возможность появилась и дошли руки только недавно. Для освоения был приобретен GSM модуль SIM900 (B09), не путать с SIM900B. Для него была изготовлена отладочная плата, на которой по максимуму постарался развести его потенциал.

Отладочная плата SIM900

Отладочная плата SIM900

Заказанный модуль SIM900 (B09) пришел со стандартной прошивкой — 1137B09SIM900M64_ST. После ознакомление с его основным функционалом стал искать ту самую прошивку, о которой прочитал в журнале. Поиск был не долгим. Обратившись по указанным контактам в конце статьи на сайт mt-system.ru мне любезно предоставили интересующею меня прошивку и указали, где раздобыть прошивальщик. Прошивка «All in One» обозначается — 1137B02SIM900M64_ST_ENHANCE. Ставиться она на модули SIM900 аппаратной версии S2-1040S-XXXXX.

Возможности прошивки All-in-One

GSM Location – определение координат по базовым станциям сотовой связи
MMS
Jamming Detected – определение глушение сигнала
DTMF decoder – декодирование DTMF кодов
EMAIL – работа с электронной почтой
SMS Autorun – управление модулем по средством СМС
PING
AMR Play – воспроизведение пользовательских аудиозаписей, загруженных в модуль
Easy Scan – получение информации об окружающих базовых станциях
2,5MB User Memory – встроенная память для пользовательских приложений

Перепрошивка модуля

Для прошивки модуля, понадобиться подходящий модуль, прошиваемая прошивка и утилита SIM900 Series download Tools Customer.

Порядок:

  1. Подключитесь к модулю и по средством AT команд (AT+IPR) установите максимальную скорость обмена данных 115200. Не допускайте мою ошибку, когда на скорости в 9600 прошивка заняла 55 минут. (не обязательно)
  2. Подключите модуль через основной UART порт к компьютеру. Для этого можно использовать любой USB-UART (cp2102 , ft232), RS232-UART преобразователь.
  3. Подайте питание на модуль
  4. Запустите утилиту для прошивки модуля и задайте параметры порта, нормальный режим загрузки и укажите прошиваемую прошивку. Если прошивать только прошивку, а не пользовательские программы, то начальный адрес загрузки 0.
  5. Зажмите кнопку включения модуля и запустите загрузку прошивку в модуль. Держите кнопку нажатой, пока не пройдёт проверка модуля и не начнётся его прошивка. Если отпустить кнопку раньше времени, то утилита не увидит модуль и выведет сообщение «Not Detected». Если всё сделать правильно то начнётся прошивка, а окно будет выглядеть следующем образом:
  6. Утилита SIM900 Series download Tools Customer

    Утилита SIM900 Series download Tools Customer

  7. Дождитесь окончание прошивки и перезапустите модуль по питанию. Прошивка на скорости в 115200 занимает примерно 6 с половиной минут.

После перепрошивки модуль на запрос о его прошивки/ревизии (команда — AT+GMR) выдаст — 1137B02SIM900M64_ST_ENHANCE.

Обзор возможностей прошивки All in One

GSM Location

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

AT+CIPGSMLOC=1,1
+CIPGSMLOC: 0,60.603438, 56.838486,2013/10/03,16:34:38
OK

Параметры запроса:
Первый параметр: 1 – запросить координаты и время, 2 – запросить время
Второй параметр — CID
Формат ответа:
Параметры:
1 – статус операции, 0 – успешно
2 – долгота
3 – широта
4 – дата
5 – время
В случае запроса времени вернутся только два последних параметра.

Jamming Detected

Определение глушения сигнала.
AT+SJDR=status, mode, var, display, result
Параметры запроса:
Status – 0 – выключить детектирование, 1 – включить детектирование;
Mode – 0 — , 1 – статус слать в UART, 2 – отправлять статус на 68 вывод модуля, 3 – отправлять в UART и на вывод модуля;
Var – пороговая величина обнаружения глушения сигнала
Display – 0 – отсылать статус раз в 3 секунды, 1 – отсылать сообщение при изменение статуса
Пример использования:

AT+SJDR=1,1
OK

+SJDR: NO JAMMING

…………

+SJDR: NO JAMMING

AT+SJDR=0
OK

DTMF decoder

Декодирование DTMF кодов (или тоновых сигналов).

Опция управляется командой AT+DDET, где в опциях указывается 1 — включить, 0 — выключить. Во время «разговора» модуль декодирует нажатые клавиши на телефонном аппарате собеседника и выводит сообщения +DTMF:<key> , где <key> — код нажатой клавиши (0-9,*,#).
Пример использования:

AT+DDET=1
OK

RING
ATA
OK

+DTMF:2

+DTMF:3

+DTMF:1

+DTMF:#

+DTMF:*

+DTMF:4

NO CARRIER

EMAIL

Работа с электронной почтой.

Команда

Описание

AT+EMAILCID=1
OK
Установка CID параметра для email сессии.
AT+EMAILTO=30
OK
Установка таймаута для SMTP и POP серверов.
Параметр – время в секундах, от 10 до 120 (30 по умолчанию)
AT+SMTPSRV="smtp.ru",25
OK
Установка адреса и порта SMTP почтового сервера (отправка).
Первый параметр – имя сервера
Второй параметр – порт
AT+SMTPAUTH=1,"send@mail.ru","password"
OK
Аутентификация.
Первый параметр – тип аутентификация
0 – сервер не требует аутентификации, не требуется ввод логина и пароля
1 – аутентификация требуется
Второй параметр – логин
Третий параметр — пароль
AT+SMTPFROM="send@mail.ru","testSIM900"
OK
Задание почтового адреса и имени отправителя.
Первый параметр – почтовый адрес отправителя
Второй параметр – имя отправителя
AT+SMTPRCPT=0,0,"receive@mail.ru","Alex_EXE"
OK
Задание параметров получателей.
Первый параметр – тип отправки
0 – нормальная
1 – копия
2 – скрытая копия
Второй параметр – номер получателя
Третий параметр – почтовый адрес получателя
Четвертый параметр – имя получателя
AT+SMTPSUB="Test SIM900"
OK
Задание заголовка письма.
AT+SMTPBODY
> Test module SIM900. 1234567890
OK
Текст письма.
После ввода команды модуль вернёт приглашение на ввод текста письма — >
Для отправки в конце сообщения отправляем символ SUB (26 в ASCII или Cntrl+Z) или ESC (27) для отмены.
AT+SMTPSEND
OK

+SMTPSEND: 1

Отправка письма.
Ответы:
1 – письмо успешно отправлено
Некоторые ошибки:
61 – ошибка соединения
63 – ошибка подключения SMTP TCP
64 – время сессии истекло
67 – ошибка аутентификации
AT+POP3SRV Установка параметров подключения к POP серверу (серверу приема сообщений).
Первый параметр – имя сервера
Второй параметр – имя
Третий параметр – пароль
Четвертый параметр – порт
AT+POP3IN Подключение к POP серверу.
Ответы:
1 – подключение произошло успешно
Некоторые ошибки:
61 – ошибка сети
63 – ошибка подключения к серверу
64 – время сессии истекло
67 – неверное имя
68 – неверное имя или пароль
AT+POP3OUT Отключение от сервера получения электронной почты.
Ответы:
1 – подключение произошло успешно
Некоторые ошибки:
61 – ошибка сети
63 – ошибка подключения к серверу
64 – время сессии истекло
AT+POP3NUM Запросить количество писем в ящике и их общий размер.
Ответ содержит 3 параметра:
Первый параметр:
1 – запрос удался и будут возвращены еще 2 параметра
0 – запрос не удался и будет возвращен код ошибки в формате POP3OUT
Второй параметр – количество писем в ящике
Третий параметр – размер всех писем в байтах
AT+POP3LIST Получить размер выбранного письма. В параметре указывается номер запрашиваемого письма.
Ответ – см. предыдущую команду, но для выбранного письма
AT+POP3CMD Получение многоканального ответа. В первом параметре указывается тип запроса:
1 – Листинг команда
возвращает для каждого сообщения его номер и размер в байтах
2 – Uidl команда
возвращает номер и уникальный идентификатор для каждого письма
3 – Краткое описание сообщений
возвращает заголовки сообщений
4 – Поучить текст сообщения
Во втором параметре указывается число строк сообщения
AT+POP3READ Чтение многоканального ответа.
Во входном параметре указывается размер блока для чтения в байтах (1-1460).
В ответ приходи информация о совершенном действии и количество прочитанных байт.
Первый параметр:
1 – блок прочитан полностью
2 – блок прочитан частично
3 – произошла ошибка чтения
Второй параметр – количество прочитанных байт

Примечание: не забываем подключиться к интернету перед началом работы с электронной почтой! Описывалось в статье по работе с gprs sim900.

Пример отправки электронной почты.

AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
AT+SAPBR=3,1,"APN","internet.mts.ru"
OK
AT+SAPBR=3,1,"USER","mts"
OK
AT+SAPBR=3,1,"PWD","mts"
OK
AT+SAPBR=1,1
OK
AT+EMAILCID=1
OK
AT+EMAILTO=30
OK
AT+SMTPSRV="smtp.ru",25
OK
AT+SMTPAUTH=1,"send@mail.ru","password"
OK
AT+SMTPFROM="send@mail.ru","testSIM900"
OK
AT+SMTPRCPT=0,0,"receive@mail.ru","Alex_EXE"
OK
AT+SMTPSUB="Test SIM900"
OK
AT+SMTPBODY
> Test module SIM900. 1234567890
OK
AT+SMTPSEND
OK

+SMTPSEND: 1
+SAPBR=0,1
OK

PING

В упрощенном запросе команды AT+CIPPING в параметре указывается адрес или IP, который будет пинговаться. Для работы команды модуль нужно предварительно подключиться к интернету (AT+CIICR).

AT+CIPPING="www.alex-exe.ru"
+CIPPING: 1,"46.38.56.236",5,46
+CIPPING: 2,"46.38.56.236",5,46
+CIPPING: 3,"46.38.56.236",5,46
+CIPPING: 4,"46.38.56.236",5,46

OK

В параметрах ответа:
1 – номер запроса (по умолчанию 4)
2 – IP адрес
3 – время в мс
4 – ТТЛ

SMS Autorun

Управление модулем по средством СМС.
AT+CAUTORU=n,number
n – 0 – выключить, 1 – включить
number – номер с которого будут приниматься AT команды

Easy Scan

Получение информации об окружающих базовых станциях. Для запроса наличие СИМ карты не обязательно, может использоваться для определения преобладающей сети, что бы в может быть полезно в системах с несколькими СИМ картами.

AT+CNETSCAN
——MOST SUITABLE CELL——
Operator:"MOTIV",MCC:250,MNC:35,Rxlev:62,Cellid:4dbf,Arfcn:0533
Operator:"MOTIV",MCC:250,MNC:35,Rxlev:44,Cellid:ffff,Arfcn:0534
——OTHER SUITABLE CELL——
Operator:"Beeline",MCC:250,MNC:99,Rxlev:36,Cellid:f0a1,Arfcn:0835
Operator:"Beeline",MCC:250,MNC:99,Rxlev:15,Cellid:3005,Arfcn:0852
Operator:"Beeline",MCC:250,MNC:99,Rxlev:28,Cellid:2f65,Arfcn:0860
Operator:"MTS-RUS",MCC:250,MNC:1,Rxlev:41,Cellid:059a,Arfcn:0690
Operator:"MTS-RUS",MCC:250,MNC:1,Rxlev:41,Cellid:059c,Arfcn:0696
Operator:"MegaFon RUS",MCC:250,MNC:2,Rxlev:51,Cellid:3783,Arfcn:0054
Operator:"Beeline",MCC:250,MNC:99,Rxlev:26,Cellid:ffff,Arfcn:0828
Operator:"MTS-RUS",MCC:250,MNC:1,Rxlev:36,Cellid:1710,Arfcn:0700
Operator:"Utel",MCC:250,MNC:39,Rxlev:48,Cellid:5e49,Arfcn:0800
……….
Operator:"MTS-RUS",MCC:250,MNC:1,Rxlev:32,Cellid:0afb,Arfcn:0095
Operator:"MegaFon RUS",MCC:250,MNC:2,Rxlev:32,Cellid:ffff,Arfcn:0044

OK

Файлы предоставлены mt-system.ru, но публиковать их они не разрешили, так что по вопросам, где достать их, обращайтесь к ним.
Во время написании статьи использовались материалы:

Комментариев (25) »

Alex_EXE | 11.11.2013 | Связь | 17 836 просмотров

Комментариев (25) на « Прошивка «All in One» SIM900»

  1. Александр пишет 27.06.2014 в 14:02 #

    Удалось установить указаную прошивку на модуль SIM900a

  2. Alex_EXE пишет 04.08.2014 в 23:32 #

    Обновление ссылки на документацию по модулю — http://www.mt-system.ru/catalog/sim900

  3. mazdak пишет 16.11.2014 в 22:48 #

    Hi my friend
    thank you for your good information. I’m in Iran and our mobile operators are not compatible with 1137B02SIM900M64_ST_ENHANCE . Know my SIM900 modules have 1137B08SIM900M64_ST that is not included ENHANCE features, but I severely need autorun feature. Can you send to me any enhanced firmware except 1137B02SIM900M64_ST_ENHANCE?
    please help me this is very important for our project.
    Thank you

  4. Alex_EXE пишет 17.11.2014 в 02:39 #

    Disappoint. Other firmware I do not have.

  5. mazdak пишет 17.11.2014 в 10:30 #

    Thax for your reply. Do you think where can I find it? :(

  6. mazdak пишет 17.11.2014 в 10:32 #

    Just AUTORUN feature is necessary for our project

  7. VALERIY пишет 16.12.2014 в 11:09 #

    А как вложение отослать ? Где хранить вложение перед отправкой?

  8. Николай пишет 27.01.2015 в 21:29 #

    Добрый день!

    При покупке на алиэкпрессе не обратил внимание и купил плату на SIM900A (вот такую http://www.aliexpress.com/item/SIM900A-MINI-V4-0-Data-Extension-Develpoment-Module-GPRS-with-Antenna-Free-shipping/2045572936.html )
    Хочу залить другую прошивку, но возникла проблема с пунктом 5 — «Зажмите кнопку включения модуля и запустите загрузку прошивку в модуль. Держите кнопку нажатой, пока не пройдёт проверка модуля и не начнётся его прошивка».
    Как мне это сделать, подскажите пожалуйста!

  9. Alex_EXE пишет 08.02.2015 в 05:28 #

    У данного модема есть вход PWRKEY, присутствие на котором земли в течении полу секунды (или около того) запускает модуль. На Вашем модуле по видимому физической данной кнопки нет, следовательно или она заменена специальной пусковой цепочкой, или в настройках модуля включен автостарт (уже не помню, возможно ли такое), или в нём специальная прошивка.
    Первый вариант — нужно проследить, куда этот вывод идёт и если это так — то вручную проводком посадить его на землю, до того пока не пойдёт загрузка.
    Вариант 2 — отключить автостарт и см концовка пункт 1.
    По 3 варианту нечего подсказать не смогу.

  10. Гегам пишет 14.02.2015 в 18:51 #

    Здраствуйте!
    Подскажите пожалуйста где можно скачать SIM900 Series download Tools Customer?

  11. Alex_EXE пишет 16.02.2015 в 14:11 #

    Файлы предоставлены mt-system.ru, но публиковать их они не разрешили, так что по вопросам, где достать их, обращайтесь к ним.

    Если не ответят — обратитесь через обратную связь.

  12. Александр пишет 09.06.2015 в 17:45 #

    Скажите, возможно ли перешить модуль с номером S2-1047P

  13. Alex_EXE пишет 10.06.2015 в 11:52 #

    Не подскажу — не знаю.

  14. Денис пишет 31.07.2015 в 07:07 #

    Здравствуйте , Alex_EXE
    Пытаюсь отправить EMAIL делаю все как у вас в примере но проблема возникает на команде AT+SMTPBODY в ответ приходит она же и > в следующей . на этом модуль зависает .
    https://yadi.sk/i/BqR0lHdMiBtPx ЛОГ

  15. Денис пишет 31.07.2015 в 07:08 #

    Да забыл добавить , строка ввода команд становится синей

  16. Konstantin пишет 18.08.2015 в 02:31 #

    У меня что то этот модуль, даже на команды по RX TX ни как не откликается, ни на какой скорости…, не то что бы перешить. :(

  17. Alex_EXE пишет 18.08.2015 в 07:07 #

    Денис
    Модуль повисает или ожидает символа окончания или отмены ввода строки? Можете попробовать другую терминальную программу.
    Konstantin
    Модуль включен? Светодиодная индикация работает? Линии Rx и Tx не перепутаны, можете попробовать другой преобразователь интерфейса? На крайний случай проверьте работу текущего.

  18. Denis800 пишет 09.10.2015 в 03:03 #

    Перепрошил SIM900a (который по незнанию купил на али експрес) в SIM900 прошивкой all in one. теперь почти всё работает (до этого даже не регистрировался в сети), могу писать и принимать СМС, принимать звонки, есть DTMF. А вот позвонить немогу ! почему ? сразу сброс (no carier что то такое пишет).

  19. Алекс пишет 15.11.2015 в 21:34 #

    Всего только одна батареечка… Как тянет? Надолго хватает? Самопроизвольно не выключается?

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

    Спасибо.

  20. Alex_EXE пишет 16.11.2015 в 11:43 #

    Эта маленькая батареечка аккумулятор 18650 напряжением 3.7-4.2В емкостью 2200мАч.

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

  21. Olegtur77 пишет 10.12.2015 в 05:59 #

    Собрал и я модем на модуле SIM900А. Конечно же он не подключился к сети, поэтому начал издеваться над чипом. Разные манипуляции не приводили к успеху, н овот нашет такой способ прошивки (по другому у меня не получалось). Может кто-то еще столкнется с этим.
    1-е на что еще раз хочу обратить внимание, что прошивать нужно не через UART, а через DEDUG port (выводы 27 и 28),
    2-подаю питание на модуль
    3- стратую флешь-консоль, выбираю параметры: SIM900(!) (а не 900А, он будет ругаться на версию прошивки), скорость 115200 (прошивка 1137B02SIM900M64_ST_ENHANCE )
    4- старт прошивки, после нажать РЕСЕТ(вывод 16 на модуле), после он стартует прошивку как надо (с опознаванием чипа и т..д)
    5- Рестарт модуля
    Только после этих действий модуль стал SIM900 .
    Проверил дозвон, СМС, GPRS, и проч основные функции — все работает.
    Думаю моя информация тоже пригодиться.

    А, еще: на авторской схеме модема подписаны ноги 11-15, как для ЖКИ экрана, но нигде не нашел прямого подключения? оно существует или это для других моделей?

  22. АРТЕМ пишет 25.12.2015 в 03:50 #

    Прошил sim900D — 10 минут, скорость 57600 полет номальный, DTMF пикают на динамике и в терминале работают. Правда при звонке теперь пропала мелодия. Прошивка была B06

    (Всего только одна батареечка… Как тянет? Надолго хватает? Самопроизвольно не выключается?) это же батареечка для телефонов, а sim 900 и есть телефон, кстати SIM900D имеет контроллер заряда. Я кстати примотал его. Теперь заряжаю батарейку не отходя от кассы.
    Вот мое чудовище: https://www.youtube.com/watch?v=uPQZUlBDT30 если автор не против ссылки.

  23. Alex_EXE пишет 27.12.2015 в 00:41 #

    Olegtur77
    Компонент модуля рисовал с даташита по нему и указал все имеющиеся у него выводы. В документации есть рекомендация по подключению клавиатуры к модулю, при беглом просмотре рекомендаций по подключению дисплея не обнаружил. Но раз есть выводы, то такая возможность скорее всего или есть, и как видно это дисплей SPI или SPI совместимым интерфейсом, или такая возможность в определенных комплектация может быть.
    Но такое использование для моделей является не профильным, т.е. если нужен дисплей и клавиатура, то тут проще взять готовый сотовый телефон, модули же обычно используются в более автономных системах.
    Если же использование дисплея все ещё интересно то рекомендую посмотреть, какие дисплеи используются в монохромных сотовых телефонах от simens, nokia и попробовать их подключить наудачу к выводам модуля. При правильном подключении (точнее при правильном схемотехническом, если даже модуль дисплей не будет поддерживать) для дисплея и модуля это должно быть безопасно.
    АРТЕМ
    Прошивать можно на любой скорости, чем больше тем быстрее, но тем более жёсткие требования к соединениям и качеству связи.

  24. Артем пишет 28.12.2015 в 02:12 #

    Спасибо Alex_EXE. Просто больше чем на 57600 не поднимается связь. Грешу на свою самопайную систему. Жду из Китая нормальные FT232 модули. Вот состыковал sim900D с 1с 8.2: https://www.youtube.com/watch?v=Q8CSldP0T0U. если Вы не против я указал ссылку на Ваш сайт в описании и непосредственно сказал об этом в видео. И еще раз спасибо Вам.

  25. Александр пишет 22.04.2016 в 03:42 #

    После неудачной прошивки(вылетел синий экран)SIM900A перестал подавать признаки жизни.Сейчас подключил UART к DEBUG выводам.Однако программа прошивки его как бы не видит.Зависает на ERROR RAM program ACK Not Received! (0).С заводской версией на выводе PWRKEY обычно висит около 2,5 В,а сейчас 0.Сколько бы я не жал на кнопку — ноль реакции.Можно ли его запрограммировать с битой прошивкой?

Комментарии RSS

Оставьте отзыв