Shield GPRS/GSM SIM900 с антенной
SIM900 GPRS/GSM Shield Development Board Quad-Band Kit For Arduino Compatible
Модуль для работы микроконтроллерных устройств Arduino и аналогичных в сетях сотовой связи по стандартам GSM и GPRS. Ориентирован на использование в системах автоматики и управления. Обмен данными с другими модулями происходит через интерфейс UART. Shield GPRS/GSM SIM900 с антенной может сопрягаться непосредственно с микроконтроллером через интерфейс UART или работать совместно с персональным компьютером при использовании преобразователя интерфейса портПК-UART. Это возможно благодаря программной совместимости на уровне класса команд используемых для управления модемами - АТ команды.
Мониторинг объектов и управление ими происходит благодаря обмену данными в пределах досягаемости мобильной связи. Обеспечивается голосовая связь, отправка СМС, ММС и много других функций и сервисов. Работа модуля основана на компоненте SIM900.
Статья на русском из журнала о компоненте SIM900 . Компонент разработан компанией SIMCom Wireless Solutions. Сайт SIMCom имеет русскоязычную версию . Плата GSM модуля на стороне компонентов содержит соединители для подключения антенны, наушников и микрофона. На стороне пайки платы размещены держатель батареи CR1220 3 вольта поддерживающей работу часов модуля и контейнер для установки симкарты.
Одно из применений устройства - система слежения за перемещениями транспорта совместно с ГЛОНАСС или GPS прибором. Отправка СМС сообщений позволяет использовать модуль в диспетчеризации, беспроводной сигнализации и в охранных системах. В результате происходящих событий могут отправляться различные СМС: “Аварийный стоп лифта 2 дома №34”, “Дверь автомобиля открыта”, “Подвал открыт”, “Напряжение 220 В выключено”, “Входная дверь дачи открыта”, “Включено освещение”, “Температура в теплице ниже критической”. Модуль незаменим для контроля и управления подвижными объектами, перемещающимися на большие расстояния. Или в случае удаления оператора на большое расстояние от стационарного объекта.
Shield GPRS/GSM SIM900 с антенной дает широкие возможности изучения работы компонента SIM900. Монтаж компонента SIM900 выполняется по самым современным технологиям из-за чего припаять к печатной плате SIM900 в лабораторных условиях весьма затруднительно. Имея модуль с установленным SIM900 можно проводить эксперименты по применению компонента SIM900. При использовании в собственных разработках компонента SIM900 появляется возможность отладки программного обеспечения и проверки схемотехнических решений.
Характеристики
Питание
напряжение, В
номинальное 5
диапазон 4,8-5,2
ток
обычный режим 50-450 мА
в спящем режиме 1,5 мА
предельный импульсный 2 А
Поддерживает симкарты питанием 1,8 и 3 В
Диапазоны связи 850, 900, 1800, 1900 МГц
Поддерживает сеть 2G
Мощность передачи в различных диапазонах
1 Вт 1800 и 1900 МГц
2 Вт 850 и 900 МГц
Соответствует стандарту GSM фазы 2/2+
Встроенные протоколы TCP и UDP
Класс передачи данных GPRS multi-slot class 10/8
Аудиокодеки HR, FR, EFR, AMR, подавление эха
CSD до 14,4кбит/сек
PPP стек
MUX (07.10)
Протоколы HTTP и FTP
Есть возможность отправлять сигналы DTMF и проигрывать записи как на автоответчике
Поддержка часов реального времени RTC
Температура, ℃
воздуха при работе -30...75
хранения -45...90
размеры 86 х 58 х 19 мм
Компоненты управления
Переключателем Power select устанавливается источник питания: внешний, подключенный к коаксиальному соединителю или источник питания микроконтроллерного модуля Arduino.
Кнопкой Power key включается или выключается питание при нажатии и удерживании в течение 2 с.
Индикация
О состоянии модуля сообщают 3 светодиода:
PWR (зеленый) - индикатор питания модуля,
Status (красный) - индикатор питания компонента SIM900,
Net Light (зеленый) - соединение с сетью.
Сообщения светодиода Net Light.
Выключен - SIM900 не работает.
Мигает с интервалами, указано в секундах:
0,064 включен и 0,8 выключен - сеть не обнаружена,
0,064 включен и 0,3 выключен - сеть обнаружена,
0,064 включен, 0,03 выключен - GPRS подключен.
Контакты
Компонент SIM900 содержит порт UART, его сигналы выведены на выводы компонента и соединены с перемычками, устанавливающими с какими контактами модуля Shield GPRS/GSM SIM900 будет соединен порт UART компонента SIM900 с D0, D1 или D7, D8.
UART Shield GPRS/GSM можно подключнить: к аппаратному интерфейсу МК через контакты TXD и RXD модуля Shield GPRS/GSM, для этого используются D0, D1. Или к программно эмулируемому средствами ардуино, для этого используются контакты D7 и D8 модуля Shield GPRS/GSM. Полный интерфейс UART имеет 10 сигналов выведенных на контакты в углу платы: R1, DCD, DSR, CTS, RTS, GND, 2V8, TX, RX, DTR.
12 подписанных контактов цифровых линий ввода-вывода GPIO расположены в углу платы. Имеется 2 контакта выходных сигналов с широтно-импульсной модуляцией PWM1, PWM2. Вход АЦП контакт ADC. Интерфейс встроенного счетчика времени имеет 4 контакта. Обозначение контактов: DISP_CLK, DISP_DATA, DISP_D/C, DISP_CS.
Контакт D9 используется для программного контроля включения или выключения SIM900.
На плате установлен соединитель для подключения антенны.
Назначение выводов компонента SIM900.
Внешнее включение и выключение питания
Включить или выключить питание модуля можно с помощью сигнала на управляющем входе D9. Для изменения состояния на D9 подается импульс продолжительностью 1 с. Изменение состояния происходит спустя 3,2 с после начала импульса.
Включение модуля. Графики напряжения питания модуля, внешнего управляющего импульса и индикатора питания STATUS.
При управлении модулем руководящим устройством включение должно происходить без применения кнопки Power key, т. е. сразу после подачи питания. Для этого в программу МК следует добавить несколько команд.
Void powerUpOrDown()
{
pinMode(9, OUTPUT);
digitalWrite(9,LOW);
delay(1000);
digitalWrite(9,HIGH);
delay(2000);
digitalWrite(9,LOW);
delay(3000);
}
Эту группу команд в программе можно использовать и для выключения модуля. Также выключить GSM модуль можно посылая AT команду.
Здравствуйте!
Встала тут задача по управлять загородным домом, последить за температурой, дверями, окнами. И тут же возник вопрос о среде передачи данных. Ну провода и радиоканал отпадают из-за дороговизны, ВОЛС просто мечты, а вот 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
дядяМиша 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, а через некоторое время меандр с указанием статуса наличия и подключения к сети.
Обзор платы GSM/GPRS SIM900 Shield
Плата Arduino GPRS/GSM Shield (рисунок 1) предоставляет нам возможность использовать для удаленного приема и передачи данных мобильной GSM-связи. Осуществить это можно тремя способами:
используя отправку/прием коротких текстовых сообщений (SMS);
отправкой голосовых (аудио) команд на основе технологий CSD (стандартная технология передачи данных в сети GSM) и/или DTMF (двухтональный многочастотный аналоговый сигнал, используемый для набора телефонного номера);
используя пакетную передачу данных на основе технологии GPRS.
Плата построена на базе модуля SIMCom SIM900.
Также на ней расположены:
слот для SIM-карты;
джек 3,5 мм для аудио-входа и выхода;
разъём для внешней антенны.
Общение с платой производится через serial-соединение с помощью набора AT-команд. С помощью перемычек на плате возможно установить используемые для коммуникации контакты: аппаратные 0- 1-й или 2-3 (на некоторых платах) 7- 8-й для работы через SoftwareSerial.
Рисунок 1. GPS GPRS shield.
Плату GSM GPRS SIM900 Shield можно включить двумя способами:
аппаратным (нажатие кнопки PWRKEY);
программным.
Подключение к плате Arduino
Плата GSM GPRS SIM900 Shield сделана в формате шилда для плат Ардуино. Контакты шилда (гребенки) легко вставляются в разъемы платы, образуя при этом "бутерброд" (рисунок 2).
Рисунок 2. Установка GPS GPRS shield на плату Arduino.
Управление модулем GSM GPRS SIM900 с помощью AT-команд
Рассмотрим управление модулем GSM GPRS shield с помощью AT-команд. Для этого установим модуль на и подключим её к компьютеру. Arduino-скетч отправки и получения данных между компьютером и модулем GSM GPRS shield через плату показан в листинге 1.
Листинг 1
#include
// создание объекта
SoftwareSerial grs(7, 8); // RX, TX
// скорость обмена
#define GSMbaud 9600
Serial.begin(9600);
gsm.begin(GSMbaud);
Serial.println("Start");
if (Serial.available()) {
str1 = Serial.readStringUntil("\n");
str1.toCharArray(buffer, hh.length() + 1);
gsm.write(buffer);
gsm.board.write("\n");
if (gsm.available()) {
Serial.write(gprs.read());
Загружаем скетч на плату ардуино, открываем монитор последовательного порта и набираем команды установки режима:
Команда проверки подключения модуля к GPRS-сети, которую при ответе COMMAND NO RESPONSE необходимо постоянно повторять
Подключаемся к точке доступа оператора связи. Для Билайн:
AT + CGDCONT = 1, "IP", "internet.beeline.ru"
AT + CSTT = "internet.beeline.ru","", ""
Установка интернет-соединения:
AT + CGACT = 1,1
Обращение к интернет-ресурсу
Весь процесс подключения представлен на рисунке 3.
Рисунок 3. Процесс работы с модулем GSM GPRS SIM800 в мониторе последовательного порта.
Пример отправки sms-сообщений с платы Arduino
Рассмотрим пример использования отправки sms-сообщений при уменьшении температуры воздуха в помещении ниже определенного значения. Нам потребуются следующие детали:
модуль GSM GPRS Shield – 1 шт;
sim-карта сотового оператора с положительным балансом;
блок питания 12В – 1 шт;
Схема подключения показана на рисунке 4.
Рисунок 4. Схема подключения для отправки sms-сообщений при низких значениях температуры воздуха.
Приступим к написанию скетча. Каждые 30 секунд получаем данные влажности и температуры с датчика DHT11. Используем библиотеку DHT. При значении температуры ниже критического отправляем sms на номер указанный в константе PHONE. И делаем паузу на 10 минут.
Содержимое скетча показано в листинге 2.
Листинг 2
// подключение библиотек
#include
#include "DHT.h"
// телефон для отправки sms
#define PHONE_NUMBER "+7928222222"
// создание объектов
SoftwareSerial gsm(7, 8);
DHT sensorDHT(2, DHT22);
// пороговое значение температуры
#define TEMPP 18
unsigned long millissend;
// запуск последовательного порта
Serial.begin(9600);
// запуск датчика DHT
sensorDHT.begin();
// запуск SoftwareSerial
gsm.begin(9600);
if (millis()-millissend>30*1000) { // показания каждые 30 секунд?
// получение данных с датчика DHT
int h = sensorDHT.readHumidity();
int t = sensorDHT.readTemperature();
if(t // отправить sms // ждем 10 минут delay(10*60*1000); millissend=millis(); // отправка sms void SendSMS(int t) { // установка text mode gsm.print("AT+CMGF=1\r"); // телефон gsm.println(PHONE_NUMBER); gsm.println("\""); // отправить данные t // окончание передачи gsm.println((char)26); Загружаем скетч, проверяем событие прихода sms-сообщения на выбранный номер телефона при критическом значении температуры. Рисунок 5. Схема в сборе. Создадим прошивку получения данных при отправке sms-сообщения на sim-карту, находящийся в модуле GSM GPRS shield. Содержимое скетча показано в листинге 3. Листинг 3 // подключение библиотек #include #include "DHT.h" // создание объектов SoftwareSerial gsm(7, 8); DHT sensorDHT(2, DHT22); // переменные String phone = "" String str1 = ""; // boolean isSMS = false; // подключение последовательного порта Serial.begin(9600); // запуск датчика DHT // запуск SoftwareSerial gsm.begin(9600); // Настройка приёма сообщений gsm.print("AT+CMGF=1\r"); gsm.print("AT+IFC=1, 1\r"); gsm.print("AT+CPBS=\"SM\"\r"); gsm.print("AT+CNMI=1,2,2,1,0\r"); if (gsm.available()) { char c = gsm.read(); if ("\r" == c) { if (isSMS) { // текущая строка - sms-сообщение, if (!str1.compareTo("tmp")) { // текст sms - tmp // отправить sms на приходящий номер // получение данных int t = dht.readTemperature(); // AT-команда установки text mode gsm.print("AT+CMGF=1\r"); // номер телефона получателя gsm.println("AT + CMGS = \""); gsm.println(phone); gsm.println("\""); // сообщение – данные температуры // окончание передачи gsm.println((char)26); Serial.println(currStr); if (str1.startsWith("+CMT")) { Serial.println(str1); // выделить из сообщения номер телефона phone=str1.substring(7,19); Serial.println(phone); // если текущая строка начинается с "+CMT", // то следующая строка является сообщением else if ("\n" != c) { str1 += String(c); Загружаем скетч на плату, отправляем sms-сообщение с текстом tmp на sim-карту и получаем в ответ sms-сообщение с данными температуры. 1. Нет связи с Arduino по последовательному порту. Проверьте питание платы. Проверьте правильность установки перемычек. 2. Не отправляются sms-сообщения Проверьте наличие внешнего питание GSM GPRS shield. Проверьте баланс sim-карты. Работу с GSM/GPRS-шилдом SIM900
, сейчас речь пойдёт о дешёвом (порядка 150 рублей)
модуле GSM NEOWAY M590
. Модуль продаётся «врассыпную» (в комплекте есть всё необходимое)
, поэтому потребуются навыки пайки, впрочем, ничего сложного там нет. Остальные детали, думаю, не вызывают вопросов.
Для тех, кто планирует разводить плату под модуль самостоятельно:
NEOWAY
общается с ардуиной (или иным устройством)
через UART (RX, TX)
с помощью AT-команд . Для того чтоб посылать команды, надо выяснить скорость UARTа. В этом случае соединяем: USB-UART
<> NEOWAY
+5
<> +5
Контакт BOOT
используется для включения/отключения модуля кратковременным (~1сек)
соединением с GND
, однако удобнее просто соединить его с GND
и не отсоединять. Включение модуля будет происходить при подачи питания. Если такой штуки нет, то можно превратить ардуину в USB-UART
мост залив в неё вот такой скетч… Void setup()
{
pinMode(0, INPUT);
pinMode(1, INPUT);
}
void loop()
{}
… и соединив следующим образом: Ардуина
<> NEOWAY
+5
<> +5
Контакт BOOT
соедините с GND
. Модуль может потреблять большой ток
, до 2-х ампер в пике, поэтому для надёжной работы необходимо организовать дополнительный БП. В принципе заработает то он и от ардуины, но в момент регистрации в сети или приёма звонка, модуль может перегружаться. Так же будет не лишним поставить электролитический конденсатор (~1000 микрофарад, 16 вольт) поближе к модулю.
После подачи питания, на плате должен начать м и г а т ь светодиод (примерно раз в секунду)
- это говорит о том, что он готов к работе.
Теперь подключаем Вашу конструкцию к компьютеру, в IDE Arduino открываем «Монитор последовательного порта» (в дальнейшем «терминал»)
, выбираем (внизу-справа)
NL & CR
, устанавливаем скорость 9600 и отправляем команду проверки связи - AT
Если ответ - ОК, то значит модуль работает и скорость UARTа
установлена 9600
. Если ответа нет, то проверьте правильность соединения UARTа и дальше действуйте методом «тыка» подставляя разные скорости, пока не увидите заветное ОК
. После старта модем скажет - MODEM:STARTUP
, а о готовности к работе сообщит - +PBREADY
Если модему не будет хватать питания (большинство возникающих проблем происходят из-за этого)
, то он будет постоянно рестартовать. Ещё я столкнулся с тем, что модем работает не со всеми сим-картами.
Если всё в порядке, тогда переходим к изучению АТ-команд для общения с NEOWAY
и его настройки.
АТ
- запрос состояния, ответ - ОК. ATE0
- отключить «эхо». ATE1
- включить «эхо». ATI
- название и версия модуля. AT+getvers
- версия прошивки. AT+IPR=9600
- установка скорости UARTа (9600)
, возможные варианты - 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200. AT&W0
AT&W1
- сохранение конфигурации настроек в EEPROM. AT+CPAS
- проверка статуса модема, ответ - +CPAS: 0. AT+CPWROFF
- отключение модуля. AT+CLIP=1
- включить АОН. AT+CLIP=0
- отключить АОН. ATD+79634759175;
- позвонить. ATH
- сбросить все соединения. ATH1
- сбросить текущие соединение. AT+CMGF=1
- настроить на текстовый формат SMS. AT+CMGF=0
- настроить SMS на PDU формат. AT+CSCS=«GSM»
- кодировка текста sms - ASCII. Переправьте на нормальные кавычки.
AT+CMGR=1
- чтение sms, где цифра - порядковый номер сообщения. То есть в данном случае читается первое сообщение, так - AT+CMGR=2 второе и т.д.
AT+CMGD=1
- удаление sms, где цифра - порядковый номер сообщения. AT+CMGD=1,1
- удалить все прочитанные sms. AT+CMGD=1,2
- удалить все прочитанные и отправленные sms. AT+CMGD=1,3
- удалить все прочитанные, отправленные и неотправленные sms. AT+CMGD=1,4
- удалить все sms. AT+CNMI=1,2,2,1,0
- вывод принятого sms в терминал. Можно найти исчерпывающую информацию по ат-командам. Отправка SMS будет осуществляться ардуиной.
Если на вашем модуле установлена скорость UARTа отличная от 9600
, тогда дайте команду: AT+IPR=9600
Отключите девайс от питания и переключите RX и TX (остальное без изменений)
модуля к ардуине следующим образом: Ардуина
<> NEOWAY
+5
<> +5
Контакт BOOT
соедините с GND
. Вначале загружаем в ардуину простой скетч (предварительно вписав номер, с которого будете звонить на модуль)
. При старте, на каждую команду должно быть подтверждение - ОК.
#include Следующий скетч будет посылать SMS в ответ на наш звонок: #include С помощью этого скетча можно отправлять в модуль через терминал какие-то свои команды или АТ-команды. Ответ будет выводится в терминал. #include Скетч для отправки SMS-команд: #include И последний скетч, который позволяет отправив в модуль смс со специальным словом, получить в ответ смс с балансом денег на симке, которая стоит в NEOWAY
#include Все эксперименты проводились с оператором МТС.
Теперь можно из этих скетчей собирать то, что Вам нужно. При поступлении входящего вызова на контакте RING
появляются импульсы с низким логическим уровнем длительностью 30 мс, в такт звуку гудка. При получении SMS сообщения, появляется однократный импульс длительностью 25-35 мс. На этом пожалуй всё… Вступайте в GSM модуль для Starline A93 представляет собой устройство, монтаж которого позволит сделать из обычной сигнализации охранный комплекс с возможностью отслеживания координат авто. Этот девайс устанавливается дополнительно и может использоваться только с «сигналкой» модели А93. [ Скрыть
] Основное достоинство подключения GSM устройства к сигнализации с автозапуском двигателя A93 через программный интерфейс заключается в мониторинге координат авто. Благодаря наличию модуля автовладелец может в любой момент получить на телефон данные о месте расположения машины. Погрешность при выявлении координат может составить до нескольких метров при условии, что на местности минимум помех. Это позволит своевременно определить местоположение авто в случае угона и вернуть машину. Использование GSM устройства для Starline A93 обеспечит возможность мониторинга машины в пределах зоны действия мобильного покрытия, то есть практически везде. Модули M22 и GSM-мастер, устанавливающиеся в А93, имеют такие преимущества: Stason Nissan привел краткое описание комплектации и основных преимуществ устройства Старлайн М22. Обзор способов управления GSM устройством: Возможности, которые обеспечивает установка GSM модулей на сигнализацию: Канал АвтоАудиоЦентр рассказал об основных опциях и особенностях GSM модуля Старлайн модели М22. Разберем процедуру установки GSM устройства своими руками на примере автомобиля Мицубиси Лансер: Демонтируйте облицовку панели, чтобы получить доступ к процессору
Извлеките блок из места монтажа и выполните его разбор
Подключите модуль GSM и установите в него карточку мобильного оператора
Использование GSM модуля для Starline A93 после установки будет невозможным, если вы не привяжете его к сигнализации. Чтобы обеспечить качественную связь GSM модуля с автосигнализацией, после установки устройство надо прописать: В соответствии с инструкцией по эксплуатации выполняется настройка самого устройства. Для этого можно воспользоваться голосовым интерфейсом. Со своего телефона сделайте вызов на номер карточки, которая установлена в блоке. Если привязка модуля была выполнена успешно, то произойдет включение голосового меню. Прослушав приветствие, вы сможете произвести настройку двух паролей — PW и PS. Затем телефонный номер, с которого производился вызов, будет автоматически привязан к «сигналке» в качестве основного, на него будет отправлено SMS-сообщение с подтверждением. Об особенностях настройки GSM модуля перед использованием рассказал канал Майка Джексона. Назначение паролей: Если выполнялось подключение ГЛОНАСС модуля, то надо произвести активацию функции спутникового геопозиционирования.
Для этого следует отправить на номер СИМ-карты, установленной в модуле, сообщение с комбинацией 00492. Если вы не сделаете этого, то процедура определения координат будет осуществляться не по ГЛОНАСС спутнику, а по вышкам мобильной сети. Перед использованием модуля следует ознакомиться с руководством по эксплуатации. Посредством отправки сообщений с текстом на номер, установленный в устройстве, можно настроить удаленный пуск ДВС: Обзор основных особенностей и нюансов управления модулем Starline GSM-мастер представлен каналом АвтоАудиоЦентр. Команды управления: Чтобы отредактировать пароль для управления и настройки, применяются такие команды: Канал CrossoveR 159 рассказал о телематических опциях и командах, применяющихся для настройки GSM устройства Старлайн. Прочие команды, которые применяются для настройки: Зарегистрировавшись на сервисе Старлайн-Онлайн
, потребитель сможет получить доступ к охранному комплексу с компьютера либо из приложения для смартфона. Процедура создания учетной записи выполняется так: Часто задаваемые вопросы FAQ
В комплекте поставляется
Две маленькие, чёрные штучки - это резисторы, полярность не имеет значения.
Квадратная жёлтая штука - это танталовый конденсатор, полярность здесь важна, поэтому припаиваем как на картинке.
Чёрный цилиндр - это диод (в данной конструкции отвечает за понижение напряжения)
, обязательно соблюдение полярности, так что делаем как на иллюстрации.
Маленькая прозрачная штучка - это светодиод, опять же, важна полярность, на плате минус расположен ближе к букве B
oot. Подключение и эксплуатация
Для выяснения скорости, нужно подключить собраный модуль к компьютеру с помощью USB-UART
моста, выглядит эта штука так:
GND
<> GND
TX
<> RX
RX
<> TX
GND
<> GND
RX
<> RX
TX
<> TX
О питании
АТ-команды
Эхо - это повтор введённой команды в терминал.
0 для нулевого профиля, 1 для первого профиля.
Статусы: 0 - готов к работе, 2 - неизвестно, 3 - входящий звонок, 4 - в режиме соединения.
В терминал будут выводиться сообщения: CONNECT - соединение установлено, BUSY - занят, NO ANSWER - нет ответа, NO CARRIER - вызов сброшен.
Возможны другие кодировки: HEX – шестнадцатеричными значениями, IRA – международный справочный алфавит, PCCP437 – кодировка CP437(IBM PC), 8859-1 – кодовые страницы семейства ISO 8859, UCS2 – кодировка unicode.
Далее будем управлять модулем с помощью ардуины
При взаимодействии с ардуиной будет использоваться SoftwareSerial, а он плохо работает на скоростях выше 9600.
GND
<> GND
D2
<> TX
D3
<> RX
При звонке со вписанного номера, будет на 5 секунд зажигаться D13, а связь обрываться. Если это будет другой номер, то ничего не произойдёт. Все действия отображаются в терминале.
Вместо строки «Hello from сайт» можно вписать какую-либо переменную, например температуру с датчика, а звонок заменить каким-либо событием, например, нажатием на кнопку (дописав обработчик нажатия кнопки).
Если ввести в терминале ат-команду - AT+CLIP=1
, то включится АОН, а если ввести свою команду - callmy
, тогда модуль перезвонит на вписанный в скетче телефон.
Если отправить модулю смску с текстом - led13on
, то светодиод зажжётся, а если отправить текст - led13off
, то погаснет.
Не забудьте вписать нужный номер.
Отправьте модулю смску с текстом - money
и через несколько секунд придёт ответная смс с количеством денег на балансе симки NEOWAY.
Преимущества установки GSM модуля в автосигнализацию Starline A93
Способы управления и возможности
Как установить?
Настройка сигнализации после установки GSM модуля
Как правильно пользоваться?
Настройка автозапуска
Команды для управления системой
Регистрация на starline-online