GSM/GPRS модуль SIM900

Так как про эти модули можно написать очень много всего и разного, то будет 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 от Br@y++. С ним почему то все работало э-эм, в общем неправильно. Ответы от модуля приходили не все, команды возвращались просто эхом. Почему не знаю, но помогло использование вместо него 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кБ.

- +18
- 03 апреля 2011, 20:06
- PRC
Хорошая статейка :)
Сами во всю юзаем сим300… Надо сказать — все таки говно. Или может только мне такие попадаются)) Во всяком случае засада поджидает при частом использовании жопореза и попеременно врубая голосовой канал и обратно. Ну и его довольно легко убить :)
Сами во всю юзаем сим300… Надо сказать — все таки говно. Или может только мне такие попадаются)) Во всяком случае засада поджидает при частом использовании жопореза и попеременно врубая голосовой канал и обратно. Ну и его довольно легко убить :)
Уже года три лежит в коробочке у меня SIM300DZ так и не дошли руки.
Что у них за грабли со слетом прошивки при пропадании питания?
Что у них за грабли со слетом прошивки при пропадании питания?
Есть такое дело. Китай такой китай.
Если например что то долго передавать по голосу и внезапно вырубить питание то вероятность слёта пршивки где то 50%))
Важно грамотно запитать. Лично я использую микрухи ST1S10PHR + по танталу на 4 и 12 вольт. и еще парочку электролитов на 12 вольт для всей линии 12 вольт.
Если например что то долго передавать по голосу и внезапно вырубить питание то вероятность слёта пршивки где то 50%))
Важно грамотно запитать. Лично я использую микрухи ST1S10PHR + по танталу на 4 и 12 вольт. и еще парочку электролитов на 12 вольт для всей линии 12 вольт.
ага
а я вот седня убедился что раисся такая раисся
китай хоть говно но производит и продает
а я седня смд конденсаторы и резисторы не смог купить в нашем супер магазине(Барнаул)
карочи настроение ноль
плакать хочитса)))))
придетса опять друга изза граници просить чтоп высылал комплектуху
кроме слова -ПИЗДЕЦ ничего на ум не приходит
держава ниибацца
сори но накипело
а я вот седня убедился что раисся такая раисся
китай хоть говно но производит и продает
а я седня смд конденсаторы и резисторы не смог купить в нашем супер магазине(Барнаул)
карочи настроение ноль
плакать хочитса)))))
придетса опять друга изза граници просить чтоп высылал комплектуху
кроме слова -ПИЗДЕЦ ничего на ум не приходит
держава ниибацца
сори но накипело
Смотря в каком sim300dz.
Меня этим питанием и на форумах всех пугали, и на фирме при покупке… на практике же сам обрывал питание (случайно и специально) во всех режимах (GPRS соединение, звонок, ожидание и т д) и НИЧЕГО НИ РАЗУ НЕ СЛЕТЕЛО! Кроме того, по Киеву уже больше года ездят 10 машин с моим оборудованием, и без резервного питания. Водители часто сдергивают клеммы с аккумуляторов, и тоже, пока все нормально!
Мне как-то на форуме сказали что в последних версиях SIM300DZ профиксили этот баг, и мне повезло…
Меня этим питанием и на форумах всех пугали, и на фирме при покупке… на практике же сам обрывал питание (случайно и специально) во всех режимах (GPRS соединение, звонок, ожидание и т д) и НИЧЕГО НИ РАЗУ НЕ СЛЕТЕЛО! Кроме того, по Киеву уже больше года ездят 10 машин с моим оборудованием, и без резервного питания. Водители часто сдергивают клеммы с аккумуляторов, и тоже, пока все нормально!
Мне как-то на форуме сказали что в последних версиях SIM300DZ профиксили этот баг, и мне повезло…
- mr_freeman
- 04 апреля 2011, 19:34
- ↑
- ↓
Видать в последних ревизиях пофиксили)
Хотя ходят слухи что 300й снимают/уже сняли с производства… Надо бы что нибудь на замену симкома подыскать.
Хотя ходят слухи что 300й снимают/уже сняли с производства… Надо бы что нибудь на замену симкома подыскать.
Дак вроде тот же SIM900D и рекомендуют на замену… плохо что не пин-ту-пин.
- mr_freeman
- 06 апреля 2011, 02:14
- ↑
- ↓
Спасибо за статью! :)
У меня sim900b — твоя прошивка b07 подойдёт?
У меня sim900b — твоя прошивка b07 подойдёт?
- tzirulnicov
- 05 апреля 2011, 00:42
- ↓
PRC, дружище, где ты брал такой модуль всего за 731 рубль. Все облазил, такой вкусной цены не нашел. Кинь ссылку, если не жалко.
Как обычно, в терре:) У них он сейчас 733р. стоит. Только смотреть надо в неотсортированном. Ну и брать через резерв, они его через 1-2 дня привозят.
Помогите. У меня модуль SIM900D выключается. Включаю нормально. Поиск сети ведет. Командами находит разные сети, с симки данные читает. Видимо в момент регистрации происходит что-то. Прошивка B05.
- fatallerror
- 17 апреля 2011, 11:55
- ↓
Питание нормальное? Он в пике до 2-3А может кушать. И обязательно электролит на 1000-2000мкФ поставь.
Блин. Ну… Питаюсь от батарейки сотового телефона. А конденсаторы из даташита на 100mF и 0,1mF
- fatallerror
- 17 апреля 2011, 13:04
- ↑
- ↓
Привет.
Балуюсь с такимже модулем в ардуиносовместимом исполнении.
www.seeedstudio.com/depot/gprs-shield-p-779.html
Спасибо за прошивку, а то у меня старая 05 оказалась.
Вродебы уже восьмая вот-вот выйдет?
Балуюсь с такимже модулем в ардуиносовместимом исполнении.
www.seeedstudio.com/depot/gprs-shield-p-779.html
Спасибо за прошивку, а то у меня старая 05 оказалась.
Вродебы уже восьмая вот-вот выйдет?
Насколько я помню, терминология DTE/DCE совершенно, абсолютно, совсем никак не применима к последовательным интерфейсам с логическими уровнями. Только к стандарту rs-232. Не к v.24, не к карентлупу, а только к rs-232.
У устройств с логическими выходами Rx — всегда вход, приём. Tx — всегда выход, передача.
У устройств с логическими выходами Rx — всегда вход, приём. Tx — всегда выход, передача.
Что за KIT на 1 снимке? Да и вообще какой взять KIT? Просто не хочется самому плату под него разводить и искать нужную мелочевку под нее.
- ArxangelRUS
- 04 января 2012, 08:57
- ↓
PRC. Если ли схема платы с обозначеными номиналами кондеров и резисторов?
- ArxangelRUS
- 08 января 2012, 15:11
- ↓
ребята подскажите, чтобы зацепить SIM900 к компьютеру через RS232C нужно ставить МАХ232?
Купил вот такую штуку iteadstudio.com/store/index.php?main_page=product_info&products_id=413 и теперь не знаю как зацепиться к компьютеру
Купил вот такую штуку iteadstudio.com/store/index.php?main_page=product_info&products_id=413 и теперь не знаю как зацепиться к компьютеру
Да, есть. Например этот:
mt-system.ru/catalog/sim5215
Причем подключить можно не только цифровые, но и аналоговые камеры (через доп. микросхемку).
mt-system.ru/catalog/sim5215
Причем подключить можно не только цифровые, но и аналоговые камеры (через доп. микросхемку).
- tzirulnicov
- 07 апреля 2012, 09:40
- ↑
- ↓
Такой вот вопрос! Подключение к ком порту происходит напрямую (т.е. проводками от ком порта до модуля)?
И как реализовать автоответ аппаратным способом? Т.е. припаял, обпаял и работает (мне нужна только функция зврнилки на данный момент). Все glarb прошерстил, есть только матрица поключения клавиатуры, но чегото не срабатывает.
И как реализовать автоответ аппаратным способом? Т.е. припаял, обпаял и работает (мне нужна только функция зврнилки на данный момент). Все glarb прошерстил, есть только матрица поключения клавиатуры, но чегото не срабатывает.
Привет всем) подскажите пожалуйста как правильно и какие элементы нужны для подцепки антенны на SIM900D, чтобы радиус был большой.
Нужна прежде всего правильная антенна, хорошо согласованная на 50 Ом во всех используемых диапазонах (в наших краях 900/1800 МГц, в Америке 850/1900) и имеюшая достаточное усиление. Каких-либо специальных ухищрений и дополнительных элементов согласования в этом случае не требуется вообще, кроме разве что расчёта микрополосковой линии в случае, если соединение от модуля до антенны выполнено на печатной плате и имеет существенную длину (более 1...2 см).
В экстремальных случаях (расстояние до базовой станции на пределе, объект стационарный) используют направленные антенны, волновой канал большей частью. В случае отсутствия прямой видимости — антенна поднимается на высоту, с которой эта видимость есть или хотя бы намечается, а затухание в кабеле компенсируется подантенным усилителем. (Здесь цена вопроса превышает цену модуля более чем на порядок, но если нет другого выхода...)
В экстремальных случаях (расстояние до базовой станции на пределе, объект стационарный) используют направленные антенны, волновой канал большей частью. В случае отсутствия прямой видимости — антенна поднимается на высоту, с которой эта видимость есть или хотя бы намечается, а затухание в кабеле компенсируется подантенным усилителем. (Здесь цена вопроса превышает цену модуля более чем на порядок, но если нет другого выхода...)
Вопрос — сможет ли модуль AT-командами выполнить HTTP BASIC AUTH, а то в даташите get/post/head и обчелся…
Базовая аутентификация передается в виде одного из полей запроса. Так что если можно задавать поля запроса — то и HTTP basic auth выполнить можно.
Прямо на материнке надпись SIM900D-EVB — Evolution Board, значит. Яндекс выдаёт ссылки на User_Guide по этой EVB.
По приведённой тобой ссылке — мезонинная плата для Arduino compatible board
imall.iteadstudio.com/im120411008.html
По приведённой тобой ссылке — мезонинная плата для Arduino compatible board
imall.iteadstudio.com/im120411008.html
Здравствуйте!
у меня www.ebay.com/itm/SIM900-4-Frequency-GPRS-GSM-Shield-Development-Board-Module-for-Arduino-E107-/251077610460?pt=LH_DefaultDomain_0&hash=item3a75644bdc такой модуль, схему я не нашел.
вот проблема, прошить ее не могу.
выдает след ошибки:
после
Downloading Flash Loader in Ram…
Flash Loader downloading in Ram
Err 000 — Error during cjange baud rate
Err 000 — Error during loader initialization
Check target settings
и все, больше не идет, в чем может быть проблема?
PWR_KEY и на землю, и на плюс подавал, не работает. батарея от сотки.
горит светодиод NET, мигает. и все, пробовал и подключить и отправлять АТ команды, не отправляется, когда нажимаю отправку, не просто отправляется.
у меня www.ebay.com/itm/SIM900-4-Frequency-GPRS-GSM-Shield-Development-Board-Module-for-Arduino-E107-/251077610460?pt=LH_DefaultDomain_0&hash=item3a75644bdc такой модуль, схему я не нашел.
вот проблема, прошить ее не могу.
выдает след ошибки:
после
Downloading Flash Loader in Ram…
Flash Loader downloading in Ram
Err 000 — Error during cjange baud rate
Err 000 — Error during loader initialization
Check target settings
и все, больше не идет, в чем может быть проблема?
PWR_KEY и на землю, и на плюс подавал, не работает. батарея от сотки.
горит светодиод NET, мигает. и все, пробовал и подключить и отправлять АТ команды, не отправляется, когда нажимаю отправку, не просто отправляется.
причина была в неправильно уставновленных конденсаторах для обвязки сим-карты.
теперь возникла другая проблема. СМС модуль не принимаетЮ хотя отправляет. было ли у кого такое?
теперь возникла другая проблема. СМС модуль не принимаетЮ хотя отправляет. было ли у кого такое?
Попробуй использовать другую программу терминал, ну и проверь правильность построения AT комманды.
Также можно попробовать обновить прошивку модуля ftp://ftp.macrogroup.ru/Support/SimCom/Firmware/Sim900/
Также можно попробовать обновить прошивку модуля ftp://ftp.macrogroup.ru/Support/SimCom/Firmware/Sim900/
Коллеги, извиняюсь за офтоп, но у меня есть вопрос касательно GPS, возможно кто-то из вас с этим сталкивался и сможет мне помочь.
Есть такая штука как дифференциальный (разностный) метод улучшения характеристик навигационных систем на GPS. Идея проста, берем 2 одинаковых приемника, один устанавливаем стационарно («базовая станция», предполагается, что его координаты нам известны, или мы можем принять их за точку отсчета), второй перемещается на некотором удалении, и координаты второго приемника мы хотим узнать. Мы получаем одновременно координаты с обоих приемников, а потом «вычисляем разность», «вычитаем» из координат подвижного приемника координаты базовой станции.
Сам принцип прост и достаточно широко расписан. Но я не смог найти конкретных результатов — какая в результате получается относительная/абсолютная погрешность. Может кто-то проводил подобные эксперименты, или видел материалы с конкретными результатами?
Есть такая штука как дифференциальный (разностный) метод улучшения характеристик навигационных систем на GPS. Идея проста, берем 2 одинаковых приемника, один устанавливаем стационарно («базовая станция», предполагается, что его координаты нам известны, или мы можем принять их за точку отсчета), второй перемещается на некотором удалении, и координаты второго приемника мы хотим узнать. Мы получаем одновременно координаты с обоих приемников, а потом «вычисляем разность», «вычитаем» из координат подвижного приемника координаты базовой станции.
Сам принцип прост и достаточно широко расписан. Но я не смог найти конкретных результатов — какая в результате получается относительная/абсолютная погрешность. Может кто-то проводил подобные эксперименты, или видел материалы с конкретными результатами?
Не в курсах зачем в модуле дополнительные выводы MIC2P и MIC2N? Для второго микрофона? А зачем? Запасные чтоли?

- Papandopala
- 23 августа 2013, 21:14
- ↓
1.Я вот думаю можно ли вместо кнопки поставить конденсатор? Когда на модуль будет подано питание, кондер посадит вывод PWRKEY на землю. Когда зарядится, вывод отпустит. В результате этого SIM900 сам включится автоматом.
2. И еще откуда взялся в статье вывод sim-present нет такого в документации на модуль.
2. И еще откуда взялся в статье вывод sim-present нет такого в документации на модуль.
- Papandopala
- 18 сентября 2013, 13:06
- ↓
При включении устанавливается режим авто-настройки скорости от 1200 до 57600ошибка, надо от 1200 до 115200
- Papandopala
- 03 октября 2013, 21:53
- ↓
Добрый день! А подскажите по практике, насколько длительные по времени скачки потребления тока до 2А, о которых шла речь? Реально ли должен блок питания столько выдавать или хватит блока на 1А с толстыми кондерами?
- phantom_lord
- 10 мая 2014, 09:54
- ↓
самое отвратительное железо какое только приходилось трогать )
Во всех отношениях, от специфического питания — до зависания при низком уровне сети )
Во всех отношениях, от специфического питания — до зависания при низком уровне сети )
Работаю с Sim5320, никаких зависаний не было и в помине, притом что уровень сигнала в той местности редко бывает лучше -100dbm, а иногда и вовсе сеть пропадает. И в питании ничего срецифицеского не вижу, допустимый диапазон питания достаточно широк.
- phantom_lord
- 29 августа 2014, 18:22
- ↑
- ↓
Комментарии (104)
RSS свернуть / развернуть