8-900-374-94-44
[email protected]
Slide Image
Меню

Sim900 распиновка – Освоение GSM на базе модуля SIM900D

Содержание

Освоение GSM на базе модуля SIM900D


				

	
	
	
Дата: 14 Февраля 2013. Автор: Алексей


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


Здравствуйте!
Встала тут задача по управлять загородным домом, последить за температурой, дверями, окнами. И тут же возник вопрос о среде передачи данных. Ну провода и радиоканал отпадают из-за дороговизны, ВОЛС просто мечты, а вот GSM то что нужно. Сначала пал глаз на старые телефоны "Motorola", "Nokia", "SonyEricsson". Посмотрел, повертел и передумал. Первое, не хотел подпаиваться к контактам кнопок, да и обратной связи нет. Второе, разбираться с ПО телефона, ну это совсем не в кассу. В общем в творческих раздумьях и плавая в просторах всемирной паутины, изловив пару вирусов был найден компромисс. И работа с ПО и без всяких кнопок. Все это предлагает модуль SIM900D. Чем он мне приглянулся.


  - Первое это простота монтажа. В этом вы убедитесь позже.
  - Второе это общение через UART. (Это значит МК + SIM900D = нормальная связь)
  - Третье это питание модуля от 3 до 4.8 вольт. Хош AVR, хош ARM. По вкусу.

Ну лирики хватит, пора по делу.


Выглядит сей модуль так.




По поводу монтажа. Как видите модуль заточен на поверхностный монтаж. Размеры контактных площадок достаточно большие даже для ЛУТа. Ниже картинка моего устройства.




Как видите ничего сложного. Теперь давайте поговорим о схеме подключения этого чуда. Глядим мануал. И видим распиновку.




Да, много всего, но все использовать не будем. Первое что нам потребуется это обвязать все выводы "GND". Если глянуть на правый верхний угол, то можно заметить три отдельных вывода. Два "GND" и "ANT". Эти выводы расположены таким образом не просто так. Глянем в документацию на картинку подключения антенны.




59 и 61 контакты должны находиться как можно ближе к выводу антенны. Дополнительные схемы выделенные пунктиром, нужны для подключение антенн с кабелем. Поэтому я впаял SMA разъем как можно ближе к выводам 59, 60, 61 и не стал заморачиваться со схемой согласования, при этом с антенной на 3-х метровом кабеле и в месте очень плохого приема, выжал из модуля 13 балов из 31. Разъем видно на картинке выше. Точнее ноги от него)) Сам разъем с другой стороны. При этом контакты 59 и 61 как бы обнимают антенну. Ну как-то так. Далее давайте поговорим о SIM-карте. Для ее установки я использовал вот такой разъем (SIM ICA-501-006-01-F7)


Самое интересное то что я нашел 3 варианта распиновки SIM-карт. Какую использовать? Не буду вносить интриги, а для простоты привожу распиновку данного разъема. Вид сверху.




Но это еще не все. Если глянуть в монуал на схему включения SIM-карты, то там можно увидеть некую микросхемку под названием SMF05C . Эта микросхема содержит защитные диоды аж 5 штуков. Нужна для зашиты контактов SIM-карты. Конечно можно ее и не ставить, но тогда будьте внимательны и не трогайте контакты пальцами!!! Я как грешный человек за себя не ручаюсь, поэтому микруху припоял. А вот и сама схема.


Она конечно приведена для 8-и контактной SIM-карты, но для 6-ти будет тоже самое. Есть правда две засады с этой микросхемой. Первая это то что ее хрен где сыщешь. А вторая то что размер ее... Я когда получил заказ и достав положил ее на стол... Короче на втором рисунке сверху она впаяна между SIM-картой и батарейкой. Для сравнения резисторы 0805. Ну а справа транзистор в корпусе SOT-23. Так ну вроде с SIM-картой разобрались, поехали дальше. А дальше светотехника. Вообще говоря это на любителя. Так как все эти сигналы можно завести прямо в МК и он там сам пускай разбирается. Я все их вывел из чувства к прекрасному. Так что решайте сами.


   - Первое это сигнал включен модуль или нет (STATUS) лог 1
   - Второе это сигнал наличия регистрации сети (NETLIGHT) лог 1/0 (мигает)
        Если мигает с одинаковой частотой, значит не зарегистрировался в сети
        Если длинный промежуток, значит есть конект к сети.
   - Третье это сигнал звонка/sms (RING) лог 0
        Горит если есть входящий звонок и моргнет при получении sms-сообщения.

Первые два сигнала нужно подключать через NPN транзистор в ключевом режиме.




А третий сигнал (RING) нужно подключать через PNP транзистор. Еще один не мало важный сигнал, это кнопка включения и выключения модуля. (куда же без нее). Вот что нам предлагает мануал.




То есть подали лог 1 на базу транзистора на 1 секунду и модуль включился.


Теперь давайте поговорим о питании. Да, я бы ща от хорошей тарелочки борьща не отказался бы, а вы? Ну ладно, едем дальше. Питается модуль напругой от 3 до 4.8 вольтов. Вроде все просто, да не так. В момент звонка, передачи sms, поиска сети модуль может потребовать аж до 2А. Во как. Так что любители LM7805 и КРЕНок могут огорчиться. К счастью в мануале присутствуют две схемы на микросхемах MIC29302 (я так в продаже ее и не нашел) и LM2596 (эту купить можно). Но я лениииивый и собирать питалово с таким большим количеством обвязки просто не захотел. Я пошукал в интернете и нашел. Есть такой хороший стабилизатор для процессоров типа "Пень", "AMD" на 3.3в и до 7.5А. Во, думаю то что надо и ARM запитать можно и модуль. Вот схема этого чуда.


А вот как это выглядит в собранном виде.




Радиатор поставил со страху, в принципе микросхема не греется даже во время звонка. И последнее на что следует обратить внимание, это на батарейку. Она нужна для поддержания жизни часов реального времени. Самое важное что оставлять этот вывод в воздухе нельзя. Лично я сошелся на подключении батарейки чего и вам желаю. Можно конечно две АА влепить)) но как-то крупновато, а вот в форме таблетки 2032 на 3v то что надо. Благо они стоят не дорого и отсеки паять можно прям на плату. По моему это самое простое решение. Решать вам. Ну вроде и все. Вот как это все безобразие выглядит вместе и в работающем состоянии.




В следующей статье я расскажу как ломал этот модуль но уже программно через терминал при помощи АТ команд.


Выкладываю схемы в PCAD-2006


Архив с файлами модуля GSM.
Архив с файлами блока стабилизации.


Продолжение цикла статей о GSM модуле.
AT-Команды.
Связь модуля с ATmega8515.


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

Foli    14.03.13

хотелось бы подробней о АТ командах, UARTу и непосредственно работы с этим в CodeVision


Алексей    15.03.13

С АТ командами разбираюсь. Не хочу выкладывать половину работы, так как есть некоторые вопросы. А с UARTтом и CVAVR там все просто. Как только разберусь с АТ командами сразу выложу и какие команды и как из CVAVR их подать.


Anatok    04.11.13

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


Алексей    04.11.13

GSM модуль жрет до 2А при регистрации в сети или звонке или связи по GPRS. Для таких ресурсов требуется хороший аккумулятор, а при -30 АКБ долго не проживет. Даже в метеостанциях на уличных датчиках рекомендуют использовать простые батарейки.


Мишка    11.11.13

Если еще актуально и интересно...помотри на EAT для SIM900. В нем внутри ARM и есть SDK в котором можно загружать приложения в SIM900 из которых можно много всего делать...например посылать те-же AT команды...+клавиатура + SPI дисплей... + 2 АЦП :) Нескучного вечера:)


Мишка    11.11.13

А све-таки для него очень красиво делать для него питание на L5973D. Да про 2А написана в даташите...но практически это очень кратковременные импульсы. У меня он прекрасно работает например с Arduino Mega которая сама питается от USB порта (у которога ток 0.5 А)


Алексей    11.11.13

В этом-то и загвоздка. Я тоже по началу питал от 7805, все работало, а потом бац... И при подключении к сети все гаснет, а потом в рестарта идёт. Видимо сторожевая собака по припадке питания рестартует. А с L7953D будет красиво, но где её взять и скопа она будет стоить 🙂 Поэтому я перешёл на IRU1075


Алексей    11.11.13

Прошу прощения за ошибки, это чертов ГУДРОЙД горбыли лепит за меня. Думает он умнее. Не буду править, пусть Гуглу стыдно будет за их работу.


дядяМиша    24.12.13

У меня при регистрации в сети атмега в перезагруз уходит. Хотя стоит импульсный dcdc. Конденсаторов на 200мкф. А бывает, работает стабильно. Замучался уже.


Алексей    25.12.13

Схему в студию. Со слов довольно сложновато понять проблему.


дядяМиша    25.12.13

[url=http://ybex.com/d/tk7kgiefpklpeujb1zb l4lo5mrkf7ayvci04ouq3.html] [img=http://ybex.com/t/tk7kgiefpklpeujb1zb l4lo5mrkf7ayvci04ouq3.png][/img][/url]


дядяМиша    25.12.13

http://ybex.com/d/tk7kgiefpklpeujb1zbl4lo5 mrkf7ayvci04ouq3.html МК запитан от 2.8 (пробовал даже 3.7) Вольт, чтобы не городить преобразователь уровня.


Алексей    25.12.13

По ссылке не открывается картинка. Может перейдем на форум?


сергей    19.07.14

Алексей здравствуйте! у вас есть готовые платы с сим900, можно ли купить?


Алексей    19.07.14

В каком смысле готовые? Сам модуль уже собран и остается под конкретный девайс изготовить плату с требуемыми выходами и входами. Та что в данной статье это лишь демо плата для отладки программ. Для конкретного девайса требуются размеры, расположение разъемов, выходов на наушники и микрофон. Где будет антенный разъем. Дайте более подробную информацию о том что Вам нужно.


Андрей    28.09.14

Я так понимаю это прототип той платки которую я жду не дождусь. Только в коммерческом варианте её поженили с блоком питания и облагородили аудио выходами. Что есть большой гуд.


Алексей    28.09.14

Собственно так и есть. Я просто сразу убил несколько зайцев. Решил извечную проблему с питанием и согласованием уровней на UART. И для шика добавил аудио вход и выход. Фактически готовый сотовый телефон.


Андрей    28.09.14

Хотел бы внести рацуху на будущее. по сути данная плата законченный узел. И её ПРАКТИЧЕСКИ можно использовать в готовом изделии. однако есть одно НО. При мезонном навесе её по любому лучше ставить сверху (разъем антены, доступ к симкарте) поэтому вполне целесообразно параллельно всем штырькам для "периферии" оставлять отверстия для таких же штырьков с возможностью впайки оных направлением "вниз". Т.е. захотел я данный девайс насадить на плату микроконтроллера, развёл под твой, запаял ответные разъемы в него и состыковал. Ещё и с


Андрей    28.09.14

Сожрало полмессаги, но мысль надеюсь понятна-)


Алексей    28.09.14

Я думаю эту тему лучше перенести на форум. Я создал ветку по плате. Для обсуждения идем сюда
Сергей    01.02.15

Подскажите почему модуль греется и неловит сеть?


Алексей    01.02.15

Здесь есть несколько причин. Первая, превышено питание. Второе, не попал ли плюс на общий. Нужно внимательно посмотреть ножки питания. Третье, не касается ли модулю брюхом питающих линий. На брюхе есть несколько технологических контактов которые должны быть изолированны от каких либо проводников. Четвертое, не замкнут ли вывод антенны с общим выводом. А если быть точнее, то необходимо смотреть плату. Сбросьте мне плату на почту и я посмотрю, может там что-то не так.


Сергей    01.02.15

Платы у меня заводские , МастерКит BM8039 и на обеих одна и та же проблема..вставляешь симку модуль начинает грется и нет сети.


Алексей    01.02.15

Довольно сложно сказать. Схема заводская, надо по плате полазить. Из документации видно что на плате нет рекомендуемых защитных диодов для SIM-карты. Сама карта и разъем по пинам совпадают? 300 модуль старый и по моему он работает только с симками 5 вольтовыми, а сейчас они все на 3в. Но я могу и ошибаться. Надо смотреть саму плату, так сложно что-то сказать. Если симптом на обеих один и тот же, то я бы какпал в сторону разъема и вольтажа симок. Еще раз, современные симки на 3-х вольтовые.


Сергей    01.02.15

Стоит sim900D...диодов нет.Когда вставляю карту появляется питание на модуле и он начинает греться,но на симку напр. с 9 ноги не идёт..


Сергей    01.02.15

изначально работали нормально..потом что то коратнуло...не могу понять что..


Сергей    01.02.15

Можно как то проверить модуль не выпаивая?


Алексей    01.02.15

А что именно коротнуло? Если питание на симку не идет, то я боюсь сдохла линия для симки. А симка сколько ног? 6 или 8? Для проверки можно не вставляя симки пообщаться с модулем по шине UART 3, 4 ноги. Если откажется принимать АТ команды, то я думаю можно его хоронить.


АНОНИМ    01.02.15

что коротнуло точно незнаю..ног 8 ..а как пообщаться то?


Алексей    01.02.15

А на разъеме тоже 8? Берем микросхему FT232RL, собираем переходник USB<->TTL, припаеваемся к UART модуля, запускаем терминал, например Putty, пишем AT и давим ентер. Если вернет ОК, значт еще не все потеряно. Если тишина... На помойку. А да, какие светодиоды а плате? как определяется наличие регистрации в сети?


Сергей    02.02.15 03:12

На разъёме тоже 8..на плате два светодиода зелёный и красный,наличие сети определяется по морганию зелёного раз в три секунды...можно как то вставить фото платы?


Алексей    02.02.15 07:42

Проще перейти на форум.


Сергей    02.02.15 14:02

Если не вставлять симку значит нужно подать питание на модуль?


Алексей    02.02.15 15:48

Я не могу гадать на кофейной гуще. Мне нужна либо схема, либо плата. И причем тут питание модуля и сим карта? Там скорее всего еще с каким-то микроконтроллером пересекается. Он и подает питание. В общем нужна схема. А так это как диагноз по телефону ставить.


Сергей    02.02.15 15:56

где на форуме можно выложить схему?


Сергей    02.02.15 15:57

Питание на модуль приходит только когда вставляешь симку


Алексей    02.02.15 19:27

Ну нет такого у модуля SIM900D. Для включения модуля необходимо удержать низкий уровень на ножке 12, а потом поднять. Сим карту вообще нельзя вставлять или вынимать при включенном модуле, есть вероятность сжечь порт. Если посмотреть документацию, то можно там найти рекомендации по установке защитных диодов на линии порта сим карты. На форуме здесь. Создать тему и выложить фото.
Евгений    08.09.15 12:04

У меня при подаче напряжения на модуль, на 12 ноге присутствует положительный потенциал, на 5 ноге так же положительный (при условии, что данные ноги висят в воздухе). Подскажите пожалуйста, ведь на 5 ноге вроде должен быть ноль? Если не так, пожалуйста поправьте меня.


Алексей    08.09.15 13:21

12 ножка это включения модуля. На ней при подаче питания висит 1. Для включения модуля нужно прижать на пару секунд 12-тую ножку к общему проводу, то есть подать 0. При подаче питания на модуль 5 ножка должна быть подтянута к общему проводу двумя резисторами (это видно из схемы включения транзистора в ключевом режиме) и на ней должен быть 0, так как базу нужно подтянуть к нулю для полного закрытия транзистора. После прижатия 12 ноги к нулю, на 5 ножке должна появится 1, а через некоторое время меандр с указанием статуса наличия и подключения к сети.








www.avrki.ru

GSM/GPRS модуль SIM900 / Деталька / Сообщество EasyElectronics.ru

Иногда возникает желание по управлять объектом на расстоянии или получить от него данные. Причем расстояния могут быть весьма значительными. Одним из способов осуществить эту мечту — использовать возможности сотовой связи. При этом не потребуются мощные передатчики, разрешения соответствующих органов и прочие дорогостоящие вложения. Нужно только правильное железо и нахождение в зоне покрытия оператора. Одной из таких правильных железок является модуль Sim900 от компании Simcom. К весьма важным достоинствам модулей относится, помимо богатых возможностей самих железок, также минимальная обвязка, простая в изготовлении плата, возможность легко приобрести и относительно низкая цена (я брал по 731р за штучку).
Так как про эти модули можно написать очень много всего и разного, то будет 2 или 3 статьи. Первая будет железная, вторая софтовая и если во вторую все не поместится, то третья с отдельным описанием работы с сетью.

+Бонус:) Куда же без него. Последняя версия B07 прошивки для sim900.

У нас продаются 3 типа модулей. Все они имеют 4 диапазона 850/900/1800/1900МГц, умеют передавать/принимать голосовые вызовы, работать с смс, делать ussd запросы и работать с сетью через GPRS, с поддержкой ftp, http или tcp/udp.

1. Основной, рекомендуемый к использованию Sim900. Небольшой (24х24мм), паябельный корпус, единственный поддерживающий протокол I2C.

2. Второй модуль — это Sim900B. Размер 40х33мм, крепление к плате через 60 контактный разъем с весьма мелким шагом. Предназначен для замены модулей sim300. В общем самый неудачный вариант для домашнего применения.

3. И последний модуль — Sim900D. Тоже небольшой (33х33мм), хорошо подходящий для пайки на плату, единственный имеющий цепи контроля и заряда для литий-ионных аккумуляторов. Предназначен для замены модулей sim340DZ, с которым совместим по выводам. Было мнение, что это переходная модель, которая будет сниматься с производства. Но производитель заявил, что это не совсем так. Точнее совсем не так и прекращать выпуск они не планируют.

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

Питание
Для модулей необходимо питание от 3.2 до 4.8В. Номинальное значение 4.0В. Питание заводится на выводы VBAT. Ток потребления сильно зависит от текущего режима работы и может колебаться от 20-30мА до 500мА. При этом также возможны кратковременные скачки до 2-3А, особенно в процессе поиска сети или при приеме/передачи данных. Так что для питания необходимо использовать подходящие блоки питания и не экономить на электролитах. Можно использовать рекомендуемую производителем схему на MIC29302WT.

Так же им необходима дополнительная поддержка для часов реального времени, вывод VRTC. Для нее можно поставить батарейку, ионистор или просто конденсатор с емкостью не меньше 4.7мкФ.

Слева подключение ионистора/конденсатора, справа батарейки.
Важно! Оставлять висеть этот вывод в воздухе нельзя.
Для включения производитель рекомендует следующую схему:

Длительность импульса должна быть не меньше 1с.

Сим-карта
Сим-карта подключается к соответствующим выводам модуля по схеме из даташита. Лучше всего использовать специальные холдеры для монтажа на плату, благо стоят они недорого (~30р). Также что бы модуль понял, что к нему подключили карту нужно посадить на землю вывод sim-present. У модуля sim900D этот вывод совмещен с выводом KBR0. Использовать или нет защитные диоды личное дело каждого, но лучше перестраховаться.

Важно! Все модули работают только с сим-картами на 1.8 или 3В. Одна из ошибок, почему мой модуль по началу не ловил сеть, как раз была в том, что я вставлял свою старую карточку на 5В.

COM порт
В модулях реализован полный набор интерфейсных выводов для подключения по usart. В зависимости от настроек, управление потоком может быть аппаратное с использованием RTS,CTS,DTR,DCD и RI. Так же можно использовать режим без управления, когда используются только RXD и TXD. Программное управление (XON/XOFF) использовать не рекомендуется из-за наличия ошибок в его реализации. Неиспользуемые выводы нужно оставить висеть в воздухе, все необходимые подтяжки уже есть внутри.

Выход RI работает независимо от выбранного режима. В дежурном режиме он находится в «1». При поступлении звонка или наборе номера выход переходит в «0» и остается в нем до поднятия трубки абонентом/модулем или отбоя. При поступлении смс на нем появляется импульс «0» с длительностью 120мс.

Модуль может работать на скоростях от 1200 до 115200. При включении устанавливается режим авто-настройки скорости от 1200 до 57600, 8 бит данных, без четности и 1 стоп битом. Для синхронизации необходимо выждать 2-3с после включения и послать команду «AT» (обязательно большими буквами).
Если скорости одинаковые, то модуль при включении выдаст:
00 49 49 49 49 FF FF FF FF (в шестнадцатеричном режиме)
RDY
+CFUN: 1

Если на карте нет пин кода:
+CPIN: READY
Если пин код установлен
+CPIN: SIM PIN
Для продолжения работы нужно ввести пин: AT+CPIN=pin
Затем выдается:
Call Ready
Модуль готов к работе, хотя сеть может быть еще не найдена.

Важно №1 Основная проблема с использованием заключается в том что максимальное напряжение на них может быть 3.0В и если управляющий контроллер имеет питание больше 3.0В, то необходимо использовать согласующие цепи. Подключать напрямую или ставить только последовательно резистор крайне нежелательно. Есть вероятность спалить вывод или грохнуть прошивку. Я делал обычный резистивный делитель.
Важно №2 Сначала я использовал Terminal V1.9 от [email protected]++. С ним почему то все работало э-эм, в общем неправильно. Ответы от модуля приходили не все, команды возвращались просто эхом. Почему не знаю, но помогло использование вместо него putty. Кто сидит под ХР могут использовать встроенную терминалку.

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

Подключение динамика:

Дополнительные входы/выходы
Сначала выходы. У модулей два информационных выхода — STATUS, который загорается после включения модуля и NETLIGHT, который мигает в зависимости от состояния сети.
Возможные режимы (Горит/Не горит):

  • 64мс/800мс — сеть не найдена
  • 64мс/3000мс — сеть найдена
  • 64мс/300мс — идет обмен по gprs
Рекомендуемая схема подключения светодиодов такая:

Так как всю информацию о состоянии модуля (и с большими подробностями) можно получить по шине данных, то использовать эти выходы нужно только для удовлетворения эстетического чувство прекрасного:)
Еще один полезный выход — выход PWM, на котором можно программно получить сигнал с частотой от 200Гц до 5кГц.
Полезных входов в модуле только один — вход ADC, который полностью соответствует своему названию и может измерять напряжение до 2.8В с частотой 200кГц и разрешением в 10бит.

Антенна
Тут все просто. Есть рекомендованная схема согласования, есть значение нужного сопротивления в 50 ом и есть мнение, что при длине проводника от ножки до разъема антенны меньше 2см никаких особых мер по согласованию не требуется. Я выбрал последний вариант:) Но на всякий случай схема согласования:

Результат
И вот что у меня получилось в итоге:


На данный момент модуль умеет звонить, принимать и отправлять смс, читать и писать в сим-карту, делать ussd запросы, читать и писать в файл на ftp сервере.
В архиве схема, плата и компоненты холдера для сим-карты и sim900D. Ссылка на народе для diptrace 2.1

Прошивка
Вот и обещанный бонус — последняя на данный момент прошивка для Sim900, версия B07. Также в архиве лежит B06, сама программа, pdf с инструкцией по прошивке и изменениями. Скачать с народа. Размер 3.86 МБ
Схема для прошивки модуля:

На плюс подключается, если для включения питания используется рекомендованная схема с транзистором
Если для связи с компом используется одна из разновидностей max232, то скорость лучше выбрать 115200. Я шил с такими параметрами:

Для прошивки — выбираем файл, меняем скорость и номер порта, замыкаем кнопку наглухо и жмем старт. В нижнем окне лога будет информация о ходе процесса.

Статья получилось какой-то слишком общей. Зато во второй части воды будет мало, зато будут основные команды управления модулем. На данный момент черновик уже весит в блокноте 12кБ.

we.easyelectronics.ru

GSM модуль SIM900D « схемопедия

 Важной составляющей автоматизации любого объекта является система мониторинга и контроля. Если управлять объектом на небольших расстояниях (до нескольких сот метров) не вызывает больших проблем – можно использовать индивидуальные маломощные приемо-передатчики. То с мониторингом удаленных объектов такой прием не прокатит, организовать собственный радиоканал, скажем на 100 км, так просто не выйдет. Но тут есть один выход – можно использовать развернутые повсеместно сети сотовых операторов. Для этого есть даже специализированные GSM-модули, прикидывающиеся в сети опсоса простым мобильником. Один из таких GSM-модулей SIM900D попал ко мне в руки (за что спасибо товарищу RD3AVJ), о нем и пойдет речь.

 SIM900D по сути является законченным устройством, который способен задействовать большинство услуг сотовой связи: совершать и принимать звонки, слать и получать SMS и MMS, использовать GPRS и заходить на FTP. Плюс такие плюшки как встроенный контроллер заряда Li-Ion батарей, часы реального времени, выход ШИМ интерфейс для подключения дисплея и аналогово-цифровой преобразователь (АЦП).

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

 ПИТАНИЕ

 Модуль необходимо запитывать постоянноым напряжением в диапазоне 3,2-4,5 вольта. Плюс питания подводится к выводам 38-39 (VBAT). Земля подводится ко всем выводам GND. Потребление в режиме ожидания составляет всего 1мА, но следует учитывать что во время регистрации сети или при плохом сигнале модуль задирает мощность и потребление кратковременно может подниматься до 2 А. Источник питания должен быть готов к этому и электролиты на пару тысяч микрофарад здесь лишними не будут.  В апноте на модуль приведена рекомендуемая схема питания на стабилизаторе MIC29302WT:

 В случае автономной работы рекомендуется использовать Li-Ion аккумуляторы, которые модуль может сам и подзаряжать.  Для этого имеется встроенный контроллер заряда. Чтобы модуль мог контроллировать процесс заряда, имеется вход TEMP_BAT (27 вывод). К этому выводу подключается третий вывод аккумулятора (это вывод встроенного в аккумулятор термистра) и в случае перегрева акка, зарядка будет прекращена. 

     

 Источник питания для заряда аккумулятора подключается к выводу VCHG (28 вывод). Напряжение источника может находиться в диапазоне 5-6 Вольт с возможностью тянуть ток до 750 мА.  Заряд начинается автоматически при подаче напряжения на вывод VCHG, поэтому в управляющей программе следует организовать опрос состояния батареи и при необходимости подавать напряжение заряда, например, через транзисторный ключ. 

 ПОДКЛЮЧЕНИЕ SIM-КАРТЫ

Следующим основным элементом является сим карта. Это ключ ко входу в сеть опсоса 🙂 Для работы с модулем необходимы сим карты с напряжением питания 3 или 1,8 вольт (старые пяти вольтовые симки работать не будут). Общая схема подключения ниже.  

     

 Подключается она к выводам SIM_x (выводы 6-9). Для того чтобы на выводе SIM_VDD появилось питающее напряжение необходимо прижать вывод KBR0 (вывод 10) к земле.  Для защиты линий от статики рекомендуют  использовать специальные TVS диоды типа SMF05С. Но их фиг где найдешь, поэтому можно оставить без них, главное поменьше трогать руками эти выводы. А при запайке, если нет паяльной станции, паять отключенным паяльником. 

 АНТЕННА

Тут вроде все просто, она подключается к выводу 33 (ANT). Желательно использовать специальную антенну GSM диапазона, от ее качества будет зависеть потребляемая мощность передатчика, и как итог – время автономной работы модуля. У меня на отрезок дорожки на плате длиной 7 мм уровень сигнала был 4 из 31, тоесть ловится но очень слабо. Но это при условии что репитер GSM находился на соседнем здании.

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

 

 ЧАСЫ РЕАЛЬНОГО ВРЕМЕНИ

В модуле имеется собственный RTC, способный вести время даже при отсутствии основного питания. Для этого к выводу VRTC (вывод 15) должен быть подключен источник резервного питания, например 3-х вольтовая батарейка CR2032 или ионистр. В случае подключения незаряжаемого источника (как простая батарейка) необходимо использовать диод Шоттки, для ограничения обратного тока. Ниже приведены две схемы, слева подключение ионистра; справа – батарейки. 

 ИНДИКАЦИЯ

Для индикации собственного состояния в процессе работы, у модуля есть несколько выводов для подключения светодиодов. Первый из них вывод NETLIGHT (вывод 41). На этом выводе при работающем модуле появляется меандр, с частотой зависящей от состояния подключения к сотовой сети: во время поиска и регистрации высокий уровень на этом выводе появляется с периодом 800мс, после регистрации сети – с периодом 3 сек. Подключать светодиод к этому выводу можно только через транзисторный ключ:

 

 Для индикации работы модуля есть еще один вывод – STATUS (5 вывод). На нем появляется высокий уровень когда модуль находится в рабочем режиме. Светодиод к этой ноге подключается также как и к выводу NETLIGHT (через NPN транзистор).

 Вывод RING (вывод 11) служит для индикации входящих звонков и текстовых сообщений. Этот вывод удобно использовать с внешним прерыванием контроллера, для оперативного реагирования на события. В отличии от двух предыдущих на выводе RING активным уровнем явлется низкий, поэтому если сюда цеплять светодиод, то в качестве ключа нужно использовать PNP транзистор:

 

 ЗАПУСК МОДУЛЯ

 Модуль запускается при отрицательном импульсе длинной не менее 1 сек. на ноге PWRKEY (вывод 12). Для подачи импульса рекомендуется использовать следующую схему:

 Для открытия транзистора можно использовать кнопку или импульс с микроконтроллера. Если снова подать импульс на эту ногу, то модуль выключится.

 АУДИО

У модуля SIM900D имеется по два входа для микрофона и выхода на динамик. Для подключения используются выводы с 18 по 26. Схема согласования ниже.

Подключение микрофона:

Подключение динамика:

Опять же желательно использовать защиту линий от статического электричества.

 ШИМ и АЦП и остальные порты I/O

 Помимо основных функций, модуль умеет по команде генерировать ШИМ сигнал в диапазоне 200-5000 Гц с разрешением 10 бит. Выход для ШИМ находится на ноге PWM (47 вывод). К нему  можно подключить буззер и запрограммировать на проигрывание монофонической мелодии. 

 Еще одной полезной фишкой модуля является встроенный 10-битный АЦП, способный измерять напряжения до 2,8 В с частотой выборок 200кГц. Вход для преобразователя находится на выводе 29 – ADC0.

 Остальные выводы представляют меньший интерес. Например, выводы 13,14,16 являются линией для подключения дисплея по SPI интерфейсу, но стандартная прошивка модуля не позволяет использовать эту функцию.  Перепрошивка модуля выполняется через специальную программу, которую можно скачать с офф сайта производителя. Для прошивки модуля используются выводы DBG_RXD (1) и DBG_TXD (2).

 И теперь самое главное и интересное – УПРАВЛЕНИЕ. Управление модулем происходит через стандартный UART, посредством AT-команд. Здесь я их описывать не буду, это тема отдельной статьи, скажу лишь что модуль может работать на скоростях от 1200 до 115200 бод. При включении устанавливается режим авто-настройки скорости от 1200 до 57600, 8 бит данных, без четности и 1 стоп битом. Для синхронизации необходимо выждать несколько секунд после включения и послать команду «AT». В ответ модуль отправит «ОК». В дальнейшем можно запрограммировать общение модуля на фиксированной частоте. Для подключения к микроконтроллеру или компьютеру используются выводы RXD (3) и TXD (4). Важным моментом является то, что на этих линиях может быть напряжение не более 3В и если используется контроллер с большим напряжением питания, необходимо использовать согласующие цепи.

Даташит на SIM900D (описание хардверной части)

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

shemopedia.ru

Подключение GSM модема SIM900A mini v3.4.1 — Victor Makarov's blog

Для управления устройством по SMS я купил на Aliexpress GSM модем SIM900A mini v3.4.1.

Документация: SIM900_AT Command Manual_V1.03 SIM900_download procedure_V0.20 SIM900_Hardware Design_V2.00 

Оказалось, что этот модем не предназначен для работы в России. Пришлось повозиться. В конце концов мне  удалось его перепрошить, так что он заработал.

Процесс перепрошивки описан здесь: http://alex-exe.ru/radio/wireless/gsm-sim900-firmwar-all-in-one/ и здесь http://arduino.ru/forum/apparatnye-voprosy/gsm-sim900a-delaem-iz-dvukh-diapazonov-chetyre.

Я использовал эту прошивку 1137B02SIM900M64_ST_ENHANCE и эту программу для ее загрузки SIM900 Series download Tools Develop 1.9. Подключение для загрузки прошивки:

К сожалению на плате не было возможности легко подключиться к пинам PWRKEY и DEBUG. Они просто не были выведены. К тому же у меня почему-то нужно было пин PWRKEY не на землю сажать, а подавать на него 1. Плату паять не хотелось, поэтому я выкрутился следующим образом: положил под плату магнит от жесткого диска и пины от кабелей прилипли к нужным разъемам. На фотографиях ниже показано, как я это сделал.

 

oldstream.ru

Очень простой автодозвон на GSM модуле SIM900(R) - Мои статьи - Каталог статей

  При решении проблемы с охраной гаража или дачи приходится бороться с двумя проблемами: на чём сделать такую систему, чтобы это было надёжно и вторая проблема ..жаба. Которая вечно душит купить что-то готовое дорогое. Хочется сделать хорошо и недорого. С появлением на рынке СНГ недорогих и надёжных GSM-модулей SIM900(R) жизнь самодельщика сильно облегчилась. У дилеров SIMCOM можно эти модули приобрести за 11-12 долларов, что по карману большинству даже начинающих любителей. Как показывает практика, модули этой фирмы успешно работают даже в наших нелёгких климатических условиях и хорошо себя зарекомендовали. Поэтому на чём делать систему вспомогательной охраны решился быстро в пользу модулей SIM900(R). Получилось минималистическое устройство из модуля, дешёвого микроконтроллера и стабилизатора напряжения. Ничего лишнего. Выглядит это примерно так:

   Сперва я сделал автодозвон по мотивам версии этого устройства на модуле SIM300D практически немного подкорректировав программу для лучшей работы с модулем SIM900(R) и вышла вот такая схема:

  Но позже появилось желание улучшить устройство, добавив более информативный звук (в первом варианте звук получается с помощью звуков, генерируемых GSM-модулем SIM900(R), изменена схема питания контроллера, добавлен кварц (что позволило повысить стабильность работы при отрицательных температурах). В результате небольших правок получилась вот такая схема:

 

  Файлы плат обеих версий автодозвона, прошивок для микроконтроллеров PIC12F629 и PIC16F684, а также инструкцию по программированию и использованию устройства можно скачать в разделе каталог файлов.

В конструкции можно применять GSM модули SIM900 или SIM900R. Модули SIM900A без переделки на территории стран СНГ работать не будут. Модули SIM900D полностью совместимы программно с SIM900,  но имеют другие габариты и распиновку. Поэтому если захотите применить их, то плату надо будет изрядно менять.

Стабилизатор для питания контроллера можно использовать любой совместимый, с напряжением стабилизации от 2,8 до 3в. Например LP2981.

Если при повторении этой конструкции у Вас возникли какие-то вопросы или идеи по улучшению её, напишите мне в онлайн форме свои соображения по этому поводу.

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



smartelectronix.biz

GSM модуль SIM900D - Как подключить - AVR project.ru

 Важной составляющей автоматизации любого объекта является система мониторинга и контроля. Если управлять объектом на небольших расстояниях (до нескольких сот метров) не вызывает больших проблем - можно использовать индивидуальные маломощные приемо-передатчики. То с мониторингом удаленных объектов такой прием не прокатит, организовать собственный радиоканал, скажем на 100 км, так просто не выйдет. Но тут есть один выход - можно использовать развернутые повсеместно сети сотовых операторов. Для этого есть даже специализированные GSM-модули, прикидывающиеся в сети опсоса простым мобильником. Один из таких GSM-модулей SIM900D попал ко мне в руки (за что спасибо товарищу RD3AVJ), о нем и пойдет речь.


 SIM900D по сути является законченным устройством, который способен задействовать большинство услуг сотовой связи: совершать и принимать звонки, слать и получать SMS и MMS, использовать GPRS и заходить на FTP. Плюс такие плюшки как встроенный контроллер заряда Li-Ion батарей, часы реального времени, выход ШИМ интерфейс для подключения дисплея и аналогово-цифровой преобразователь (АЦП).

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


 ПИТАНИЕ

 Модуль необходимо запитывать постоянноым напряжением в диапазоне 3,2-4,5 вольта. Плюс питания подводится к выводам 38-39 (VBAT). Земля подводится ко всем выводам GND.

 Потребление в режиме ожидания составляет всего 1мА, но следует учитывать что во время регистрации сети или при плохом сигнале модуль задирает мощность и потребление кратковременно может подниматься до 2 А. Источник питания должен быть готов к этому и электролиты на пару тысяч микрофарад здесь лишними не будут. 

 В апноте на модуль приведена рекомендуемая схема питания на стабилизаторе MIC29302WT:


 В случае автономной работы рекомендуется использовать Li-Ion аккумуляторы, которые модуль может сам и подзаряжать.  Для этого имеется встроенный контроллер заряда. Чтобы модуль мог контроллировать процесс заряда, имеется вход TEMP_BAT (27 вывод). К этому выводу подключается третий вывод аккумулятора (это вывод встроенного в аккумулятор термистра) и в случае перегрева акка, зарядка будет прекращена.

 

     

 Источник питания для заряда аккумулятора подключается к выводу VCHG (28 вывод). Напряжение источника может находиться в диапазоне 5-6 Вольт с возможностью тянуть ток до 750 мА. 

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

 ПОДКЛЮЧЕНИЕ SIM-КАРТЫ

Следующим основным элементом является сим карта. Это ключ ко входу в сеть опсоса 🙂 Для работы с модулем необходимы сим карты с напряжением питания 3 или 1,8 вольт (старые пяти вольтовые симки работать не будут). Общая схема подключения ниже.  

     

 Подключается она к выводам SIM_x (выводы 6-9). Для того чтобы на выводе SIM_VDD появилось питающее напряжение необходимо прижать вывод KBR0 (вывод 10) к земле.

 Для защиты линий от статики рекомендуют  использовать специальные TVS диоды типа SMF05С. Но их фиг где найдешь, поэтому можно оставить без них, главное поменьше трогать руками эти выводы. А при запайке, если нет паяльной станции, паять отключенным паяльником. 

 АНТЕННА

Тут вроде все просто, она подключается к выводу 33 (ANT). Желательно использовать специальную антенну GSM диапазона, от ее качества будет зависеть потребляемая мощность передатчика, и как итог - время автономной работы модуля. У меня на отрезок дорожки на плате длиной 7 мм уровень сигнала был 4 из 31, тоесть ловится но очень слабо. Но это при условии что репитер GSM находился на соседнем здании.


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

 

 ЧАСЫ РЕАЛЬНОГО ВРЕМЕНИ

В модуле имеется собственный RTC, способный вести время даже при отсутствии основного питания. Для этого к выводу VRTC (вывод 15) должен быть подключен источник резервного питания, например 3-х вольтовая батарейка CR2032 или ионистр. В случае подключения незаряжаемого источника (как простая батарейка) необходимо использовать диод Шоттки, для ограничения обратного тока. Ниже приведены две схемы, слева подключение ионистра; справа - батарейки. 

 ИНДИКАЦИЯ

Для индикации собственного состояния в процессе работы, у модуля есть несколько выводов для подключения светодиодов. Первый из них вывод NETLIGHT (вывод 41). На этом выводе при работающем модуле появляется меандр, с частотой зависящей от состояния подключения к сотовой сети: во время поиска и регистрации высокий уровень на этом выводе появляется с периодом 800мс, после регистрации сети - с периодом 3 сек. Подключать светодиод к этому выводу можно только через транзисторный ключ:


 

 Для индикации работы модуля есть еще один вывод - STATUS (5 вывод). На нем появляется высокий уровень когда модуль находится в рабочем режиме. Светодиод к этой ноге подключается также как и к выводу NETLIGHT (через NPN транзистор).

 Вывод RING (вывод 11) служит для индикации входящих звонков и текстовых сообщений. Этот вывод удобно использовать с внешним прерыванием контроллера, для оперативного реагирования на события. В отличии от двух предыдущих на выводе RING активным уровнем явлется низкий, поэтому если сюда цеплять светодиод, то в качестве ключа нужно использовать PNP транзистор:


 

 ЗАПУСК МОДУЛЯ

 Модуль запускается при отрицательном импульсе длинной не менее 1 сек. на ноге PWRKEY (вывод 12). Для подачи импульса рекомендуется использовать следующую схему:


 Для открытия транзистора можно использовать кнопку или импульс с микроконтроллера. Если снова подать импульс на эту ногу, то модуль выключится.

 АУДИО

У модуля SIM900D имеется по два входа для микрофона и выхода на динамик. Для подключения используются выводы с 18 по 26. Схема согласования ниже.

Подключение микрофона:


Подключение динамика:


Опять же желательно использовать защиту линий от статического электричества.

 ШИМ и АЦП и остальные порты I/O

 Помимо основных функций, модуль умеет по команде генерировать ШИМ сигнал в диапазоне 200-5000 Гц с разрешением 10 бит. Выход для ШИМ находится на ноге PWM (47 вывод). К нему  можно подключить буззер и запрограммировать на проигрывание монофонической мелодии. 

 Еще одной полезной фишкой модуля является встроенный 10-битный АЦП, способный измерять напряжения до 2,8 В с частотой выборок 200кГц. Вход для преобразователя находится на выводе 29 - ADC0.

 Остальные выводы представляют меньший интерес. Например, выводы 13,14,16 являются линией для подключения дисплея по SPI интерфейсу, но стандартная прошивка модуля не позволяет использовать эту функцию.

 Перепрошивка модуля выполняется через специальную программу, которую можно скачать с офф сайта производителя. Для прошивки модуля используются выводы DBG_RXD (1) и DBG_TXD (2).

 И теперь самое главное и интересное - УПРАВЛЕНИЕ. Управление модулем происходит через стандартный UART, посредством AT-команд. Здесь я их описывать не буду, это тема отдельной статьи, скажу лишь что модуль может работать на скоростях от 1200 до 115200 бод. При включении устанавливается режим авто-настройки скорости от 1200 до 57600, 8 бит данных, без четности и 1 стоп битом. Для синхронизации необходимо выждать несколько секунд после включения и послать команду «AT». В ответ модуль отправит «ОК». В дальнейшем можно запрограммировать общение модуля на фиксированной частоте.

 Для подключения к микроконтроллеру или компьютеру используются выводы RXD (3) и TXD (4). Важным моментом является то, что на этих линиях может быть напряжение не более 3В и если используется контроллер с большим напряжением питания, необходимо использовать согласующие цепи.

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



avrproject.ru

GSM/GPRS модуль SIM900. Часть вторая. / Деталька / Сообщество EasyElectronics.ru

И так вторая часть, посвященная gsm модулю Sim900. В ней будет описаны самые основные команды управления и получения данных.

AT Команды.
С внешним миром модуль общается посредством AT команд. Пользователи модемов должны их помнить:) Все команды делятся на базовые, большинство из которых появились еще во времена U.S. Robotics, так называемые S-команды, родом оттуда же и расширенных, добавленных в стандартах GSM07.05-07.07. Практически все команды работают в 3 режимах — тестовом, чтения и записи.
В тестовом режиме возвращается OK, если команда поддерживается или возможные значения данных в параметре команды. Тестовый режим определяется окончанием команды в виде '=?'
В режиме чтения возвращаются текущие значения параметра, отличается от тестового наличием в конце просто символа '?'
И в режиме записи после '=' идут новые значения параметров.
Количество параметров при чтении и записи не обязательно должно совпадать.
Как пример:
AT+CFUN=? тестовый режим, вернет +CFUN: (0,1,4),(0-1), что значит у нее 2 параметра. Первый может принимать значение 0,1 или 4, а второй может быть в интервале 0-1.
AT+CFUN? режим чтения, у меня возвращает +CFUN: 1, все хорошо.
AT+CFUN=4,0 запись, приемо/передатчик выключается без перезагрузки модуля.
Все команды могут вводиться как строчными, так и прописными буквами.

Включение.
При включении модуль должен выдать 00 49 49 49 49 FF FF FF FF в шестнадцатеричном режиме, у меня выдает обычно только последние один-два FF. Ну да ладно, смысловой нагрузки в них нет.
RDY
+CFUN: 1

Где

  • 0 — минимальная функциональность
  • 1 — полная функциональность
  • 4 — отключен приемо/передатчик
Затем, если пин кода нет, то
+CPIN: READY
и если установлен, то
+CPIN: SIM PIN
На что надо ответить через
AT+CPIN=pin
В любом случае в ответ получим:
OK
Call Ready

Модуль готов к работе.

Управление портом.
Вначале работы необходимо задать режимы работы com порта. Для этого есть несколько основных команд:
AT+IPR=9600 — скорость порта.
Можно выбрать: 0, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
0 — автовыбор. Стоит по умолчанию и для правильной работы первый посылаемый символ должен быть прописной буквой 'A'.
AT+IFC=0,0 — режим управления потоком в обе стороны.
0, Без контроля.
1, Программный режим (XON/XOFF). Имеются проблемы в использовании, лучше не использовать
2, Аппаратный. Управление через CTS, DTR и т.д.
AT+ICF=3,3 — устанавливает режим передачи.
Первое число — биты данных/четность/стоп биты

  1. 8/0/2
  2. 8/1/1
  3. 8/0/1, стоит по умолчанию.
  4. 7/0/2
  5. 7/1/1
  6. 7/0/1
Второе число — четность
  • 0, нечетный
  • 1, четный
  • 3, нет
Все настройки этих команд сохраняются в энергонезависимой памяти. Так что их можно делать только один раз.

Информационные команды.
Тут собраны разнообразные команды, выдающие информацию о самом модуле и его текущем состоянии.

Команды информации о модуле.
AT+GMM — идентификатор модуля.
Вернет: SIMCOM_SIM900D, или какой именно у Вас модуль. Можно убедиться, что не обманули и не подсунули другой, более дорогой модуль.
AT+GOI — более короткий идентификатор модуля.
У меня SIM900D
AT+GMR — версия прошивки. Может пригодится при желании использовать новые фишки.
Мой порадовал меня строкой: Revision:1137B06SIM900D64_ST
После прошивки строка поменялась на: Revision:1137B07SIM900M64_ST
AT+GSV — команда 3-in-1.
Вернет и производителя модуля и его модель и версию прошивки:
SIMCOM_Ltd
SIMCOM_SIM900
Revision:1137B07SIM900M64_ST

AT+GSN — вернет IMEI модуля. Между прочим весьма полезная информация. Можно использовать для идентификации модуля в удаленной программе.

Команды получающие текущее состояние.
AT+CSQ — информация о качестве сигнала.
Вернет два числа +CSQ: 21,0
21, — уровень сигнала. Может быть в диапазоне 0..31 или 99. Чем больше тем лучше, но 99 значит его отсутствие. После прошивки значение почему то изменилось до 27.
0, — так называемый RXQUAL. Изменяется от 0 до 7, чем число меньше тем лучше.
AT+CREG=1 — разрешить выдачу сообщения о смене регистрации в сети.
Может принимать значения 0..2, где

  • 0, — запрет выдачи сообщений.
  • 1, — разрешить сообщение о смене статуса регистрации.
  • 2, — разрешает выдачу сообщений, плюс выдает еще немного невнятной информации
AT+CREG? — получить тип регистрации в сети.
Вернется что-то вроде +CREG: 0,1
Где:
0, — нет сообщения о смене регистрации в сети.
1, — текущее состояние.
  • 0 — не зарегистрирован, поиск сети не ведется,
  • 1 — зарегистрирован в своей домашней сети,
  • 2 — не зарегистрирован, идет поиск сети,
  • 3 — регистрация отклонена,
  • 4 — модуль сам не знает что происходит
  • 5 — зарегистрирован в роуминге.
Разрешив выдачу этих сообщений можно отслеживать когда модуль находит/теряет сеть или попадает в роуминг.
AT+CSPN? — информация об операторе из сим-карты. Может пригодится для автоматической настройки GPRS. Команда только для чтения.
+CSPN: «Beeline», 0
AT+COPS? — информация об операторе, в сети которого зарегистрирован модуль. Мне выдало в ответ +COPS: 0,0,«Beeline»", что значит 0 — автоматический выбор сети (первый 0), 0 — длинный тестовый формат имени (второй 0), и само названия оператора.
Еще можно сделать запрос в виде AT+COPS=? После достаточно долгого обдумывания вам выдадут список найденных сетей. У меня нашлось следующее:
+COPS: (2,«MegaFon RUS»,«MegaFon»,«25002»),(1,«MTS-RUS»,«MTS»,«25001»),(1,«Beeline»,«Beeline»,«25099»),,(0,1,4),(0,1,2)
AT+CPAS — информация о текущем состоянии телефона.
Может вернуть +CPAS: 0
  • 0, — готов к труду и обороне
  • 2, — не известно что делает. Ответ и выполнение команд не гарантируется.
  • 3, — идет входящий звонок.
  • 4, — есть голосовое соединение.
Тоже команда только для чтения.
AT+CCLK? — получить текущее время. Вернет текущее время в виде: +CCLK: «11/04/11,01:46:33+00»
AT+CCLK=«yy/mm/dd,hh:mm:ss+zz» — установить время. Обязательно в таком формате и с ведущими нулями.
Самостоятельно время не устанавливается, нужно делать все ручками.

Сервисные команды.
На самом деле эти команды управляют эхом, полнотой информации об ошибке и подобные.
ATE0 режим эха

  • 0, выключен
  • 1, включен. Стоит по умолчанию.
ATV0 — формат ответа модуля.
  • 1, полный текстовый ответ с эхом (если включен). Стоит по умолчанию.
  • 0, возврат только кода ответа.
В первом случае всегда будет возвращаться OK, ERROR и прочее, а во втором будут возвращаться коды результата. Так вместо OK вернется 0, а вместо ERROR 4.
AT+CMEE=0 — уровень информации об ошибке. Может быть 0..2.
  • 0, — отключено. Будет просто писать ERROR.
  • 1, — код ошибки. Будет возвращать цифровой код ошибки.
  • 2, — описание ошибки. Напишет что именно ему не нравится в команде.
Для игр через терминал режим удобней режимы ATV1, ATE1 AT+CMEE=2, для общения с микроконтроллером лучше использовать ATV0, ATE0 и AT+CMEE=0.

Команды набора номера.
Все они пришли еще от модемов и ничего нового в них нет.
ATD1234567; — позвонить по номеру
ATD>1; — позвонить по 1 номеру из сим карты
ATDL — позвонить по последнему набранному номеру
В ответ можем получить:
BUSY
NO DIALTONE
NO CARRIER
NA ANSWER
CONNECT

AT+CLIP=1 — архи полезный параметр. Включает режим CLI (Calling Line Identification) или то, что по русски зовется АОН. После его включения при входящем вызове выдает не просто сообщение RING, а еще добавляет строку типа
+CLIP: "+7XXXXXXXXXX",145,"",,"",0 или
+CLIP: "+7XXXXXXXXXX",145,"",,«main»,0

Где

  • "+7XXXXXXXXXX", номер абонента
  • 145, формат номера в сообщении. 145 — интернациональный формат, 129 — неизвестный (например при русских символах)
  • 0, — данные верны, 1, — данные не дает оператор 2, — данные недоступны из за ограничений сети.
  • «main», — имя записи в записной книжке
ATA — ответить на входной звонок.
ATH0 — разорвать все соединения. Может принимать значения 0..5, указывающие какие виды связи нужно разорвать.
ATS0=0 — количество звонков до авто поднятия трубки. 0 — только вручную.
AT+GSMBUSY=1 — запрет всех входящих звонков.
  • 1, — запретить все входящие звонки
  • 0, — разрешить входящие
Результат данной команды не сохраняется в памяти и его надо повторять при каждом включении.

СМС.
По умолчанию все сообщения сохраняются на сим карту. При поступлении сообщения придет сообщение:
+CMTI: «SM»,1
1, — номер полученного сообщения.
Настройки режимов приема смс.
AT+CSCA — номер сервис центра отправки сообщений. Берется автоматом из сим карты, но вдруг понадобится. Можно читать и писать. Вот что мне выдал для билайна:
+CSCA: "+79037011111",145
AT+CMGF — формат сообщений, 0-1.

  • 0, — режим PDU, управление кодом команды. Вывод сообщения в HEX коде. Режим по умолчанию
  • 1, — текстовый режим. Команды текстовые. Вывод сообщения в текстовом виде.
В первый режиме сообщения будут выдаваться в виде шестнадцатеричных кодов ascii или unicode. Очень, очень не удобоваримый режим.
AT+CSCB=1, прием широковещательных сообщений. Это та гадость, через которую сейчас срут все операторы. По умолчанию включена, для исправления этой недоработки используем указанную команду.
Работа с смс.
AT+CMGL — чтение смс. Не удобная команда, лучше использовать следующую. Только команда на запись в формате AT+CMGL=stat,mode где
stat (режим PDU/текстовый):
  • 0/«REC UNREAD» — не прочитанные сообщений.
  • 1/«REC READ» — прочитанные сообщений.
  • 2/«STO UNSENT» — не отправленные.
  • 3/«STO SENT» — отправленные.
  • 4/«ALL» — все сообщения.
mode:
  • 0, — обычный режим.
  • 1, — не изменять статус сообщения
Формат команды зависит от установок сделанных в AT+CMGF, если выбран режим PDU, то параметр «ALL» даст ошибку и наоборот. Изменение статуса значит, что сообщение со статусом не прочитанный станет как ни странно уже прочитанным.
AT+CMGR=1,0 — чтение смс. Команда только на запись.
  • 1, — номер смс
  • 0, — обычный режим или 1, — не изменять статус.
По параметрам аналогична AT+CMGL.
AT+CMGDA=«DEL ALL» — удаление всех смс определенного типа. Тоже команда так себе, следующая получше будет.
  • «DEL READ» — прочитанных
  • «DEL UNREAD» — не прочитанных
  • «DEL SENT» — отправленных
  • «DEL UNSENT» — не отправленных
  • «DEL INBOX» — полученных
  • «DEL ALL» — всех сообщений
AT+CMGD=1,0 — удаление смс.
1, — номер сообщения
0, — режим удаления
  • 0 — удаление указанного сообщений. Работает по умолчанию, можно использовать просто AT+CMGD=2
  • 1 — удаление только всех прочитанных сообщений
  • 2 — удаление прочитанных и отправленных сообщений
  • 3 — удаление всех прочитанных, отправленных и не отправленных сообщений
  • 4 — удаление всех сообщений
Т.е. для удаления всех сообщения можно ввести команду AT+CMGD=1,4.
AT+CMGS=«ХХХХХХХХХХХ» — отправка смс. Так же зависит от AT+CMGF. После ввода команды выдает приглашение ">" после чего можно вводить текст сообщений. Завершается символом ESC или Ctrl-Z.

Теперь как влияет установки значения командой AT+CMGF.
Для CMGF=0
Сообщение с интернет-портала мегафон:
+CMGR: 0,"",35
07919762020012F10414D0F7FBDDD52E9FC3E6B71B0000114010107565610DD4F29C0E6A97E7F3F0B9EC02

Сообщение с интернет-портала билайн:
+CMGL: 2,1,"",34
07919730071111F10414D04937BD2C7797E9D3E6140000114010713564610CD4F29C0E6A97E7F3F0B90C

Сообщение с моего основного телефона:
+CMGL: 1,0,«4D31B76E»,31
07919730071111F1040B919760472105F50000114010811095610DD4F29C0E6A97E7F3F0B9EC02

И те же сообщения для CMGF=1
+CMGR: «REC UNREAD»,«www.megafon»,"",«11/04/01,01:57:56+16»
Test message.

+CMGL: 2,«REC UNREAD»,«InternetSMS»,"",«11/04/01,17:53:46+16»
Test message

+CMGL: 1,«REC UNREAD»,"+7XXXXXXXXXX",«Main»,«11/04/01,18:01:59+16»
Test message.
В общем, если не хочется заняться героическим преодолеванием трудностей, то используем CMGF=1 и забываем о существовании русских символом.

USSD запросы.
Для проверки баланса и разных настроек обычно используются ussd запросы. Очень часто запросы начинающиеся со '*' возвращают ответ в юникоде, на родном языке. К счастью, многие телефоны не понимают этой кодировки и для них были введены запросы начинающиеся с '#'. Они возвращают ответ в стандартном ascii.
Сделать запрос можно 2 способами.
Первый, используя специальную команду:
AT+CUSD=1,"#102#"
1, — режим обработки ответа

  • 0 — выполнить запрос, полученный ответ проигнорировать
  • 1 — выполнить запрос, ответ вернуть в терминал
  • 2 — отменить операцию
"#102#" — само сообщение. Отправляется только то, что находится в скобках.
Второй выглядит как обычный набор номера. Результат всегда возвращается в терминале. Но работает не на всех версиях прошивки.
ATD#102#;
Ответное сообщение приходит в сообщении +CUSD:
Вот что сообщает билайн, на *102#:
+CUSD: 0,«04110430043B0430043D04410020003100340037002E0038003000200440»,72
И то же самое, но на #102#:
+CUSD: 0,«Vash balans 147.80 rub. Bonus: 0.00 rub. Dopolnitel'nye balansy: #106#», Ъ
Так же как и с смс не изображаем героев и используем запросы с #, а не со *. Практически все операторы понимают запросы в обоих форматах.

Телефонная книга.
Данные на карте хранятся подобно массивам, с индексами начинающимися с 1. В принципе данные могут храниться не только на сим-карте, но и в других местах, например в памяти телефона. Но в данном случае эти знания нам не особо актуальны:)
AT+CPBS=«SM» — выбрать как основную память сим-карту. Данный режим стоит по умолчанию.
AT+CPBS? — сообщит тип памяти, количество имеющихся записей и их максимальное количество. Например:
+CPBS: «SM»,3,250 значит, что на сим-карте есть 3 записи из 250 возможных.
Чтение данных.
AT+CPBR=1 — считывает запись с индексом 1.
AT+CPBR=2,5 — считать записи со 2-о по 5-ю.
AT+CPBF=«что ищем» — поиск информации. У меня работало очень нестабильно. Мог найти запись, а мог и нет. Отчего это зависит не очень понятно. На версии B07 поиск стал гораздо стабильней.
AT+CPBF — выдача всех записей на карте.
В любом случае информация идет в виде:
+CPBF: (или +CPBR) 2,"+7ХХХХХХХХХХ",145,«Home», где
2, — номер (индекс) записи.
+7ХХХХХХХХХХ", — номер.
145, — формат имени.

  • 129 — неизвестный (например при русских символах),
  • 161 — национальный формат (в римских цифрах что ли?),
  • 145 — интернациональный формат,
  • 177 — формат, определяемый сетью.
«Home», — имя записи.
AT+CPBW=4,"+71234567890",145,«Test» — записать контакт на сим-карту.
4, — индекс, куда записываем.
AT+CPBW=4 — стереть запись с указанным номером.

Используя эти команды вполне можно организовать несложное управление обогревателем на даче или то же не менее простую охранную сигнализацию для нее же. Для более сложных задач лучше использовать сетевые возможности модуля.
Сеть.
Модуль содержит два блока — APPTCP, через который идет работа с TCP/UDP и блока SAPBR, работающий с FTP/HTTP. В принципе общение с ними весьма простое, для примера приведу общение по ftp. Общение по http будет в другой статье, с уже с готовым устройством и реальной задачей.

GPRS.
Настройка и установка GPRS соединения:
AT+SAPBR=3,1,«CONTYPE»,«GPRS»
AT+SAPBR=3,1,«APN»,«internet.beeline.ru»
AT+SAPBR=3,1,«USER»,«beeline»
AT+SAPBR=3,1,«PWD»,«beeline»

AT+SAPBR=1,1 — установка GPRS связи
AT+SAPBR=2,1 — полученный IP адрес
+SAPBR: 1,1,«10.229.9.115»
AT+SAPBR=4,1 — текущие настройки соединения
AT+SAPBR=0,1 — разорвать GPRS соединение

FTP.
Параметры ftp соединения
AT+FTPSERV=«ftp.site.ru» — адрес ftp сервера
AT+FTPUN=«login» — логин
AT+FTPPW=«password» — пароль
AT+FTPPUTPATH="/" — путь
AT+FTPPUTNAME=«test.txt» — имя файла
AT+FTPMODE=1 — режим работы ftp

  • 1, — пассивный. Стоит по умолчанию
  • 0, — активный.
AT+FTPTYPE=«A» — тип передаваемых данных.
  • A, — только ASCII символы.
  • I, — двоичный режим.
AT+FTPPUTOPT=«APPE» — режим открытия файла.
  • «APPE» — добавить в конец файла
  • «STOR» — создать файл. Если файл существует, то он будет перезаписан.
  • «STOU» — создать уникальный файл. Если файл существует, то будет создан файл с заданным именем и дополненный в имени цифрами.
AT+FTPPUT=1 — открытие ftp соединения
+FTPPUT:1,1,1260 — сессия на запись открыта. Максимальная длина записи 1260 байт.
AT+FTPPUT=2,10 — запись 10 символов.
+FTPPUT:2,10 — после появления приглашения нужно ввести 10 символов. Эха не будет.
AT+FTPPUT:2,0 — закрытие ftp соединения.

Для чтения все практически аналогично, только PUT меняется на GET. Так AT+FTPPUTPATH становится AT+FTPGETPATH.
AT+FTPGET=1 — открытие ftp соединения.
+FTPGET:1,1 — данные для чтения доступны.
AT+FTPGET=2,10 — чтение 10 байт данных. Если данных меньше, то вернется сколько есть.
+FTPGET:2,10 — сколько данных будет для считывания.
Повторное чтение, если указатель стоит на конце файла вернет +FTPGET:2,0.
AT+FTPGET:2,0 — закрытие ftp соединения.

Я не привел и половины имеющихся команд, например команд управления чувствительностью микрофона, генерации сигналов dtmf или измерения напряжения на AC0. Я ими не пользовался, а в тупую переводить даташит не хочется. Так же многие команды дублируются аналогичными. Все они есть в мануалах.

we.easyelectronics.ru

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

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