GSM модуль представляет собой беспроводное коммуникационное устройство (модем) для приема/передачи данных в сетях мобильной связи. В любом мобильном телефоне установлен такой модуль, благодаря которому возможно голосовое общение, прием сообщений, выход в интернет. В этой статье я расскажу про GSM/GPRS модуль NEOWAY M590, приведу описание и назначение основных команд.
Данный модуль, смонтированный на плате с минимальной обвязкой (а также в виде конструктора) можно приобрести в Китае, где он позиционируется как модуль под Arduino.
В китайском интернет магазине можно найти множество предложений с различными ценами на данный модуль, я например заказывал модуль здесь.
На следующей картинке представлена схема с рекомендуемой обвязкой модуля:
Модуль питается напряжением 3,3 – 4,5В, максимальный ток потребления кратковременно может достигать 2А (особенно в момент включения), поэтому конденсатор C1 должен иметь минимальную емкость в 1000 мкФ, желательно больше. В режиме ожидания средний ток потребления модуля равен 25 мА.
Для включения модуля необходимо подать положительный импульс на линию ON/OFF (база транзистора VT1), длительность импульса должна быть не менее 300 мс. После успешного включения и выхода в рабочий режим, светодиод статуса HL1 начнет мигать с частотой в 1Гц. Рекомендуется выдержать паузу в 2 секунды после включения, прежде чем отправлять команды на модуль. При включении модуль выдает сообщение MODEM:STARTUP, затем через 10-15 секунд сообщение +PBREADY, означающее, что телефонная книга готова к использованию.
Для выключения модуля необходимо повторно подать такой же положительный импульс, или же отправить специальную команду на выключение (AT+CPWROFF). В выключенном состоянии модуль потребляет ток в пределах 80 мкА.
Номинальное рабочее напряжение линий ввода/вывода модуля (RXD, TXD, DTR, RING, LED) составляет 2,85В. Напряжения на линиях ввода (RXD, DTR) не должны превышать 3,3В, для исключения их повреждения, поэтому для их сопряжения с логическими уровнями большего напряжения установлены элементы VD1, R1, VD2, R2. С помощью резисторов эти входы подтягиваются к линии VCCIO, после включения модуля на этой линии появляется напряжение величиной 2,85В (макс. выход. ток 3 мА), тем самым обеспечивается безопасный логический уровень для линий ввода. Диоды предотвращают входы от перенапряжения.
В случае зависания модуля, имеется возможность аварийного выключения, для этого необходимо подать положительный импульс на линию EMERGENCY OFF (база транзистора VT2) длительностью 100 мс. После этого необходимо выдержать паузу в 5 секунд перед повторным включением, чтобы исключить возможность повреждения модуля.
“Общение” с модулем осуществляется с помощью стандартного интерфейса UART, линия MCU TX подключается к выходу передатчика управляющего устройства (микроконтроллер, компьютер), вывод MCU RX к входу приемника управляющего устройства.
Для снижения энергопотребления в модуле предусмотрен спящий режим, по умолчанию этот режим отключен, для его включения необходимо предварительно подать команду на разрешение спящего режима (at+enpwrsave=1). Затем необходимо установить низкий логический уровень на линии SLEEP, после чего, через 10-30 секунд модуль “заснет”. Во время “сна” модуль не реагирует на команды, поступающие по UART. Установка высокого логического уровня на линии SLEEP, выводит модуль из спящего режима в течение 50 мс. Если во время “сна” поступит SMS сообщение, данные от сервера, или входящий звонок, то модуль проснется и отправить соответствующее сообщение по UART, после чего управляющее устройство должно выставить высокий логический уровень на линии SLEEP, чтобы продолжить обмен данными. Если этого не произойдет, модуль автоматически уйдет в “сон” в течение 10-30 сек. В спящем режиме потребляемый ток составляет 2,5-3 мА.
При поступлении входящего вызова на линии RING появляются импульсы с низким логическим уровнем длительностью 30 мс, частота следования один раз в 5 секунд (в такт звуку гудка). При получении SMS сообщения, на линии появляется однократный импульс длительностью 25-35 мс. Данную линию можно использовать для генерации прерываний в управляющем устройстве.
Линии DCD (16-й вывод модуля), DSR (17-й вывод модуля) не используются, остальные выводы задействованы для подключения СИМ карты A2.
В модуле отсутствует микрофонный вход, поэтому голосовую связь осуществить не получится, но само соединение устанавливается, если принять звонок от модуля, в динамике будет стоять тишина.
Чтобы поработать с модулем я подключил его к компьютеру с помощью USB-UART преобразователя. В качестве терминальной программы я использовал Terminal v1.9b by Bray. В программе необходимо выставить следующие настройки подключения: 8 бит данных, без проверки четности, один стоповый бит, управление потоком отключаем. По умолчанию модуль настроен на скорость 9600 бит/сек, также поддерживаются 1200, 2400, 4800, 19200, 38400, 57600, 115200 бит/сек.
На следующем скриншоте можно увидеть последовательность приема/передачи данных между компьютером и модулем:
Теперь рассмотрим структуру стандарта связи, инструкции и особенности приема/передачи данных. GSM модули управляются специальными AT командами, которые изложены в нескольких стандартах, таких как GSM 03.40, GSM 07.07 и т.д.
Любая команда начинается с символов AT, после которых следует название команды, параметр команды, и завершающий символ <CR> – возврат каретки (шестнадцатеричное значение 0x0D, в языках программирования “\r”), этот символ должен присутствовать в конце каждой команды. Пример:
AT+IPR=9600<CR>, где +IPR – название команды (настройки скорости порта UART), 9600 – значение скорости порта которое передается модулю.
Для большинства команд можно запросить ее текущие и возможные варианты параметров:
Команда AT+IPR?<CR>, запрашивает текущее значение скорости порта.
Команда AT+IPR=?<CR>, запрашивает возможные варианты значений для скорости порта.
Если в конце команды опустить символ <CR>, то модуль не будет воспринимать команды. Для ввода этого символа в терминальной программе, необходимо указать его шестнадцатеричное значение из таблицы ASCII – $0D, символ $ указывает программе, что далее идет число шестнадцатеричном формате. В итоге команда в терминале будет выглядеть следующим образом: AT+IPR=9600$0D.
В GSM модемах имеется специальный режим, называемый “эхом”, это повторение символов получаемых от управляющего устройства. То есть, модуль возвращает полученную команду, а затем выдает ответ на эту команду. Если “эхо” отключено модем выдает только ответ. В моем случае режим “эха” в модуле был включен по умолчанию, выше на скриншоте программы в окне приема сообщений можно увидеть возвращенные команды.
Каждое ответное сообщение от модуля начинается и заканчивается символами <CR> и <LF>, где <LF> – символ перевода строки (шестнадцатеричное значение 0x0A, в языках программирования “\n”). Пример ответа на команду AT+IPR?:
<CR><LF>+IPR: 9600<CR><LF><CR><LF>OK<CR><LF>
Эквивалентом комбинации символов <CR><LF> является действие клавиши Enter, то есть переход в начало следующей строки. Поэтому в терминале структура ответа выглядит следующем образом:
На этой строке находилась позиция курсора до получения ответа
+IPR: 9600
Здесь пустая строка
OK
Здесь находится текущая позиция курсора после получения ответа
На вышеприведенном скриншоте терминальной программы можно просмотреть структуру ответов модуля.
Ниже представлен список некоторых распространенных команд, используемых для разработки устройств на базе GSM модуля. Самая простая команда – AT, в ответ на которую модуль выдаст сообщение OK.
Команды настройки модуля:
Описание | Команда настройки режима “эха” | |
Формат | ATE<n> | |
Параметр | <n>: 0 – выключить; 1 – включить | |
Ответ | OK | |
Пример | ATE0 OK |
Описание | Команда проверки модели и версии модуля | |
Формат | ati | |
Пример | ati NEOWAY M590 REVISION 01.30c OK | Модель Версия |
Описание | Команда чтения версии прошивки модуля | |
Формат | at+getvers | |
Ответ | <версия> OK или ERROR | |
Пример | at+getvers 1103_C6C30000_V0130c OK | Версия прошивки |
Описание | Команда сохранения текущей конфигурации настроек в EEPROM память | |
Формат | AT&W<значение> | |
Параметр | <значение>: 0 – сохранить настройки в 0-м профиле, параметр 0 можно не указывать; 1 – сохранить настройки в 1-м профиле | |
Ответ | OK | |
Пример | AT&W OK |
Описание | Команда настройки скорости порта UART | |
Формат | AT+IPR=<скорость предачи> | |
Параметр | <скорость предачи>: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/сек | |
Ответ | OK или ERROR | |
Пример | AT+IPR=9600 OK | |
Запрос параметра | AT+IPR? +IPR: 9600 OK | Скорость порта равна 9600 бит/сек |
Описание | Команда проверки статуса модуля | |
Формат | AT+CPAS | |
Параметр | <pas>: 0 – готов к работе 2 – неизвестно 3 – входящий звонок 4 – в режиме соединения 5 – спящий режим | |
Ответ | +CPAS: <pas> OK (или ERROR) | |
Пример | AT+CPAS +CPAS: 0 OK | Модуль готов к работе |
Описание | Команда проверки регистрации модуля в сети | |
Формат | AT+CREG: <mode> | |
Параметр | <mode>: 0 – выключить уведомление о регистрации в сети 1 – включить уведомление о регистрации в сети +CREG: <stat> 2 – включить уведомление о регистрации в сети и информацию о местоположении< stat>: 0 – не зарегистрирован, поиск сети не выполняется 1 – зарегистрирован в домашней сети 2 – регистрация отклонена 3 – не зарегистрирован, выполняется поиск сети 4 – неизвестно 5 – зарегистрирован, зона роуминга | |
Ответ | OK или ERROR AT+CREG: <mode>,<stat> | |
Пример | AT+CREG=1 OK | Включить уведомление о регистрации в сети |
Запрос параметров | AT+CREG? +CREG: 0,1 OK | Зарегистрирован в домашней сети |
Описание | Команда настройки спящего режима | |
Формат | at+enpwrsave=<n> | |
Параметр | <n>: 0 – спящий режим запрещен; 1 – спящий режим разрешен | |
Ответ | OK или ERROR | |
Пример | at+enpwrsave=1 OK | |
Примечание | Значение параметра <n> не сохраняется после выключения модуля. |
Описание | Команда выключения модуля | |
Формат | AT+CPWROFF | |
Ответ | OK или ERROR | |
Пример | AT+CPWROFF OK | |
Примечание | Не следует одновременно подавать команду и оперировать выводом ON/OFF модуля. |
Команды управления вызовом:
Описание | Команда настройки автоматического определения номера (АОН) | |
Формат | AT+CLIP=<n> | |
Параметр | <n>: 0 – АОН выключен; 1 – АОН включен | |
Ответ | OK | |
Пример | AT+CLIP=1 OK | |
Сообщение от модуля | RING | Входящий звонок (АОН отключен) |
RING +CLIP: “79XXXXXXXXX”,145,,,“”,0 | Входящий звонок (АОН включен) “79XXXXXXXXX” – номер вызывающего телефона “” – имя абонента | |
Примечание | Сообщение RING повторяется после каждого гудка |
Описание | Исходящий вызов для установления голосового соединения | |
Формат | ATD+79XXXXXXXXX; | |
Параметр | 79XXXXXXXXX – номер вызываемого телефона | |
Ответ | OK | |
Пример | ATD+79630749105; OK | |
Сообщение от модуля | CONNECT BUSY NO ANSWER NO CARRIER | Соединение установлено Занят другим сеансом связи Нет ответа Вызов сброшен |
Описание | Команда разъединения соединений (повесить трубку) | |
Формат | ATH<n> | |
Параметр | <n>: 0 – разъединить все вызовы, параметр 0 можно не указывать; 1 – разъединить исходящий вызов | |
Ответ | OK | |
Пример | ATH OK |
Команды для работы с SMS сообщениями:
Описание | Команда настройки формата SMS сообщений | |
Формат | AT+CMGF=<режим> | |
Параметр | <режим>: 0 – PDU формат; 1 – текстовый формат | |
Ответ | OK или ERROR | |
Пример | AT+CMGF =1 OK | |
Примечание | Если сообщение отправляется в PDU формате, необходимо установить кодировку UCS2 (при использовании кириллических символов), для текстового формата кодировку GSM, либо UCS2 В PDU формате, текст представлен в виде последовательности шестнадцатеричных чисел. |
Описание | Команда выбора кодировки текста | |
Формат | AT+CSCS=<chset> | |
Параметр | <chset>: “GSM” – кодировка ASCII “HEX” – кодировка шестнадцатеричными значениями “IRA” – международный справочный алфавит “PCCP437” – кодировка CP437 (IBM PC) “8859-1” – кодовые страницы семейства ISO 8859 “UCS2” – кодировка Unicode (2 байта на символ) | |
Ответ | OK или ERROR | |
Пример | AT+CSCS=“GSM” OK |
Описание | Команда чтения SMS сообщения | |
Формат | AT+CMGR=<index> | |
Параметр | <index>: номер считываемого сообщения | |
Ответ | Для текстового формата (CMGF=1): +CMGR: <stat>,<oa>,<alpha>,<scts><CR><LF><data> OK (или ERROR) Для PDU формата (CMGF=0): +CMGR: <stat>,<alpha>,<length>,<scts><CR><LF><pdu> OK (или ERROR) <stat> – статус SMS сообщения: 0 – для PDU формата, REC UNREAD – для текстового формата: входящее непрочитанное сообщение 1 – для PDU формата, REC READ – для текстового формата: входящее прочитанное сообщение 2 – для PDU формата, STO UNSENT – для текстового формата: неотправленное (исходящее) сообщение 3 – для PDU формата, STO SENT – для текстового формата: отправленное сообщение 4 – для PDU формата, ALL – для текстового формата: все сообщения <alpha> – имя отправителя <scts> – отметка времени сервис-центра в формате: год/месяц/день, часы: минуты: секунды ± часовой пояс <data> – текст сообщения в ASCII символах <length> – количество символов сообщения (для PDU формата) <pdu> – информация о SMS и текст сообщения в PDU формате | |
Пример | AT+CMGR=1 +CMGR: “REC READ”,“+79123456789”,“”,“15/11/13,14:39:35+32” GPS-START2 OK | Для текстового формата кодировка ASCII (GSM) Получено сообщение: GPS-START2 |
AT+CMGR=1 +CMGR: “REC READ”,“+79123456789”,“”,“15/11/13,14:39:35+32” 004700500053002D005300540041005200540032 OK | Для текстового формата кодировка Unicode (UCS2) Получено сообщение: GPS-START2 | |
AT+CMGR=1 +CMGR: 1,,28 07919730071111F1040B919721436587F90000511131419353020 A47E8B435A506A55419 OK | Для PDU формата специальная 7-ми битная кодировка Получено сообщение: GPS-START2 |
Описание | Команда отправки SMS сообщения | |
Формат | Для текстового формата (CMGF=1): AT+CMGS=<da><CR><text><ctrl-Z> Для PDU формата (CMGF=0): AT+CMGS=<length><CR><pdu><ctrl-Z> | |
Параметр | <da> – номер на который посылается сообщение (в ASCII символах) <text> – текст сообщения в ASCII символах <length> – количество байт сообщения в PDU формате <pdu> – информация о SMS и текст сообщения в PDU формате | |
Ответ | +CMGS: <mr> OK (или ERROR) <mr> – условный номер, присваиваемый модулем | |
Пример | AT+CMGS=“+79123456789”<CR> > Perezvoni mne<ctrl-Z> +CMGS: 2 OK | Для текстового формата Отправка сообщения “Perezvoni mne” |
AT+CMGS=27<CR> > 07919740030900F001000B919721436587F900080E 041F044004380432043504420021<ctrl-Z> > +CMGS: 2 OK | Для PDU формата кодировка Unicode (UCS2) Отправка сообщения “Привет!” | |
AT+CMGS=22<CR> > 07919740030900F001000B919721436587F900000A 47E8B435A506A55419<ctrl-Z> > +CMGS: 2 OK | Для PDU формата специальная 7-ми битная кодировка Отправка сообщения “GPS-START2” | |
Примечание | Сначала необходимо отправить команду AT+CMGS=“+79123456789”, затем дождаться приглашения в виде символов “> ” (> и пробел), после чего отправить текст сообщения. Для завершения процесса следует отправить символ <ctrl-Z> (шестнадцатеричное значение 0х1A) Кириллические символы необходимо отправлять в кодировке Unicode (UCS2), только в формате PDU. Латинские символы можно отправлять в текстовом формате с кодировкой ASCII (GSM), либо в формате PDU с кодировкой Unicode (UCS2), или при помощи специальной 7-ми битной кодировки символами ASCII |
Описание | Команда удаления SMS сообщений | |
Формат | AT+CMGD=<index>,<delflag> | |
Параметр | <index> – порядковый номер удаляемого сообщения, для удаления одного сообщения <delflag> можно не указывать <delflag>: 0 – удалить сообщение с номером <index> 1 – удалить все прочитанные сообщения 2 – удалить все прочитанные и отправленные сообщения 3 – удалить все прочитанные, отправленные и неотправленные сообщения 4 – удалить все сообщения | |
Ответ | OK или ERROR | |
Пример | AT+CMGD=1 OK | Удалить сообщение с номером 1 |
AT+CMGD=1,4 OK | Удалить все сообщения |
Отправить сообщение в текстовом формате достаточно просто, а вот в PDU формате могут возникнуть трудности. В PDU формате SMS сообщение закодировано в виде последовательности шестнадцатеричных чисел, рассмотрим подробнее структуру этого формата:
Структура принятого SMS сообщения в формате PDU.
Обозначение | SCA | PDU Type | OA | PID | DCS | SCTS | UDL | UD |
Длина, байты | 1-12 | 1 | 2-12 | 1 | 1 | 7 | 1 | 0-140 |
Структура передаваемого SMS сообщения в формате PDU.
Обозначение | SCA | PDU Type | MR | DA | PID | DCS | VP | UDL | UD |
Длина, байты | 1-12 | 1 | 1 | 2-12 | 1 | 1 | 0,1,7 | 1 | 0-140 |
SCA – номер SMS центра, DA – номер телефона на который отправляем сообщение, OA – номер телефона от которого получено сообщение. Каждое из этих полей состоит из 3-х частей:
SCA | Размер поля SCA | Тип номера | Номер |
1 байт | 1 байт | От 0 до 6 байт | |
DA, OA | Длина номера | Тип номер | Номер |
1 байт | 1 байт | От 0 до 6 байт |
Тип номера представляет собой формат номера, например, международному формату соответствует шестнадцатеричное число 91h.
Номер формируется следующим образом (для примера возьмем +79123456789): если значение количества цифр номера нечетное, то дописываем в конце символ F, затем переставляем местами каждые две цифры, получим в итоге 9721436587F9.
“Размер поля SCA” равно количеству байт, которое занимают номер и его тип, для номера это 6 байт (9721436587F9) + тип 1 байт (91), итого 7 байт (07), в результате поле SCA будет выглядеть следующим образом: 07919721436587F9.
Для полей DA, OA, “длина номера” равна количеству цифр в номере, то есть 11 цифр для номера +79123456789, в шестнадцатеричном представлении получим 0Bh, В результате поля DA, OA будут иметь следующий вид: 0B919721436587F9.
Поле SCA можно не использовать, указав вместо него значение 00h, при этом модуль автоматически возьмет номер SMS центра из СИМ карты.
PDU Type – это байт с настройками сообщения:
Бит | Название | Назначение |
7 | RP | 0 – путь для ответа не определен; 1 – путь для ответа определен |
6 | UDHI | 0 – поле UD содержит сообщение; 1 – поле UD содержит сообщение и дополнительный заголовок. |
5 | SRR | 0 – статус сообщения не запрашивается; 1 – статус сообщения запрашивается. |
4,3 | VPF | 00 – поле VP отсутствует; 01 – зарезервировано; 10 – поле VP содержит время жизни сообщения в относительном формате; 11 – поле VP содержит время жизни сообщения в абсолютном формате. |
2 | RD | 0 – сервисному центру следует переслать сообщение получателю, если оно имеет те же значения полей MR и DA, что и предыдущее сообщение; 1 – сервисному центру следует отклонить сообщение, если оно имеет те же значения полей MR и DA, что и предыдущее сообщение. |
1,0 | MTI | 00 – если сообщение принято или подтверждение приема; 01 – если сообщение отправляется или подтверждение отправки; 10 — отчет о доставке или SMS-команда; 11 — зарезервировано. |
Для успешной отправки сообщения, поле PDU Type в общем случае может иметь значение 01h (00000001). Поле MTI равно 01, это указывает что сообщение исходящее. Поле VPF равно 00, для упрощения, чтобы исключить поле VP из PDU сообщения. Для принятого сообщения поле MTI, как правило, равно 00.
MR – порядковый номер сообщения, определяется модулем. Для передачи сообщения необходимо установить значение 00h.
PID – идентификатор протокола. Для передачи сообщения необходимо установить значение 00h.
DCS – кодировка текста сообщения:
00h – кодировка 7-бит (символы ASCII, только латинские);
04h – кодировка 8-бит (символы ASCII, только латинские);
08h – кодировка Unicode (UCS2), используется 2 байта на символ;
10h – кодировка 7-бит, сообщение выводится сразу на экран;
14h – кодировка 8-бит, сообщение выводится сразу на экран;
18h – кодировка Unicode (UCS2), сообщение выводится сразу на экран.
Специальная 7-ми битная кодировка представляет собой сжатый вид 8-ми битной кодировки. В ASCII таблице каждый символ занимает 1 байт (8 бит), но латинские символы занимают только 7 бит, самый старший незначащий бит равен нулю. Исходя из этого, придумали метод сжатия данных, в котором этот старший бит тоже используется, то есть биты ASCII символов перераспределяются таким образом, чтобы занять все старшие свободные биты. Для 8-ми битной кодировки в одно SMS сообщение помещается 140 символов, а при 7-ми битной кодировке 160. Для этих кодировок можно использовать только латинские символы, для кириллических символов необходимо использовать кодировку Unicode (справедливо и для латинских символов), где каждый символ кодируется 2-мя байтами, в одно SMS сообщение при этом поместится 70 символов.
VP – время жизни сообщения, необходимо для центра SMS сообщений, по истечении этого времени сообщение удаляется, если оно не получено абонентом. Как было сказано выше, чтобы упростить PDU сообщение, поле VP можно исключить, установив значение VPF равным 00, в поле PDU Type.
SCTS – время получения сообщения SMS центром, может отсутствовать.
UDL – значение длины поля UD в байтах, то есть размер текста сообщения.
UD – текст сообщения.
Рассмотрим пример отправляемого сообщения “Привет” в PDU формате:
AT+CMGS=27
07919740030900F001000B919721436587F900080E041F044004380432043504420021
Число 27 после названия команды (CMGS) означает, что длина PDU сообщения без учета поля SCA равна 27 байт.
07919740030900F0 – закодированный номер SMS центра (+79043090000);
01 – байт с настройками PDU сообщения (PDU Byte);
00 – порядковый номер сообщения (MR);
0B919721436587F9 – закодированный номер, на который отправляем сообщение (+79123456789);
00 – идентификатор протокола (PID);
08 – кодировка текста сообщения (DCS), кодировка Unicode (UCS2);
0E – длина текстового сообщения (UDL), 14 байт.
041F044004380432043504420021 – текст сообщения (UD), “Привет”.
Как было сказано выше, поле SCA с номером SMS центра можно исключить из PDU сообщения, указав вместо него значение 00, модуль автоматически возьмет номер из СИМ карты.
Данный модуль также поддерживает пакетную передачу данных GPRS, то есть можно организовать связь с удаленным сервером, выход в интернет. В статье GSM модуль NEOWAY M590 – GPRS команды приведено описание GPRS команд и способы передачи данных на сервер. На базе модуля совместно с микроконтроллером можно разрабатывать различные охранные устройства, системы сбора информации и т.д. Полный список команд на модуль можно найти в даташите приведенный в архиве в конце статьи, также в архиве присутствует книги и документы по AT командам. На основе этого модуля я разработал GPS GSM трекер, подробнее в статье GPS GSM трекер.
Даташит на GSM/GPRS модуль NEOWAY M590, документы по AT командам
Печатная плата GSM модуля Neoway M590 с обвязкой, в формате Sprint Layout 6
kysin
26 Ноя 2015Я ввожу эту команду: AT+CMGS=
Но после нажатия ctrl-Z выскакивает ERROR.
Может еще какие то настройки не выполнил?
И еще вопрос. Как Вы вводите ctrl-Z в программе Terminal v1.9?
admin
26 Ноя 2015Если вы собираетесь отправлять SMS в текстовом виде и латинскими символами, сначала надо настроить формат сообщений командой AT+CMGF=1$0D (1=текстовый формат, $0D это возврат каретки в программе Terminal v1.9, ну то есть символ), потом настраиваем кодировку текста сообщения командой AT+CSCS=”GSM”$0D (GSM – кодировка ASCII). Далее вводим команду для отправки сообщения: AT+CMGS=”+79XXXXXXXXX”$0D (+79XXXXXXXXX – номер абонента кому шлем SMS), после этого модуль выдаст приглашение в виде символов > (> и пробел), далее вводим текст сообщения в конце которого вводим символы $1A (то есть символ ctrl-Z), тем самым говоря модулю что сообщение окончено, после этого в случае успеха модуль выдаст сообщение +CMGS: и OK.
kysin
26 Ноя 2015У меня выдается ошибка на этапе настройки кодировки текста сообщения командой AT+CSCS=”GSM”$0D
admin
26 Ноя 2015А как вы вводите символ ” ? если копируете со страницы сайта, то он будет неверным, наберите этот символ на клавиатуре в терминале, символ выглядит как две короткие вертикальные линии
kysin
26 Ноя 2015Заменил символы. Второй этап прошел успешно. Но на последнем, после ввода текста сообщения и символа $1A выводится ошибка.
kysin
26 Ноя 2015Отправил в тексте смс только латинские буквы, смска отправилась и дошла до адресата!!! Спасибо огромное за помощь!
Но, почему-то не ушла смска содержащая только цифры.
admin
26 Ноя 2015в текстовом формате можно отправлять только латинские символы, это несколько раз упоминается в статье, цифры тоже должны отправляться, кстати я сам не пробовал отправлять чисто цифры, только символы вместе с цифрами.
kysin
26 Ноя 2015Наблюдается некая нестабильность работы. Пропадает сеть. Может и ошибки по этой причине. Буду дальше ковырять. О результатах отпишусь.
Алексей
29 Ноя 2015здравствуйте, не могу разобраться, только осваиваю программирование в целом, хочу сделать gsm сигнализацию ,приобрел это чудо, отправлять смс, получать звонки научился, а как читать смс понять не могу, имею arduino nano и m590.
1. можно читать сообщение только под определенным номером? т.е.
Формат AT+CMGR=
Параметр : номер считываемого сообщения.
2. как это вообще оформить в ардуино…
т.е. я понял надо в setup задать режим кодировки и формата текста. а в loop уже начинать читать сообщение?
спасибо огромное, очень жду вашего ответа сенсей)
admin
29 Ноя 2015С помощью команды AT+CMGR=index можно считывать только определенные сообщения, но есть и другая команда для чтения группы сообщений: AT+CMGL=index
index:
0 или “REC UNREAD” – прочитать принятые (непрочитанные) сообщения;
1 или “REC READ” – прочитать принятые (прочитанные) сообщения;
2 или “STO UNSENT” – прочитать сохраненные (неотправленные) сообщения;
3 или “STO SENT” – прочитать сохраненные (отправленные) сообщения;
4 или “ALL” – прочитать все сообщения;
Я ардуино не программирую, так что подсказать ничего не могу…
Алексей
29 Ноя 2015т.е. если я ему введу команду AT+CMGL=“REC UNREAD” в ответ должен получить что то типа “AT+CMGR=1
+CMGR: “REC UNREAD”,”+79123456789″,””,”15/11/13,14:39:35+32″
ON1
OK
“ON1” – это если я послал на модуль смс с текстом ON1 c номера +79123456789?
admin
29 Ноя 2015отправив команду AT+CMGL=“REC UNREAD”, модуль выдаст все непрочитанные сообщения по порядку
kysin
30 Ноя 2015Почему-то модуль не всегда регистрируется в сети, поэтому часть команд не воспринимает, сообщает об ошибке. Но когда регистрируется в сети, то смски отправляются нормально. И цифры и латиница.
Спасибо за помощь!
Буду дальше его осваивать. О результатах сообщу.
admin
30 Ноя 2015Попробуйте СИМ карту другого оператора, может в этом дело, проверьте конденсатор по цепи питания, емкость должна быть не менее 1000 мкФ
oleg
2 Дек 2015Добрый день.
Будет очень интересна статья про пакетную передачу данных GPRS.
Пишите еще.
Алексей
4 Дек 2015поддерживаю, gprs вообще отлично было бы по AT командам.
Олег
17 Дек 2015Огромное спасибо за инфу. Собираюсь сделать проект для контроля температуры на даче, чтоб я отправлял команду в смс на дачу, на ардуино и обратно получал смс с температурой. Скетч для термодатчика с помощью ютуба написал, залил и он работает. Скиньте пожалуйста ссылку на библиотеку для модуля NEOWAY M590 и помогите со скетчем, укажите хотя бы направление в какой структуре писать. Заранее огромное СПАСИБО.
Алексей
17 Дек 2015http://forum.amperka.ru/threads/sms-модуль.5658/page-2 это на ардуино скетч для отправки и получения смс
queit
1 Янв 2016Доброго времени суток.
Имеется ли схема объвязки для ЛУТ? если есть, то поделитесь, пожалуйста.
admin
1 Янв 2016Печатную плату выложил в конце статьи, она под смд элементы
queit
2 Янв 2016Спасибо 🙂
dwk
19 Фев 2016День добрый уважаемый админ.Я новичок, так что прошу строго не судить))) Купил данный модуль…завел питание, подключил. В итоге – звонок проходит, закачал скетч тут. В итоге -модуль начал реагировать только на скорости 115200…в итоге в com порте сообщения от модуля приходят с ошибками (есть непонятные символы) определение номера по скетчу также работает с ошибками…(1-2 цифры ошибочны)..в общем работа не стабильная((( Поэтому прошу помощи и ответов на вопросы:
1.У всех модулей такого типа можно поменять скорость?Или мне попался такой экземпляр где четко фиксированная скорость в 115200?
2.Как подключить модуль и ардуину к программе Терминал? (кабаля у меня нет)
3.Что ещё можно сделать для налаживания работы капризного модуля?
Заранее благодарен.
admin
19 Фев 2016У всех модемов скорость можно менять командой AT+IPR=9600 (9600 Бит/сек). Данная скорость автоматически сохраняется после отключения питания. Вам необходимо предварительно настроить скорость модема в соответствии со скоростью указанной в скетче (я не программирую Arduino, но предполагаю что в скетче нет автоматической подстройки скорости). Для предварительной настройки модуля необходимо подключить его к компьютеру через стандартный преобразователь USB-COM, и в программе Терминал подобрать скорость при которой от модема будут приходить правильные ответы, а затем изменить скорость на нужную.
dwk
19 Фев 2016Да,забыл уточнить – модуль вот такой (немного отличается от Вашего)http://ru.aliexpress.com/item/GPRS-SIM900-GSM-SMS-GPRS-communication-flip-card-slot-replace-SIM900-Through-extension-module/32475525911.html?spm=2114.03010208.3.19.zHwSis&ws_ab_test=searchweb201556_3,searchweb201644_2_505_506_503_504_301_502_10001_10002_10017_10010_10005_10011_10006_10012_10003_10004_401_10009_10007_10008,searchweb201560_3,searchweb1451318400_-1,searchweb1451318411_6451&btsid=d38b5b7d-c74a-4db3-b745-691f36edb9c9
dwk
19 Фев 2016Благодарю за оперативный ответ!Про скорость в скетче Вы абсолютно правы(там нет подстройки).
Буду пробовать.По результату-отпишусь.
dwk
19 Фев 2016Аллилуя! Получилось! Перевел модуль на 9600!!! Бился почти неделю-ключ был в том, чтоб отключить питание для запоминания скорости!! Спасибо!!!!!
Олег
20 Фев 2016Всем спасибо!
Валерий
29 Фев 2016Повторяю плату. Стал смотреть, куда какой элемент и обнаружил несоответствие с принципиальной схемой. Конденсатор С3 на схеме между Е и К VT2, а на плате от 18 вывода на землю. Как правильно?
admin
29 Фев 2016На схеме ошибка (позже исправлю, ошибка не критичная), конденсатор C3 подключается к 18-у выводу модуля, на печатной плате все правильно.
Валерий
29 Фев 2016Спасибо, а то уже плату сделал, паять начал.
gaudin
2 Мар 2016От внешнего питания не хочет отправлять смс, при подключении к компьютеру все работает arduino nano
admin
2 Мар 2016Просто выдает ошибку? или что то другое?
gaudin
2 Мар 2016Разобрался, была не правильная кодировка текста.
Артем
7 Мар 2016Здравствуйте, помогите пожалуйста. NEOWAY M590 “общается” со мной через монитор порта ардуино иероглифами. Например когда я дозваниваюсь на NEOWAY монитор пишет ä такой символ.
admin
7 Мар 2016Скорость UART не совпадает скорее всего, с помощью команды AT+IPR=9600 (где 9600 Бит/сек скорость передачи данных по UART) необходимо выставить скорость порта на модуле.
Артем
8 Мар 2016Большое спасибо!!! Все работает.
Денис
28 Мар 2016Благодарю за статью. Пока ещё холодно, собрал на скорую руку всё в комок, запихал в асбоцементную трубу (кроме антенны), подключил к электро – котлу на даче. Теперь просто звоню и включаю отопление за пару дней до “пикника” Тестяга флян коньяку выкатил! Ещё раз – спасибо!!!
alex
3 Апр 2016Оператор Киевстар – Украина. Команда дозвона atd+0932298823; дает ошибку. Модуль запускается только тогда, когда держу влажными пальцами(не мокрыми) за вывод boot.
Почему так???
admin
3 Апр 2016Команду ATD набирайте прописными буквами, если набираете в программе Terminal v1.9b by Bray необходимо добавить в конце $0D (ATD+0932298823;$0D), если не помогло попробуйте убрать символ + (ATD0932298823;$0D), или поставить пробел вместо + (ATD 0932298823;$0D).
Что за вывод boot? Для устойчивого запуска, удерживайте низкий логический уровень на выводе 19 модуля (ON/OFF) или высокий логический уровень на базе транзистора VT1, если он имеется в цепи запуска, бывает что после запуска с помощью короткого импульса через некоторое время модуль выключается, вывод ON/OFF чувствителен к помехам (чем больше длина линии тем выше вероятность отключения). Поэтому вместо короткого импульса лучше удерживать логический уровень, просто замкнуть вывод ON/OFF на общий провод.
Ilyaul
11 Май 2016В некоторых разновидностях модуля вывод ON/OFF выведен на линейку как BOOT/ Просто замкнуть его на землю и модуль включится.
Вася
18 Июн 2016GND
alex
4 Апр 2016Большое спасибо. Заработал, как только я посадил на ноль boot и набрал команду atd0679735581;
Максим
12 Апр 2016У вас ошибка в команде включения и отключения эха, пропущен символ “E”
ATE1 – включить эхо;
ATE0 – отключить эхо.
admin
12 Апр 2016Ошибку исправил, спасибо.
Артак
17 Апр 2016Есть такая хорошая АТ команда, ATD>1; позвонить по 1 номеру из сим карты,
Скажите пожалуйста есть команда который отправит смс на номер 1 из сим карты
admin
17 Апр 2016Мне не известна такая команда, но попробуйте посмотреть в книге по AT командам, которая приведена в конце статьи.
Максим
17 Апр 2016Я читаю первый номер из симки, и потом на него отправляю смс. Но если такая команда есть, то тоже буду рад.
Артак
18 Апр 2016Я читаю первый номер из симки, и потом на него отправляю смс.
Скажите пожалуйста КАК??
Максим
19 Апр 2016AT+CPBR=1
Читаем первую запись из телефонной книги, парсим номер, сохраняем в символьную переменную.
А затем подставляем символьную переменную в команду отправки смс.
Скажу сразу – с Ардуино я не работаю, пользую CVAVR.
Для начала рекомендую подключить модуль по UART к ккомпьютеру, и вручную погонять команды. Как начнет получаться – пробуйте вместо себя заставить контроллер это делать.
Артак
20 Апр 2016Я тоже работаю на CVAVR, printf(“AT+CPBR=1\r”); А потом не знаю что сделать?
Если не трудно можно посмотрет source code на cvavr, или на мейл artakas@list.ru. заранее большое спасибо.
Артак
20 Апр 2016Скажите пожалуйста как <> ??????
Artak
20 Апр 2016Скажите пожалуйста как ??????
парсим номер_как???
Денис
1 Май 2016У меня так:
char i;
char telefon[12]={”,”,”,”,”,”,”,”,”,”,”,”};
char a;
char UDP_telefon[12]={”,”,”,”,”,”,”,”,”,”,”,”};
void read_nomer(void){
char i = 0;
puts(“AT+CPBR=1\r”);//читаю первый номер с симки (ответ: +CPBR: 1,”8920679хххх”,129,”0410″)
for (i=0;i<22;i++) {//ищу кавычку
telefon[a] = getchar();
if(telefon[a]=='"'){
goto m1;};
};
m1:
for (i=0;i<11;i++) {//считываю то,что после кавычки – номер телефона
telefon[a] = getchar();
a++;
};
a = 0;
UDP_telefon[0] = telefon[1];//преобразую номер в UDP-формат
UDP_telefon[1] = telefon[0];
UDP_telefon[2] = telefon[3];
UDP_telefon[3] = telefon[2];
UDP_telefon[4] = telefon[5];
UDP_telefon[5] = telefon[4];
UDP_telefon[6] = telefon[7];
UDP_telefon[7] = telefon[6];
UDP_telefon[8] = telefon[9];
UDP_telefon[9] = telefon[8];
UDP_telefon[10] = 'F';
UDP_telefon[11] = telefon[10];
}
Андрей
17 Апр 2016Прошу помощи подружить этот модуль с arduino pro micro (leonardo) Rx, Tx у нее 5 вольт. Rx модуля согласованна по указанной выше схеме. питание обоих от батареи 3.7 масса общая+ ардуинка через usb.
Денис
20 Апр 2016Мой совет – научитесь с начала мыргать светодиодом
Денис
29 Апр 2016Ахтунг для тех,кто добрался до подключения модуля к уарту микроконтроллера! Команды putchar(),puts() и т.п из библиотеки stdio.h не подходят,потому что втыкают в конец вашей команды модулю не видимый символ ‘0’.Так что нужно управлять регистрами уарт модуля руками,ну или использовать программный уарт.И еще не приятный момент.Модуль не умеет звонить,вернее команду он выполняет,набирает номер и выдает сообщение no carrier.Жаль,хотел сделать автосигу с автозапуском,а тут такой сюрприз!
admin
29 Апр 2016Модуль умеет звонить, я проверял у себя, в комментариях выше у пользователя alex тоже были проблемы, но в итоге модуль начал звонить.
Денис
29 Апр 2016Тот самый boot у меня изначально на земле. Посылаю команду ATD+7xxxxxxxxxx$0D, модуль говорит OK, а через секунду NO CARRIER. Может команду как-то изменить,сейчас его нет под рукой… С СМС всё в порядке и РУС и ЛАТ.
admin
29 Апр 2016Попробуйте позвонить на разные номера, если не получается может проблема кроется в сим карте, например включена услуга запрет вызовов или еще что нибудь в этом роде. Попробуйте поставить другую сим карту.
Денис
29 Апр 2016Спасибо за совет, попробую на днях, модуля нет под рукой…
artak
1 Июл 2016printf(“ATE1\r\n”);
Максим
29 Апр 2016Подтверждаю – модуль звонит.
По UART – пользуйтесь готовыми библиотеками! Допустим, библиотекой кольцевого буфера от Паши Бобкова:
http://chipenable.ru/index.php/programming-avr/item/44-uchebnyy-kurs-organizatsiya-obmena-po-usart-u-s-ispolzovaniem-koltsevogo-bufera.html#comment-3357
Денис
29 Апр 2016Заработали звоночки! я сам не внимательный – после номера точку с запятой не ставил!
ATD можно писать хоть так, хоть прописными.
Виктор С
7 Фев 2018Привет, не подкинете свои наработки по отправке смс на номер из сим карты?? Спасибо
ShadS
6 Май 2016Классная статья, спасибо, очень пригодится….
Попробую тоже побаловаться с данными модулями, пришли недавно 4 комплекта…
Ilyaul
12 Май 2016Спасибо , за статью!
Посылаю на модуль SMS , он ее получает , но выдает в зашифрованном виде “специальная 7-ми битная кодировка”. Не нашёл в командах , как заставить его выдавать текст не зашифрованный.
Текст – латиница. Подскажите.
admin
12 Май 2016Надо выбрать кодировку текста командой AT+CSCS=”GSM”
Ilyaul
12 Май 2016Спасибо ! Попробую , хотя считал , что это только для отсылки SMS c модуля.
Ilyaul
22 Май 2016AT+CLIP=1 – работает. Хорошая команда.АОН
Ilyaul
22 Май 2016AT+CSCB=1, прием широковещательных сообщений. Это та гадость, через которую сейчас срут все операторы. Эта команда исправляет их ошибку
admin
30 Май 2016Добавлена новая статья про GPRS команды модуля https://radiolaba.ru/microcotrollers/gsm-modul-neoway-m590-gprs-komandyi.html
Денис
10 Июн 2016Спасибо за столь развернутый и доходчивый материал. Скажите, в команде удаления у вас опечатка? Формат AT+CMGS=,, а в примере AT+CMGD=1. CMGS и CMGS.
Спасибо
Денис
10 Июн 2016сам опечатался CMGS и CMGD
admin
10 Июн 2016да, опечатка, правильно AT+CMGD, сейчас исправлю, спасибо.
Денис
10 Июн 2016Спасибо. Кстати, команда ATH почему-то через раз срабатывает. Как лучше выкрутиться, дублировать ее, или что подскажете? Просто по событию RING у меня смс в ответ отправляет, а если связь не разрывается, то череда смсок летит.
admin
11 Июн 2016А что именно происходит когда команда не срабатывает, какие сообщения выдает модуль при этом? У меня например команда ATH всегда четко срабатывала.
Денис
11 Июн 2016Уже решил. Проблема была с местом данной команды в скетче, по ходу порт был занят подготовкой смс и через раз принимал команду.
Денис С.
29 Июн 2016Никто с командой “AT+CNMI=0,0,0,0,0” не задавался вопросом? Даташит рекомендует “Suggested to set to +CNMI: 2,1,0,0,0 or +CNMI: 2,2,0,0,0.”
У меня на входящие СМС вывод RING молчит, с вызовами работает…
admin
29 Июн 2016Я когда-то пробовал вводить эту команду, для включения оповещения об SMS я отправлял команду AT+CNMI=2,1,0,0,0
При поступлении SMS модуль выдает сообщение типа: +CMTI: “SM”,n где n-номер сообщения
Кроме этого на линии RING появляется однократный короткий импульс
Денис С.
29 Июн 2016Именно этого импульса и не хватает микроконтроллеру, что б выполнить прилетевшую по смс команду, буду попробовать, по результату отпишу
admin
30 Июн 2016напомню, что активный уровень линии RING низкий, в нормальном состоянии на линии высокий логический уровень (2,85 В). Можно подтянуть линию RING к линии VCCIO модуля, через резистор 10 кОм, хотя думаю будет работать и без этого.
Денис С.
1 Июл 2016Да, теперь есть этот импульс! Работает и без подтяжки, она внутри контроллера включена. Спасибо!
Роман
2 Июл 2016При включении в терминале иероглифы. И CTS,DSR,CD и RI не горят зеленым цветом как у вас на скриншоте.
Ilyaul
2 Июл 2016Скорость USART поправь
Роман
2 Июл 2016Спасибо большое!
Денис С.
17 Июл 2016Приветствую. Закидал модуль СМС-ками, теперь он говорит “Абонент вне зоны действия сети”, видимо он завис… А как это должен понять микроконтроллер, что бы передёрнуть вывод EMERGOFF?
Денис С.
17 Июл 2016Наверное нужно запустить таймер, и скажем, через каждые 5 минут опрашивать модуль командой AT+CPAS, и если там не 0 (готов к работе) или не 5 (спящий режим) – то дёргать EMERGOFF, так ли рассуждаю?
admin
18 Июл 2016Можно и так, по идее если модуль завис, то он не будет отвечать на любые команды, можно время от времени отправлять простую команду AT, на которую модуль должен ответить OK.
Ilyaul
20 Июл 2016Ну и SMS периодически удаляй из памяти
Ст.Николов
20 Июл 2016а не подскажете как можно сделать прерываний в управляющем устройстве
“….линии RING появляются импульсы….Данную линию можно использовать для генерации прерываний в управляющем устройстве.”
Ilyaul
20 Июл 2016Заводишь на вход внешнего прерывания управляющего устройства и ……
Ст.Николов
20 Июл 2016ето я и имел ввиду – не знаю какое устройство… что за устройство можно използувать … для прерывания
Ilyaul
20 Июл 2016Intel,AVR,ST,Microchip и ещё большая кучка фирм производящие микроконтроллеры . Боюсь спросить , Вы знаете что такое Cи , asm ?
Ст.Николов
20 Июл 2016У меня все хорошо с C и asm , но с электроники плохо. (как и с русском – это не мой родной язык, так что не судите строго)
Я хочу, чтобы иметь возможность перезапустить какое-то устройство с помощью этого модуля
мне нужно, к примеру, когда я позвоню, чтобы включить реле, которое будет прерывать питание оборудования, которое находится очень далеко , чтобы перезапустить его и все …
Лучший вариант будет если подскажите примерная схема с какого-то микроконтроллера
Ст.Николов
20 Июл 2016я понимаю что примерно ардуино + релемодул + модем и включай реле сколько хочешь, но реч идет в използувание RING pin, так что можно ли с етого пина подавать “сигнал” на Ардуино примерно ?
Максим
20 Июл 2016Можно. К сожалению, я не программирую в Ардуино, работаю с CodeVisionAVR напрямую с контроллером.
Например, используя Atmega8535, подключаем сигнал RING к входу прерывания INT0 (PD2).
В процедуре инициализации сообщаем контроллеру, что мы ожидаем низкий уровень сигнала
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Falling Edge
// INT1: Off
// INT2: Off
GICR|=0x40;
MCUCR=0x02;
MCUCSR=0x00;
GIFR=0x40;
В начале программы помещаем обработчик прерываний
// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{
// Place your code here
counter++;
}
После этого с каждым звонком переменная “counter” будет увеличиваться на единицу. А дальше делайте с ней что вам угодно.
Процесс применительно к CVAVR расписан тут
Буду рад, если помог вам.
Максим
20 Июл 2016Вы изложите в 3 фразах чего вы хотите достичь, и с помощью чего. Аппаратное прерывание легко реализуется на всех микроконтроллерах, но надо знать куда вас направить.
Константин
8 Авг 2016схема собрана так
вывод GRD с платы модуля подпаял на вывод 5 разъема DB9, вывод ring на 9, Tx на 2й, Rx на 3й, и вывод Boot подпаял так же на 5й контакт разъема
пробовал менять местами tx и rx в результате даже ноль не получаю что в общем и логично, т.е. схема собраны как бы верно, остается три варианта, неисправность модуля, проблема в шнурке и третий вариант проблема по
admin
8 Авг 2016то есть вы подключили модуль напрямую к COM порту компьютера? там же уровни сигналов +12В и -12В, причем логика инвертирована, модуль и не будет работать, и к тому же может выйти из строя. Нужно использовать переходник USB-COM.
Максим
8 Авг 2016Да нет, не может такого быть, чтобы взять вот так и напрямую воткнуть модуль в комп… Это гарантировано его спалить, там даже 5,5 вольт опасно на выводы подавать, недаром в питании пол вольта всегда диодом гасят.
Константин
8 Авг 2016так же как и все использовал переходник
комментарии ниже должен быть первым ) он еще ждет модерации. но из -за ссылок на карт хостинге ваш сайт комментарий не пропустил, чего я не сразу заметил, ниже ссылки на фотографии и скриншоты
Константин
8 Авг 2016вот часть текста без ссылок
Здравствуйте.
возникла проблема на этапе инициализации устройства, переходник USB-COM использовал мохавский, на шнурке при включении горит светодиод RxD что намекает на то что какие то данные от gsm модуля идут но дойти ни как не могут ) на терминате в момент инициализации получаю [0] [любой символ] [0], при передаче любой команды ответ [0]. помогите пож. разобраться, другой шнурок придет только через месяц, да и не факт что дело в шнурке(
Максим
8 Авг 2016Схему подключения увидеть как-то можно? Смущает “подпаял на вывод 5 разъема DB9”
Константин
8 Авг 2016Максим
ссылки ждут модерации без нее вы не увидите схему подключения
Максим
8 Авг 2016А что это за переходник такой “мохавский”? На терминале скорость попробуйте переключать. Там при неправильном выборе кракозябры пойдут в окно приема. Неискушенным становится не по себе )))
Константин
8 Авг 2016перепровбовал все настроки даже те которые никак не должны влиять на прием/передачу
нужно ждать когда администратор поглядит мои ссылки, он не обратил внимание на то что комментарий ждет модерации(
все это гадание на кофейной гуще нужны фоты а их нет пока админ не глянет )
Константин
8 Авг 2016переходник MOXA латинские буквы в народе моха
Максим
8 Авг 2016Я, видимо туго соображаю сегодня (жара у нас). Если судить по результатам поиска, МОХА этот не просто переходник, а согласователь уровней и эмулятор COM-порта для ноутбуков? Т.е. вы в комп втыкаете шнурок USB, у вас появляется порт COM5, допустим. Потом вы к разъему DB9, т.е. уже к полноценному физическому COM-порту напрямую подключаете ноги чипа? Если так, то у вас гарантированно ничего не заработает.
Вот что вам надо, или на PL2303
картинка переходника
admin
8 Авг 2016Картинки Константина выложил, как я понял МОХА это преобразователь USB – RS232, он не годится для модуля, модуль не может работать напрямую с интерфейсом RS232, я писал выше что уровни напряжения в этом интерфейсе могут достигать +12В и -12В, и логика инвертирована, то есть -12В это лог “1”, +12В лог “0”.
Нужен преобразователь USB-COM где уровни напряжения ответствуют стандарту TTL (+5В, 0В), кроме этого как в схеме из статьи нужна обвязка (диод VD2 ) по входу RX модуля, чтобы не допустить перенапряжения.
Максим
8 Авг 2016Ровно то же, но другими словами. То, что на картинке, работать не будет 100%
Нужен вот такой
Константин
8 Авг 2016Спасибо за разъяснения.
Максим вы нормально соображаете, на этот счет не волнуйтесь )
ну судя по тому что модуль отвечает пусть даже и нулем то ничего не сгорело, светодиод по прежнему моргает в 1 гц ) буду ждать переходника
Максим
8 Авг 2016Я не волнуюсь, но – спасибо за заботу.
Поищите у кого-то “за просто так” шнурок к телефону, постарше. Самсунги были в этом отношении молодцы, у них TTL-логика была у целой серии телефонов выведена на разъем. Но уровни были или инвертированы, или как-то зашифрованы. Рецепт очень простой: срезаем резину с разъема, снимаем с платки все, что кроме самого чипа USB-TTL, и припаиваем проводники прям к выводам микросхемы. А их – уже к чипу GSM. И в термоусадку все. Пару десятков кабелей так сделал, пока не пошли косяком от китайцев переходники по цене навоза.
И не факт, что ваш чип исправен, то что он мигает еще не говорит об исправности входных и выходных сигнальных цепей. 12-ю вольтами их испортить можно легко.
admin
8 Авг 2016Кстати уровни RS-232 можно привести к TTL с помощью 2-х транзисторов + резисторы, как в этой статье https://radiolaba.ru/microcotrollers/podklyuchenie-mikrokontrollera-k-pk.html
Максим
8 Авг 2016Именно так устроен программатор “PonyProg”, но у него нет на ПК COM-порта, как я понял.
admin
8 Авг 2016Зачем COM порт, у него преобразователь выдает полноценный RS232, так что к нему и можно приделать схемку согласования
Константин
8 Авг 2016а в цепи коллектор-эммитер 361го разве не нужен резистор?
admin
8 Авг 2016Нет, не нужен, при лог. “1” на базе транзистора он закрыт, линия RX при этом притянута к общему проводу (Gnd) резистором, что означает лог “1” для интерфейса RS232. При подаче лог. “0” на базу, транзистор открывается и на линии RX появляется +5В, что соответствует лог. “0” для интерфейса RS232.
Максим
8 Авг 2016Не успел написать, примерно то же самое.
Михаил
11 Авг 2016Добрый день. Подскажите такой вопрос плиз. Включаю модуль M590e без симки и БУТ на землю сажу. АТ-команды принимает. Вставляю симку любую и модуль постоянно перезапускается. Пишет стартат циклично. Один раз только был написал что стартанул PEREADY вроде и сразу перезапуск. Запросил статус регистрации в сети – +CREG: 0,3. То есть поиск сети…. Подскажите что может быть не так….?
Михаил
11 Авг 2016если без симки запускаю то работает от короткого импульса на БУТ ножке. А с симкой не хочет…..
admin
11 Авг 2016Возможно питание слабое, блок питания должен обеспечивать ток не менее 1,5-2А, кто-то запитывает от USB порта компьютера, который не способен обеспечить достаточный ток для запуска модуля. И обязательно наличие конденсатора по питанию не менее 1000мкФ.
Михаил
12 Авг 2016у меня 12 В 1 А заходит на кренку 7805. На входе 330 мФ. На выходе где 5 вольт 1000 мФ кондер. Должно хватать вроде? Я сейчас осциллографом гляну еще. …
Михаил
12 Авг 2016по осциллографу на SIMCLK импульс не прямоугольные, а закругленные….. Частота 3.27 МГц. Это наверно правильно…..теперь и незнаю что делать. EMERGOFF – при перезапуске на ней появляется низкий лог уровень кратковременно….. То есть почемуто аварийный перезапуск.
admin
12 Авг 2016Подключите модуль к более мощному блок питания (2А), все таки это может повлиять на включение. При включении модуля вывод ON/OFF лучше удерживать на низком лог. уровне, то есть на GND. Если проблема останется, то скорее всего неисправен модуль.
Михаил
12 Авг 2016Попробую блок питания поменять. Пока нет 5 вольт 2 А. Но думаю модуль рабочий. Он же все АТ команды выполняет….. Вот даже Get SIM card Identification:+CCID – выполняет между перезагрузками….. Модуль я купил как надор для самостоятельной пайки. На готовую зеленую плату всё впаял правильно…. Буду разбираться еще…..
artak
12 Авг 2016думаю что neoway М590Е и neowayМ590 разные, купил 5 штук M590E, не один не работает, А вот М590 без проблем, даже цена у них разные, М590 дороже
Михаил
12 Авг 2016Разобрался. Антенна которая в комплекте похоже не рабочая что ли….. Пальцем прижимаю разъем для внешней антенны и модуль запускается, звонит, принимает звонки… Буду искать антеннку внешнюю…
Серж
9 Окт 2016такое ощущение что модем при соединении отключается! Что может быть?
Антенный вход и сама антенна должна на землю звониться?
Серж
9 Окт 2016то есть индикатор не мигает АТ молчит
admin
9 Окт 2016Сопротивление между антенным входом и общим проводом низкое, менее 1 Ом. При каком именно соединении модем отключается? при звонке, регистрации в сети?
Линию включения модема удерживайте на низком уровне, просто замкните с общим проводом, если линия болтается в воздухе, возникают ложные срабатывания и модем может отключаться.
Серж
11 Окт 2016при регистрации сети
Серж
11 Окт 2016линию включения замкнул на землю. теперь при регистрации перезапускается
admin
11 Окт 2016Скорее всего проблемы с питанием, блок питания должен обеспечивать ток не менее 1,5А, бывает кто-то запитывает с USB порта компьютера, этого делать не стоит, там ток недостаточный. И конденсатор по питанию должен быть не менее 1000 мкФ.
Серж
11 Окт 2016кондер 1000мкф питание 5в 2А зарядка от сотого
admin
11 Окт 2016Попробуйте найти другой блок питания, эти зарядки для сотовых не внушают доверия, могут и не выдавать ток указанный на этикетке. Или запитайте от 3 последовательно соединенных пальчиковых батареек (1,5В), только не используйте полудохлые, иначе тоже не хватит тока.
Сергей
17 Окт 2016модуль работает ,но не видит ни одну сику, заменил симки на новые проблема не снялась модуль не видит симку.
MODEM:STARTUP
at+xbandsel?
+XBANDSEL: 900,1800
OK
at+cops?
ERROR
AT+CREG?
+CREG: 0,3
OK
AT+CPAS
+CPAS: 1
OK
admin
17 Окт 2016Проверьте напряжение питания СИМ карты, на линии SIMVCC модуля (14 вывод), там должно быть 3В или 1,8В, также проверьте резистор (на схеме R9, 4,7кОм) между выводами Vcc и I/O СИМ карты, и целостность линии до 11 вывода модуля (SIMIO).
Может быть имеются проблемы с антенной?
Сергей
8 Ноя 2016Перепробовал 5 симок, получены 2 года назад. на 1 модем зарегистрировался в сети. но симка не моя. Заменил свои симки на новые 09.2016, но модем не видит новые симки. Напряжение на симкурие (вывод 14 ) есть, но с RST и CLK не появляется. Нет проблемы с антенной, при рабочей симке послал 6 SMS. Версия прошивки 1103_C6C30000_V0130d. Те же проблемы и с прошивкой 1103_C6C30000_V0120d Может можно перепрошить модуль? Где взять прошивку и как прошить?
Виктор
18 Окт 2016Здравствуйте, у меня ситуация аналогичная с теми, что ранее столкнулись Михаил с Серж. Ни с того ни с сего стал перезагружаться модуль SIM900. Питание на него подаётся через кренку, на входе и выходе которой стоят электролиты по 4700мкФ. Думал не хватает тока в БП, запитал напрямую, без кренки от компьютерного блока питания – результат тот же. Перезагружается через секунду – две после регистрации в сети (светодиод сначала горит, после мигает часто, пауза, 2 раза мигнёт редко, потом гаснет вместе с диодом питания, и всё сначала). Это в случае, если я вывод включения модема сажаю на землю, а если просто включаю, то после перезагрузки нужно снова подавать сигнал на запуск. Осциллограф показал что примерно через секунду после того, как модуль зарегистрировался в сети на всех выходах падает напряжение до 2v, а на выходе, к которому подключён светодиод питания до 2,8v, еще через секунду на выводе EMERGOFF появляется лог. 0 и модуль перезагружается. Но что вообще интересно, перезагружается он не всегда, а примерно в 80%, в остальных же 20% работает нормально (отправляет данные на сервер).
Денис С.
18 Окт 2016Труп! Аналогичная ситуация у меня была с M590E – он не хотел отвечать на мои команды при нормальном напряжении питания 4,2В. Заработал только при 4,8 и проработал ровно неделю, нагрелся и увёл в защиту лабораторный БП. Не превышайте питание и не обращайте внимание на надписи на этих китай платах.
admin
18 Окт 2016Так у вас модуль то SIM900 или все таки Neoway M590?
Я тоже замечал перезагрузку модуля M590 в режиме GPRS, склоняюсь к мнению что некоторые версии прошивок не до конца доработаны производителем для полноценной передачи данных GPRS .
А в обычном режиме (звонки, SMS) я особо не наблюдал глюков, было дело модуль выключался, но после того как я начал прижимать линию включения на общий провод, эта проблема отпала, и лучше провода линии включения делать как можно короче, чтобы не ловить помехи от радиоканала модуля.
Ну а вообще GSM модуль штука довольна сложная, так что глюки вполне возможны (особенно в режиме GPRS).
Виктор
18 Окт 2016Да, Вы были правы. Только что написал для контроллера прогу, которая должна отправлять СМС с текстом “I’m a dead module”. СМСки доходят исправно, модуль ещё ни разу не ребутнулся. А при GPRS режиме спотыкается на команде AT+SAPBR=3,1,”CONTYPE”, “GPRS” отвечает яяяяяAT+SAPBR=3,1,”CONTYPE”, “GPRS” и ребутится. яяяяя или ещё какие символы обычно появляются в ответе если не хватает питания. А его в этот момент судя по тому что светодиод питания меркнет, правда не хватает. Хотя ток потребления модуля в целом в этот момент не растёт.
Виктор
18 Окт 2016Модуль у меня Neoway M590 который начал глючить. Я просто ошибся, до этого имел дело только с SIM900, вот и написал. Модуль приобрёл на алиэкспресс, без платы. Плату разводил сам. Работает модуль в режиме GPRS, отправляет данные на сервер.
mummykbf
8 Ноя 2016Столкнулся с проблемой: модем не удаляет смс.
по факту перепробовал разные варианты:
AT+CMGD=0,4
AT+CMGD=1,4
AT+CMGD=4
Счетчик сообщений +CMGS: после каждой смс все равно увеличивается на единицу
admin
8 Ноя 2016Если после сообщения AT+CMGD получаем ответ OK, значит модуль все удаляет.
Ответ вида +CMGS: это не счетчик сообщений на СИМ карте, этот счетчик просто инкрементируется при каждом отправленном (или неотправленном) сообщении, это условный счетчик, и к нему не надо привязываться.
Количество сообщений на СИМ карте проверяется командой AT+CPMS? В ответ получаем +CPMS: “SM”,1,25,”SM”,1,25,”SM”,1,25
Что означает что на СИМ карте есть одно сообщение, а всего на СИМ помещается 25 сообщений.
mummykbf
8 Ноя 2016с этим всё более-менее устаканилось, но аппетит растет во время еды. есть такая АТ команда AT+CCLK?, которая считывает дату и время с модуля, в ответ на нее получаем строку следующего вида: +CCLK: «05/01/01,00:09:48»
Как её распарсить на составляющие? допустим хочу присваивать день, месяц и год переменным day, mon, yy соответственно; часы, минуты, секунды соответственно переменным hh, mm, ss.
если можно, то куском кода для ардуино, потому как в парсинге полный ноль.
admin
8 Ноя 2016Я конечно Arduino не программирую, могу только подсказать по преобразованию, модуль выдает данные ASCII символами, например возьмем секунды (48), это два ASCII символа ‘4’ и ‘8’ (десятичные значения 52 и 56), для получения десятичного числа секунд, надо вычесть из каждого символа число 48. Далее результат вычитания из первого символа умножаем на 10, и к нему прибавляем результат вычитания из второго символа, в итоге получим искомое десятичное число (52-48)*10+(56-48)=48.
Ст.Николов
9 Ноя 2016несколько модула уже не работают – при етом диод очень силно греется …. , вообще включаеш и ничего не произходит , как будто короткое замыкание
возник вопрос у меня ( к сожаление не знаю правилно ли выражус на русский)
появилас у меня идея тестироват все модули , которые получаю , прежде чем поят их , есть ли такое “крепление” где можно “закрепить” сам модул М590 … цоколь , что то такое … ? есть идеи ?
admin
9 Ноя 2016Какие именно модули у вас не работают M590 или M590E ? Обычно у модулей M590E бывают короткое замыкание по питанию, у меня был такой случай, видимо китайцы когда их выпаивают феном, то перегревают и возникает замыкание, проверяйте модули перед пайкой мультиметром на КЗ между выводами Vbat и Gnd, лучше покупать модуль M590 с изначально запаянными выводами.
Ст.Николов
9 Ноя 2016да у меня M590E и часто не работают , примерно 20% … наверно просто не повезло !
А когда говорите м590 имеете ввиду чтото такое ? http://help40.com/other/modem/modemM590.jpg
Vbat и Gnd ето примерно 3 и 4 пин ?
admin
9 Ноя 2016Да именно такой модуль имею в виду, Vbat это 3,4 выводы, а GND – 1,4,15,20 выводы, вот между этими группами выводов и надо проверять короткое замыкание.
Анатолий
31 Дек 2019У меня первый такой модуль и сразу коротыш. Спаял экран с платы , а потом подал питание 1 Вольт с хорошим током в результате коротыш выгорел и модуль заработал.
Сергей
10 Ноя 2016Перепробовал 5 симок, получены 2 года назад. на 1 модем зарегистрировался в сети. но симка не моя. Заменил свои симки на новые 09.2016, но модем не видит новые симки. Напряжение на симкурие (вывод 14 ) есть, но с RST и CLK не появляется. Нет проблемы с антенной, при рабочей симке послал 6 SMS. Версия прошивки 1103_C6C30000_V0130d. Те же проблемы и с прошивкой 1103_C6C30000_V0120d Может можно перепрошить модуль? Где взять прошивку и как прошить?
Сергей
10 Ноя 2016С какими версиями прошивок используются модули?
admin
10 Ноя 2016У меня были модули с прошивками 1103_C6C10000_V0111n, 1103_C6C30000_V0130c, 1103_C6C30000_V0120n и все работают с СИМ картой. У меня нет информации по поводу перепрошивки модулей.
Masis
1 Окт 2018вот так можно прошить. https://cloud.mail.ru/public/MTb1/R6w81HVBT
zlg
15 Ноя 2016Уважаемый автор. Объясните пожалуйста. Нет ли в схеме ошибки c полярностью диодов Шоттки VD1 и VD2 SS14? Заранее спасибо.
admin
15 Ноя 2016Здравствуйте, в схеме все правильно, диоды стоят для защиты выводов модуля от повышенного напряжения со стороны микроконтроллера, эти выводы подтянуты резисторами к внутреннему источнику напряжения модуля 2,85 В, если с вывода микроконтроллера поступит лог.1 например 5В, то диод закроется и превышение напряжения на выводе модуля не произойдет, при подаче лог.0 со стороны микроконтроллера вывод модуля через открытый диод подтянется к низкому лог. уровню.
Roma
26 Ноя 20162 дня игрался с этими модулями (проблемы с регистрацией и потеря сети).
Так вот дело тут не в модулях а в сим-карте, все новые симки с sim toolkit (это зашитая в симку програмка-меню сим). симка отдает М590 этот код но по умолчанию модуль его не обрабатывает соотв. симка отпадает и сеть тоже. sim toolkit аппаратно модем поддерживает для этого нужно включить at+cfun=6, но вот все ответы нужно писать самому, а это непросто.
Roma
26 Ноя 2016Добавлю, это более чем не просто, т.к. разные операторы имеют разные меню, более того разные партии карточек одного и того же оператора имеют разные меню, т.е. лично я не могу представить как реализовать универсальный программный подход для обхода (т.е. выхода) из этого меню. Думаю именно поэтому китайцы их и продают б/у и за копейки.
Чисто “под себя” под конкретную симку намутить что то можно, но для массового производства они не придатны.
Masis
19 Окт 2018(проблемы с регистрацией и потеря сети). что нам даст это команда at+cfun=6??
но вот все ответы нужно писать самому
что нужно писать самому??
в даташите написана
enables the SIM-toolkit interface and fetching of proactive commands by SIM-APPL from the SIM-card
Павел
10 Дек 2016Уважаемый автор, помогите разобраться с проблемой: после включения модуль сообщает MODEM;STARTUP и через несколько минут выключается (+PBSEADY не пишет). Включаю снова – та же картина. Так несколько раз. После очередного включения наконец-то пишет +PBSEADY и остается включенным. В чем может быть проблема?
admin
10 Дек 2016Приветствую, каким образом включаете модуль, подаете кратковременный отрицательный импульс на линию ON/OFF? Лучше удерживать низкий уровень на линии, чтобы избежать повторных выключений. Если оставить на линии высокий уровень, возможны срабатывания под влиянием помех.
Павел
10 Дек 2016Приветствую. Включал замыканием boot и земли. Про помехи думал, т.к. on/off срабатывал даже от касания проводом прижатым к пальцу – как сенсор))) Ситуация несколько прояснилась – такое поведение наблюдается только при внешнем питании. При питании полностью от ардуины – все ок. Так же не очень понятно поведение со спящим режимом – при команде “разрешить спящий режим” моментально уходит в него (гаснет led2), но на AT команды реагирует, в т.ч. и выводится из спячки (at+enpwrsave=0), а вот хардварно будится через boot. Не сталкивались с таким?
Павел
10 Дек 2016И подскажите еще, плз, в какой момент модуль должен уведомлять о регистрации в сети? Я отправил AT+CREG=1 получил ОК, но сообщение о регистрации при включении модуля или в процессе работы не получил. Принудительный запрос о статусе регистрации ( AT+CREG?) срабатывает корректно.
admin
10 Дек 2016Возможно у вас было некачественное внешнее питание, блок питания должен обеспечивать ток не менее 1,5А. Я не знаю какой ток выдает Arduino, но думаю 1,5А не выдаст, поэтому запитываться от нее не стоит.
Уходи в спящий режим после команды возможен если у вас вывод DTR (9-й вывод) модуля посажен на общий провод. Линия ON/OFF (boot) не предназначена для пробуждения. Я в статье писал про спящий режим, почитайте.
По команде регистрации, скорее всего модуль не запоминает нового заданного параметра команды после выключения, поэтому при включении не выдает ничего, проверьте параметр команды после перезагрузки с помощью АТ+CREG=?.
Денис С.
10 Дек 2016У меня вопрос к автору статьи. М.Б. Вы пробовали GSM модуль вот такой https://ru.aliexpress.com/item/mini-A6-GPRS-GSM-Module-Kit-Wireless-Extension-Module-Board-Antenna-Tested-Worldwide-Store-for-SIM800L/32716931662.html?spm=2114.13010308.0.0.DR8GLQ По цене – дешевле SIM800L, по функционалу – та же голосовая связь, по не многочисленным обзорам с ютуба – не так требователен к питанию и не глючен. Просто эти б/у м590 уже изрядно людям мозг потрепали и мне в том числе. Тестил несколько месяцев в езде по городу (GPS трекинг), связь теряется при идеальном покрытии, а стоит выехать за пределы дом. региона, часами нужно ждать регистрации в чужой сети. Плюс дикая помехо незащищённость, к тому же один из модулей помер по не понятной причине, начал греться и кушать 800мА. В общем бросаю я эти neoway, буду заказывать и пробовать не известные А6, чего и всем “наигравшимся” желаю! Приношу извинения автору за офтоп и пожелание изучить и осветить новые А6…
Денис С.
10 Дек 2016Нашёл его название – Ai-Thinker A6, а в А7 ещё и GPS есть – я в шоке, вкуснотища!
admin
10 Дек 2016Я заказал пару недель назад модуль про который вы говорите A6, еще не пришел, буду пробовать тестировать, статью постараюсь написать.
Денис С.
10 Дек 2016Отлично!
Денис С.
10 Дек 2016Лёд тронулся, тоже заказал!
Артем
11 Янв 2017помогите пожалуйста как сделать чтоб при звонке на модуль кроме номер абонента выводилось и имя абонента
Сергей
27 Янв 2017Заказал такой модульGSM/GPRS модуль AiThinker А6. http://www.dx.com/ru/p/gprs-a6-mini-serial-gprs-gsm-module-core-developemnt-board-for-arduino-443770#.WItoZ1OLTcs. Приехал быстро. при подаче питания горит светодиод. А вот, запустить не удается . Подал +5 на вход PWR для включения. Не включается. В чем проблема не пойму
Денис С.
27 Янв 2017Я тоже заказывал, 43 дня прождал, так и не приехал, вернули деньги. На сколько я знаю, после включения он кучу информации в терминал выдает, подключал к компу?
Сергей
27 Янв 2017подключал. ничего не дает,т.к он не включается. при включении он должен выдать инфу и зарегистрироваться в сети. максимум чего добился поменял скорость
Денис С.
27 Янв 2017Подозреваю, что у тебя не порядок с usb-uart преобразователем что то не то… Уровни какие выдает, надеюсь 3,3? Задержку между подачей питания на Vcc и pwr попробуй сделать, ножку reset куда нибудь притяни… Да и лучше тему где нибудь на форуме сделать, а то тема не по теме и общаться в этих коментах не возможно.
Артем
10 Янв 2017помогите пожалуйста как сделать чтоб при звонке на модуль кроме номер абонента выводилось и имя абонента
Артем
10 Янв 2017номер и имя заранее прописаны на сим кару
Денис С.
10 Янв 2017Имя д.б. латинскими буквами, у меня выводилось…
Артем
11 Янв 2017все перепробовал не выводит
Артем
11 Янв 2017может команда нужна?
Николай
26 Янв 2017я просто за.е…. ((( все перепробовал не могу подключиться к порту, питание разное регулировал от 3,7 до 5,2 ( единственное конденсатор на 10мКф, сейчас поставлю на 1000) но в любом случае, звонок на сим карту проходит, то есть сим в сети зарегалась, но вот по порту не могу получить доступ, что я делаю блин не так, подскажи пожалуйста https://vk.com/tahk_b_kybete это я в контакте, автор помоги пожалуйста, сил моих больше нет
zlg
26 Янв 2017Николай, скорее всего может быть три причины:
1. Не совпадает Baud Rate в модеме и у Вас в терминале.
2. Перепутаны местами Rx u Tx
3. Что то не в модеме, а в Вашем компе, терминале, не тот ком. порт выбран
Николай
26 Янв 2017У меня уже поздный вечер, 19:35, после того как написал это сообщение принчлся за есп модуль вайфай, с ним тоже напортачил, но при разборе этого модуля обратил внимание что если модуль вайфай подключать не к USB програматору, а к ардуино, то там нужно наоборот: RX>>> TX , TX>>RX, а если через юсб, то рх>>рх тх>>тх, сейчас проверить нет возможности, но пришла мысль что с этим модулем GSM по аналогии подключение??? И просьба, напешите мне в контакте, дабы живой чат обрести , заранее спасибо
zlg
26 Янв 2017Ну это же логично. Если один говорит, другой слушает. Говорящая нога модема(8-Тх) подключается к слушающей ноге другого девайса и наоборот, слушающая нога модема(7-Rх) подключается к говорящая ноге другого девайса. Если у Вас Ардуинина, к примеру, настроена, что 2 нога – Rх, получает(слушает), а 3 – Тх, посылает(говорит), то подключаете:
2 7;
В USB конвертере, аналогично. Найдите, какая нога на прием, а какая на передачу. Если Вы подключили не правильно, то у Вас выбор невелик – поменяйте местами.
zlg
26 Янв 2017Чего то сбилось, а редактировать не дает.
2 ногу ардуино(Rх) подключаете к 8(Тх) ноге модема;
3 ногу ардуино(Тх) подключаете к 7(Rх) ноге модема;
Николай
30 Янв 2017Нифига так и не получилось 🙂 сим карта МТС, гудок на сим проходит, а связи с модулем так и нет, что делать?
ketty
30 Янв 2017проверила на 13 модулях, вылазило 2 ошибки за все время, модем вообще не видит сим. т.к. не подает питание на нее, подавала питание напрямую, тоже не получается, и постоянно говорит что абонет недоступен, либо пишет каракули какие нибудь в порт. хоть и уверена что был настроен на ту скорость с которой пыталась работать с ним. 9600 на все ставлю, но как то сгорел один прям в работе. и начал слать мусор. а что бы вообще не общался небыло такого, попробуйте проверить лучше все соединения
Николай
30 Янв 2017Я уже 3 недели делаю одно и тоже, танцы с бубнами, поменял три ардуинки, блоки питания, в итоге вот какая схема, питание через преобразователб, 4.9 вольт, на выходе кондер на 1000 мкф,( если дать ниже напряжение, не включается), подключение к 5 в, гнд к минусу, boot,тоже замыкаю на гнд, все, приход смс, абонент вновь в сети, подключаю рх и тх к разным входам на ардуинко крест на крест, рх >>тх, тх>>рх, ардуинку тоже привязываю минусом к модулю, и все… что только не пробывал, на разных скоростях, разными редакторами, нет связи с модулем по порту, хоть ты тресни, я ему ат, а он 0 эмоций, заонок принимает, гудки идут…
Последняя надежда что стм карта от МТС, не подходит, завтра попробую от билайна, если нет то выкину, сил нет моих больше, ждал 65 дней, и дождался…….
Heres_M
16 Фев 2017Вопрос? Имеется ли возможность настройки модуля удаленно через GPRS?
Heres_M
16 Фев 2017Дополнение. Например запрещать некоторые входящие звонки.
admin
16 Фев 2017Через GPRS настраивать модуль не получится, настройка возможна только внешним устройством, микроконтроллером например.
Никита
4 Мар 2017Кто-нибудь питал его от батареек? Расскажите, пожалуйста. Интересуют именно батарейки (не блоки питания, не аккумы, не юсб и др.)
admin
4 Мар 2017У меня GPS трекер собран на этом модуле https://radiolaba.ru/microcotrollers/gps-gsm-treker.html , в качестве питания 3 батарейки типоразмера AA.
Никита
4 Мар 2017Интересно. Сейчас посмотрю. Скажите, а вы батарейки эти последовательно же соединяли, да?
admin
4 Мар 2017Да, последовательно
Ev3658
8 Мар 2017Спасибо большое!!! Просто отличная статья!!!!
Вот, для связи в Bascom (уберёте лишнее):
$regfile = “m328pdef.dat”
$crystal = 16000000
$hwstack = 98
$swstack = 80
$framesize = 100
$baud = 9600
Config Com1 = Baud , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Open “com1:” For Binary As #1
Config Portd.1 = Output
Config Portd.0 = Input
Echo Off
‘Конфигурация Подключения Дисплея К Портам Мк
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Portc.1 , E = Portc.0 , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
Cursor Off
Led Alias Portb.5
Config Led = Output
Led = 0
Config Portd.2 = Input
Signal Alias Pinb.2
Config Portd.3 = Input
Dim B As Byte ‘принимаемый байт
Dim S As String * 20 ‘принимаемые данные
Dim Priem As Bit ‘принята команда
On Urxc Redx
Enable Urxc
Enable Interrupts
‘Порты датчиков влажности/температуры
Cls
Print #1 , “AT+IPR?” ; Chr(13) ; Chr(10) ‘для проверки отсылаем команду
Do
If Priem = 1 Then ‘если приняли, выводим
Cls
Locate 1 , 1
Lcd S
S = “”
End If
Waitms 100
Loop
End
Redx: ‘прерывание по получению
B = Inkey(#1)
If B > 31 Then ‘запоминаем только видимый текст
S = S + Chr(b)
Elseif B = 13 Or B = 10 Then ‘ если конец строки, то мы приняли команду.
Priem = 1
End If
Return
Ev3658
8 Мар 2017Тормознул, вот в это:
…
Lcd S
S = «»
End If
Waitms 100
….
Добавьте:
Priem=0
Vladimir_72
5 Апр 2017Есть ПК и плата с М590, что ещё нужно для их подключения? На схеме подключения ноги не по порядку, как подключать к контактам на плате М590? Там они по порядку.
Сергей
13 Май 2017Добрый день! Помогите, пожалуйста, разобраться с одной проблемой. (уже несколько недель не получается решения найти)
Проблема вот в чём: Номер телефона ввожу с клавиатуры Ардуино и записываю его в ЕЕПРОМ. При каждом цикле переменная считывает номер с ЕЕПРОМ и присваивает себе это значение.
Необходимо: Совершать звонок на этот номер из переменной. Проблема в том, что не могу разобраться, как его прописать строку: gsm.println(“ATD+”); Дело в том, что кавычек “” то в переменной нет и знака “;” тоже нет. Приведенные ниже строки тоже результата не дают…
Long TEL = 834052454 // номер телефона без +79
gsm.println(“ATD+”);
gsm.write(char(34));
gsm.print(“+”);
gsm.print(“7”);
gsm.print(“9”);
gsm.print(TEL);
gsm.print(“;”);
gsm.write(char(34));
Денис С.
13 Май 2017в место переменной создайте массив символов
Сергей
13 Май 2017А отправлять их в GSM модуль поочередно?
после gsm.println(«ATD+»); ?
Денис С.
13 Май 2017отправить нужно за один присест и с символом “\r” в конце. если отправлять поочерёдно командой print, то модуль выдаст ERROR, потому что print в след за командой посылает ещё и не видимый “\0”. такие дела.
Berg
18 Июл 2017Мне вот интерес один момент. Есть команда проверки статуса модуля AT+CPAS. Одним из ответов на команду есть +CPAS: 5 , т.е. модуль в спящем режиме. НО! В описании спящего режима написано – “Во время “сна” модуль не реагирует на команды, поступающие по UART”. Как-то не логично выходит. Кто что знает по этому поводу?
admin
18 Июл 2017После отправки команды спящего режима модуль не сразу засыпает, а после того как вывод SLEEP установится в 0, вот после получения команды и до сброса линии в 0, модуль и будет выдавать ответ +CPAS: 5 на запрос проверки статуса.
Анатолий
8 Авг 2017Привет!У меня такая проблема с этим модулем. СМСки отправляет, принимает, звонит и принимает звонки, с этим проблем нет. НООО он никак не хочет спать!!! Пишу at+enpwrsave=1 в ответ ОК, светодиод перестает моргать, гаснет, на линию sleep подаю низкий логический уровень, но (даже спустя минуту) на команды по юарту он отвечает и токопотребление не снижается. В чем может быть проблема? может есть какой секрет по его усыплению???
P.S. дабы избежать проблем с ,,китайской платой,, развел свою по даташиту, результат ровно тайкой же
P.P.S. не сохраняются настройки AT&W
P.P.P.S модуля 2 от разных продавцов, результат одинаковый
admin
10 Авг 2017Здравствуйте, вы делали все правильно, а пробовали ждать больше минуты? Я замечал что нет какого-то определенного времени на уход в сон, всегда по разному.
Анатолий
10 Авг 2017Пробовал и 10 минут ждать, все тоже самое. Причем когда я перевожу СЛИИП в высокий уровень во время ,,сна,, (когда светодиод не моргает) модуль не ,,просыпается,,. Светодиод по прежнему не мигает. Как будто он вообще не реагирует на линию СЛИП
admin
10 Авг 2017Светодиод должен включится если послать команду at+enpwrsave=0, проверьте уровень сигнала на 9-ом выводе (DTR) модуля, на факт наличия низкого уровня. Возможно со стороны управляющего устройства идет передача данных, из-за чего модуль не засыпает, проверьте 7-ой вывод RXD на модуле, там должен быть высокий уровень при отсутствии передачи данных.
Владимир
29 Июл 2018Добрый день! У меня такая же проблема. На команду at+enpwrsave=1 реагирует, диод перестает моргать, потребляемый ток 25-30 мА. На подачу низкого и высокого уровня на DTR никак не реагирует, как находился в режиме ожидания (25-30 мА), так и остается в нем. UART модема остается в работе, принимает команды и отвечает на них. На 7 выводе (RXD) высокий уровень.
Команда at+enpwrsave=0 включает диод, потребление тока такое же 25-30 мА.
(В общем, блинкать светодиодом GSM-модема научился!)
Пробовал и SoftwareSerial, и AltSoftSerial, и аппаратный UART, и напрямую от TTL-конвертера, – результат один и тот же. Длительное ожидание “усыпления” ничем новым не обернулось. Добиться 2,5-2,8 мА так и не удается.
Подскажите, пожалуйста, что я делаю не правильно?
0259
7 Фев 2018всем привет подскажите пожалуйста на м590 приходят звонки приходят смс всё читается отправить пробовал ошибка звонить с него не получается отвечает сброшен
отправляю звонок так ATD+77057x7x0x0 отвечает так NO CARRIER
отправляю команду AT+CSCS=”GSM” ответ ok
отправляю смс AT+CMGS=“+77057x7x0x0” ответ >
отправляю > Perezvoni mne ответ ERROR
даже отправить не успеваю
admin
7 Фев 2018Будьте внимательнее, в команде ATD+77057x7x0x0; в самом конце есть символ – ;
Для sms, после отправки текста сообщения, для завершения процесса следует отправить символ (шестнадцатеричное значение 0х1A)
Михаил
7 Фев 2018Здравствуйте, подскажите команда сохранения текущей конфигурации настроек в EEPROM память AT&W, какие параметры сохраняет в eeprom, и как их потом загрузить, очень хочется аон и текстовый формат сообщений не устанавливать посылая команду при каждом включении питания
Вадим
14 Фев 2018С модуля не уходит СМС но только с сим картой МТС (эту карту вставлял в телефон – смс работает). И в модуль вставлял мегафоновскую симку – смс уходит. Но нужно, чтобы модуль работал с мтс симкой. Вопрос: в чём проблема?
admin
14 Фев 2018Приветствую, а какую ошибку пишет модуль? У меня с сим картой МТС все работало.
Вадим
14 Фев 2018Я сейчас только начинаю с ними разбираться. Охранная система гаража ( в которой стоит данный модуль) уже была готовая. Посоветуйте с чего начать. По своей глупости купил симку МТС и оплатил 500 р. по тарифу “умное устройство” на год вперёд. Да и все мои на МТС. В общем советы вроде “смени симку не желательны.
admin
14 Фев 2018Если это готовое устройство, как вы собираетесь в нем что-то менять? вы будете переделывать программу?
Вадим
14 Фев 2018Это «готовое устройство» я сделал полностью своими руками, но с готовых схем и программы на ардуино
Вадим
14 Фев 2018Это “готовое устройство” я сделал полностью своими руками, но с готовых схем и программы на ардуино
admin
14 Фев 2018Сложно сказать что не так, надо бы посмотреть какие команды отправляются на модуль во время отправки SMS, подключите к линии RX модуля USB-COM преобразователь и посмотрите на компьютере в терминальной программе что там происходит. А пробовали другую симку от того же МТС?
Вадим
15 Фев 2018Пробовал со своего телефона, даже связь не установила с базовой станцией оператора. Сплошные вопросы. Буду пробовать заходить в неё. Да, ещё, это китайский девайс М590Е не NEOWEY а безродный.
Вадим
17 Фев 2018Получилось почти всё. Но дохожу до отправки смс , дальше не знаю что делать? Какая команда для отправки смс?
AT+CMGF =1
OK
AT+CSCS=”GSM”
OK
AT+CMGS=\”79138801431\”
> vvv
admin
17 Фев 2018Для отправки сообщения надо ввести команду: AT+CMGS=“+79XXXXXXXXX”$0D (+79XXXXXXXXX — номер абонента кому шлем SMS, номер должен быть заключен в кавычки), после этого модуль выдаст приглашение в виде символов > (> и пробел), далее вводим текст сообщения в конце которого вводим символы $1A (то есть символ ctrl-Z), тем самым говоря модулю что сообщение окончено, после этого в случае успеха модуль выдаст сообщение +CMGS: и OK.
Вадим
18 Фев 2018OK
AT+CSCS?
+CSCS: “GSM”
OK
AT+CMGS=“+79138801431”
> Perezvoni mne
ERROR
что не так?
Вадим
18 Фев 2018символы $1A (то есть символ ctrl-Z) конечно вводил
admin
18 Фев 2018А ошибку ERROR модуль выдает сразу же или с паузой? в какой терминальной программе отправляете команды? Попробуйте с другой симкой отправлять сообщения.
Dmitrii
12 Мар 2018хочу сделать звонилку 1 – 2 номера с использованием M590 и attiny2313. Может кто подскажет чего? Исходники может или готовый hex со схемой
bum224
5 Авг 2018Не регистрируется в сети (код 2 – регистрация отклонена). Питание подаю с зарядки на 2А.
MODEM:STARTUP
at
OK
+PBREADY
at+creg=1
OK
+CREG: 0
+CREG: 2
+CREG: 0
+CREG: 2
+CREG: 0
+CREG: 2
+CREG: 0
+CREG: 2
Masis
1 Окт 2018Скажите пожалуйста SIM IO и SIM VCC надо поставить 4,7 к, или 10 к?
на даташите написана SIMIO Need to pull up SIMVCC by external resistance 10K
Masis
1 Окт 2018на схеме ( R9, 4,7кОм) между выводами Vcc и I/O СИМ карты, можно поставить 10 к?
admin
1 Окт 2018Да можно ставить и 10к.
Masis
2 Окт 2018скажите пожалуйста можно без транзистора VT1, с вывода микроконтроллера через 1к, на контакт 19 (ON/OFF), и поставит PORT на выход, лог.1 например 4.2В. Когда понадобится сделать ресет то поставит PORT лог 0 300 млсикунд?
Masis
2 Окт 2018извините не 19 а на 18 Emergency OFF
Masis
2 Окт 2018извините не VT1 а VT2
admin
2 Окт 2018Вывод Emergency OFF подтянут к высокому лог. уровню внутри модуля, не стоит подавать туда внешнее напряжение с микроконтроллера. Надо сделать по другому, линию микроконтроллера настроить на вход в режиме нормальной работы, если надо перезагрузить модуль, то перенастроить линию МК на выход с лог.0, затем заново на вход, чтобы исключить подачу внешнего напряжения.
Masis
2 Окт 2018когда сделаю так (линию микроконтроллера настроить на вход в режиме нормальной работы) модуль не стартует MODEM:STARTUP, как будто в ножке 18 модуля лог.0. в чем причина не знаю??
Masis
2 Окт 2018а может диод надо поставить???
https://radiolaba.ru/wp-content/uploads/2018/10/neoway_m590.jpg
admin
2 Окт 2018Можно и с диодом, тогда линию МК на вход можно не перенастраивать, а устанавливать лог.1
Я не понял у вас модуль не стартует чтоле? на выводе Emergency_OFF в нормальном режиме работы должна быть лог.1
Masis
2 Окт 2018когда линию микроконтроллера настрою на вход, для нормальной работы модуль не стартует MODEM:STARTUP.
Masis
2 Окт 2018жаль что нету редактировать сообщение.
скажите пожалуйста можно без транзистора VT2, с вывода микроконтроллера через 1к, на контакт 18 (Emergency OFF), и поставит PORT на выход, лог.1 например 4.2В. Когда понадобится сделать ресет то поставит PORT лог 0 , 300 млсикунд?
admin
2 Окт 2018Masis, вы писали: когда линию микроконтроллера настрою на вход, для нормальной работы модуль не стартует MODEM:STARTUP.
Значит у вас линия настраивается не на вход, а скорее на выход, отключите вывод модуля Emergency OFF от микроконтроллера и попробуйте запустить модуль, если запускается, значит проблема в неправильно настроенных линиях МК.
Masis
15 Окт 2018что сделать если на команду AT+COPS?
ответ вот такой
+COPS: 2
Masis
15 Окт 2018что сделать если на команду AT+COPS?
ответ вот такой
+COPS: 2
удивительно что на команду AT+CSQ
ответ вот такой
+CSQ: 12,3
симку тоже видит.
admin
15 Окт 2018Видимо модуль не может зарегестрировать сим-карту в домашней сети. Может вы находитесь в роуминге? Попробуйте другую Сим-карту.
Masis
17 Окт 2018A на команду AT+CREG?
ответ вот такой
+CREG: 0,3
Первый параметр: 0 нет кода регистрации сети
Второй параметр: 3 регистрация отклонена
У меня таких модулей (neoway m590) уже 8 штук. Симку видит на команду AT+CPBR=1
дает ответ
+CPBR: 1,”номер”,129,”имя” ,
сигнал антены ест +CSQ: 17,2
НО +COPS: 2, +CREG: 0,3
попробовал другой модуль neoway m590, на том же сим карте, нормально работает.
Sanya
18 Окт 2018Neoway M590 работает нормально, Sleep режим отключаю at+enpwrsave=0, после 1-2 час когда звоню на этот номер (который находится в модуле), абонент временно недоступен. в чем проблема??
admin
18 Окт 2018Я кстати тоже замечал это явление, но точно не знаю с чем это связано, возможно это из-за слабого, неустойчивого сигнала сети. Вы далеко находитесь от вышек сотовой связи? на телефоне уровень сигнала хороший?
Sanya
19 Окт 2018да качество хороший, +CSQ: 20,2, в этот момент когда абонент не доступен, на команду AT+COPS, ответ вот такой +COPS: 2
Masis
18 Окт 2018посоветуйте пожалуйста что лучше
для питании поставить 7805 с радиатором(5 вольт)
или DC DC step down на 4.2 вольт
admin
18 Окт 2018Напряжение в 5В многовато для модуля, максимум 4,5В. Лучше в таком случае запитать от импульсного DC-DC на 4.2 вольт.
Алексей
19 Окт 2018может кто нибудь знает? есть модули neoway m590e а есть Sinowell G590 так вот вопрос, второй не запускается, никогда сеть не может найти, хотя даташит одинаковый, параметры одинаковые, вообщем копия
Рустэм
16 Ноя 2018При работе с данным модулем необходимо учесть ряд особенностей его процессор питается от напряжения 3,3 вольт, чтобы он подключался к ардуино у которого питание 5 вольт, ставят последовательно по питанию диод, который понижает напряжение до 5-0,8=4,2вольта, источник питания должно обеспечивать возможность повышения тока до 2 ампер, во время включения модуля ток большой. Но самое главное это сопряжения модуля с ардуино по каналу обмена данными Rx Tx, основное это канал Rx на модуле, на его входе уровень импульсов должен быть 3,3 вольта, а с ардуино идет 5 вольт это приводит к зависанию обмена данными межу ардуино и модулем, ну соответственно ничего не работает после этого, приходится перезагружать ардуино , хотя поначалу кажется все прекрасно работает, необходимо в схему добавлять два развязывающих сопротивления чтобы снизить уровень сигнала от ардуино на входе Rx модуля и все прекрасно работает! Схема представлена по ссылке, другие модули типа SIM 900 имеют ту же проблему, довольно много пришлось помучиться, может кому опыт пригодится.
https://www.drive2.ru/c/501088956415214410/ смотрите два сопротивления по 10 ком, одно идет на Rx модуля, второе соединяет Tx ардуино с землей. А если не ставить эти сопротивления получается Tx ардуино и Rx модуля соединяются напрямую.
Виктор
16 Ноя 2018Проще всего, питать всю схему от 3.3 вольт. Я так постоянно делаю, проблем нет.
Masis
1 Янв 2019Скажите пожалуйста, почему на 5 ножке поставили 4,7к ?? светодиод ели ели светится. может есть смысл. Я видел на заводском плата где для светодиода поставили транзистор.
Bkmlfh
13 Янв 2019Добрый день!
Уважаемый Admin, почему не сохраняется настройка АОН после перегрузки по питанию? AT&W после включения АОН делал. Может ли быть какая либо усеченная возможность у модуля? И как поправить?
Михаил
12 Дек 2019Конкретизирую вопрос.
Команда AT&W сохраняет текущий профиль.
Команда AT&V показывает текущий и сохраненные профили.
Я не нашел команды загрузки текущего профиля из сохраненных.
Это, вообще предусмотрено?
Masis
5 Апр 2019Как отправить СМС на Русский??