GSM модуль SIM900D, AT команды


• О проекте
• Обратная связь
• Полезные ссылки
• Полезные программы
• Друзья сайта


Последние комментарии

Васил: Загрузчик для AVR микроконтроллеров
Ошибка #ifdef ST...

Алексей: Загрузчик для AVR микроконтроллеров
Да, есть такая фи...




           

Библиотека для AVR





AXLIB Генератор





Помощь сайту


   
				

GSM модуль SIM900D, AT команды

	
	
	

Дата: 17 Марта 2013. Автор: Алексей

	
	
Отладочная плата на базе SIM900D

Здравствуйте!
В прошлой статье мы собрали плату с модулем и проверили ее на работоспособность. Сегодня попробуем поговорить с модулем и что-нибудь его попросить сделать. Для общения с модулем нам понадобиться узнать его язык, а именно набор AT-команд. Для подключения к модулю я буду использовать переходник USB->RS-232->UART. С учетом того что модуль питается напряжением 3,3 в, то потребуется переходник RS-232->UART на базе микросхемы серии 3232. Мне паять было лень, да и готовая плата стоит по цене деталей, поэтому я купил готовую. Выглядит она так:


Подключив все и подав питание, убедившись что все нормально, запускаем программу PuTTY. Почему именно ее? Да просто она по моему единственная которая адекватно работает с модулем. Если вам нравится любой другой терминал, виндовый например, работайте в нем, но за адекватную работу я не ручаюсь. После запуска программы выбираем тип соединения Serial, номер COM-порта, скорость и называем сеанс SIM900D.


Далее жмем Сохранить чтобы не вводить каждый раз и соединяемся с модулем нажимая кнопку Соединение. Появится вот такое окно:


Ну теперь можно начинать. Первая команда для соединения с модулем должна быть всегда AT. Если модуль ответил Ок значит все правильно, если нет, ищем ошибку.


Перед тем как переходить к командам немного болтовни. Как я понял все команды разделены на три части.
Первая имеет вид: AT+<параметр>? вернет значение параметра.
Вторая имеет вид: AT+<параметр>=? вернет либо Ок либо значение в этом параметре.
Третья имеет вид: AT+<параметр>=<значение> установит значение параметра.

Теперь переходим к командам. Здесь я рассмотрю только основные команды, которые необходимы для работы модуля. Для более глубокого изучения читайте мануал. Но! Я в разделе Справочники создам ветку SIM900D и буду туда складывать команды с описанием по мере их изучения.

AT+GSV
Вернет три строки. Первая компания изготовитель. Вторая идентификатор модуля. Третья версия прошивки.


AT+CSQ
Вернет информацию о качестве приема сети. Первое число это уровень от 0 до 31 либо 99. 99 означает отсутствие сигнала вообще. Вторая цифра мне непонятна, но на одном форуме мне сказали что чем она меньше,тем лучше. Поверим на слово.


AT+COPS?
Это информационная команда, она вернет оператора к которому сейчас подключен модуль. В частности у меня Beeline.


AT+CCLK?
Эта команда вернет текущее время и дату.

<

AT+CCLK="гг/мм/дд,чч:мм:сс+чп"
Данная команда устанавливает дату, время и часовой пояс.


ATEх
Данная команда включает режим эха. При работе с МК его лучше отключить.
х=0 Выключить
х=1 Включить

AT+CMEE=x
Данная команда задает вариант ответа ошибки.
х=0 При любой ошибке напишет ERROR.
х=1 Вернет код ошибки. Удобно для работы с МК.
х=2 Вернет подробное описание ошибки. Удобно для работы через терминал.

ATVx
Данная команда устанавливает формат ответа.
х=0 Вернет текстовой ответ. Удобно для работы через терминал.
х=1 Вернет код ответа. Удобно для работы с МК.

ATD89161234567;
Данная команда заставит модуль позвонить по данному номеру. Частая ошибка не установка точки с запятой в конце номера, без нее звонить не будет.

ATA
Снять трубку если пришел звонок.

ATS0=x
Данная команда устанавливает количество звонков до автоматического поднятия трубки. Если х=0, то поднятие только вручную.

ATH0
Разорвать все соединения.

AT+CLIP=1
Данная команда включает режим АОН. При работе с МК по моему не нужный режим.

AT+GSMBUSY=x
Данная команда разрешает/запрещает входящие звонки.
х=0 Разрешить.
х=1 Запретить.

AT+CMGR=x,y
Данная команда читает SMS.
х Порядковый номер сообщения.
y=0 Изменить на статус прочитано.
y=1 Не изменять статус.

AT+CMGD=x
Данная команда удаляет SMS.
х Порядковый номер сообщения.

AT+CMGS="89161234567"
Данная команда отсылает SMS. После ввода команды модуль предложит ввести текст.
После ввода текста для отправки нужно завершить текст символом Ctrl+Z

И на по следок смешная но очень важная команда.

ATD#102#
Надеюсь вы уже догадались - это баланс. Сразу отвечу на вопрос почему вначале #. Дело в том что если использовать *, то вы получите текст в HEX формате, а так все Ок.


Отладочная плата на базе SIM900D

Вот и все. В следующей статье будем прикручивать модуль к МК.
Удачи!


Kos    24.05.14

Больше года прошло, а к МК до сих пор не прикрутили?)))))

Алексей    24.05.14

Да чего-то я подзабил на него))) Платка покрылась пылью. Чел который хотел на ее базе мониторить температуру в доме передумал, а мне оно как-то пока не нужно. Если интересно прикрутить к МК то можно подумать. Там в общем ничего сложного нет.

Kos    06.06.14

Было бы интересно посмотреть на исходники прошивки)))

Алексей    07.06.14

На недельке попробую че нить накидать

Александр    13.06.14

А обязательно прикручивать микроконтроллер? Вроде с поддержкой embedded AT он не нужен. Я ещё толком не разобрался если у вас есть подробная информация скиньте пожалуйста на почту(antares_87@mail.ru).

Ааааа    14.06.14

Поправьте кодировки

Алексей    14.06.14

Кодировки где?

timm    02.07.14

Вопрос - если на плате MAX3232 замкнуть пины RX и TX, в терминале мне должно будет приходить эхо на мои запросы? Т.е. схема такая: на компе запущена Putty, к компу подключен USB-COM конвертер, к которому подключена MAX3232. Дальше подключений нет, только замкнуты RX и TX. У меня не работает MAX3232 либо USB-COM конвертер, вот пытаюсь разобраться.

Алексей    02.07.14

Давайте по порядку. Для того чтобы проверить USB-COM, просто перемкните 2 и 3 контакты на переходнике. При посылке в порт через Putty вам должно вернутся тоже самое. Ну будет казаться что вы просто печатаете текстовой файл. Если ничего выводится не будет, то не работает переходник. Но это мало вероятно. Внимательно посмотрите правильность разводки MAX3232 Питание не забудьте подвести 3,3в и обвязать общий провод.

timm    03.07.14

Всё получилось! Несколько дней мучился, не у кого спросить было. Проблема была в том, что я не подавал питание на Vcc на плате MAX3232, т.к. почему-то решил, что плата сама от COM-порта питается. Подавать на Vcc можно от 3 до 5В, не обязательно 3.3В. У меня и от 2.9В работает. Спасибо за ответ.

CrazyPit    08.10.14

Некрасиво запрещать copy paste на страничке пришлось сохранять страничку и открывать ее в ворде.. защита банальна но пользоваться неудобно

Алексей    08.10.14

Каюсь. Исправлю. Самому надоело.

Андрей    09.10.14

Команда A/ кошерная - Повтор предыдущей команды.

Андрей    19.10.14

Может какую нибудь темку открыть по командам для SIM900D. Я вот сейчас с FTP файлик скачал платкой свежекупленой, пару вечеров откорячился с командами по форумам. Глядишь кому то пригодится. За примечание про точку с запятой в конце набора номера респектище большое. На других сайтах на ней внимание не акцентировалось, так тоже не сказать что бы сильно помучился, но и NO CARRIER на ровном месте радости не доставляло.

Алексей    19.10.14

Темку на форуме? Просто я как-то начал тут. В принципе можно продолжить.

Алексей    19.10.14

Можно даже все там переписать и сгруппировать по темам.

Андрей    20.10.14

В "тут" продолжить может только хозяин сайта. с одной стороны это хорошо тем что получается не засраный флудом справочник. С другой стороны если возникнут вопросы там их уже не обсудить. Можно выкладывать на ветке форума, с отступлениями и развёрнутыми комментариями в качестве рабочего материала. А после проверки как минимум ещё одним человеком на предмет работоспособности забивать в скрижали "тут"

Алексей    20.10.14

Ща сделаем)

Алексей    20.10.14

Готово.




Чтобы вставить ссылку используйте форму вида[url]http://www.адрес.ru[/url][text]текст ссылки[/text]
Чтобы вставить код используйте форму вида[code]код[/code]

Имя:   





  








Вверх


Рейтинг@Mail.ru Яндекс.Метрика