Neoway m590

GSM модуль NEOWAY M590 связь с Ардуино

Здравствуйте. Однажды я уже описывал работу с GSM/GPRS-шилдом SIM900, сейчас речь пойдёт о дешёвом (порядка 150 рублей) модуле GSM NEOWAY M590.

•Две маленькие, чёрные штучки — это резисторы, полярность не имеет значения.

•Квадратная жёлтая штука — это танталовый конденсатор, полярность здесь важна, поэтому припаиваем как на картинке.

•Чёрный цилиндр — это диод (в данной конструкции отвечает за понижение напряжения), обязательно соблюдение полярности, так что делаем как на иллюстрации.

•Маленькая прозрачная штучка — это светодиод, опять же, важна полярность, на плате минус расположен ближе к букве Boot.

Будем считать, что Вы всё правильно спаяли и у Вас получилось вот такое устройство:

Для выяснения скорости, нужно подключить собраный модуль к компьютеру с помощью USB-UART моста, выглядит эта штука так:

В этом случае соединяем:

1сек) соединением с GND, однако удобнее просто соединить его с GND и не отсоединять. Включение модуля будет происходить при подачи питания.

1000 микрофарад, 16 вольт) поближе к модулю.

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

Теперь подключаем Вашу конструкцию к компьютеру, в IDE Arduino открываем «Монитор последовательного порта» (в дальнейшем «терминал») , выбираем (внизу-справа) NL & CR, устанавливаем скорость 9600 и отправляем команду проверки связи — AT

Если ответ — ОК, то значит модуль работает и скорость UARTа установлена 9600. Если ответа нет, то проверьте правильность соединения UARTа и дальше действуйте методом «тыка» подставляя разные скорости, пока не увидите заветное ОК.

Если модему не будет хватать питания ( большинство возникающих проблем происходят из-за этого ), то он будет постоянно рестартовать.

Ещё я столкнулся с тем, что модем работает не со всеми сим-картами.

Если всё в порядке, тогда переходим к изучению АТ-команд для общения с NEOWAY и его настройки.

Эхо — это повтор введённой команды в терминал.

0 для нулевого профиля, 1 для первого профиля.

Статусы: 0 — готов к работе, 2 — неизвестно, 3 — входящий звонок, 4 — в режиме соединения.

В терминал будут выводиться сообщения: CONNECT — соединение установлено, BUSY — занят, NO ANSWER — нет ответа, NO CARRIER — вызов сброшен.

Возможны другие кодировки: HEX – шестнадцатеричными значениями, IRA – международный справочный алфавит, PCCP437 – кодировка CP437(IBM PC), 8859-1 – кодовые страницы семейства ISO 8859, UCS2 – кодировка unicode.

Здесь можно найти исчерпывающую информацию по ат-командам.

Отправка SMS будет осуществляться ардуиной.

При взаимодействии с ардуиной будет использоваться SoftwareSerial, а он плохо работает на скоростях выше 9600.

При звонке со вписанного номера, будет на 5 секунд зажигаться D13, а связь обрываться. Если это будет другой номер, то ничего не произойдёт. Все действия отображаются в терминале.

Следующий скетч будет посылать SMS в ответ на наш звонок:

Вместо строки «Hello from istarik.ru» можно вписать какую-либо переменную, например температуру с датчика, а звонок заменить каким-либо событием, например, нажатием на кнопку (дописав обработчик нажатия кнопки).

Если ввести в терминале ат-команду — AT+CLIP=1, то включится АОН, а если ввести свою команду — callmy, тогда модуль перезвонит на вписанный в скетче телефон.

Если отправить модулю смску с текстом — led13on, то светодиод зажжётся, а если отправить текст — led13off, то погаснет.

Не забудьте вписать нужный номер.

Отправьте модулю смску с текстом — money и через несколько секунд придёт ответная смс с количеством денег на балансе симки NEOWAY.

Все эксперименты проводились с оператором МТС .

Комментарии ( 27 )

Как подключали к ардуине, были ли проблемы с согласованием напряжений, о чём много пишут?

  • stD
  • 30 декабря 2016, 22:51
  • ^
  • v

if(val.indexOf(“RING») > -1) //если есть входящий вызов, то проверяем номер

if(val.indexOf(«79891196709») > -1) // ВПИШИТЕ НОМЕР, с которого Вы будете звонить на модуль

Методом тыка ничего не выходит, заранее спасибо…

Сам столкнулся с проблемой, когда отказывается работать, находясь в роуминге. Видимо, это и есть причина. В роуминге индикация моргает как обычно, но не подключается к сети, на команду at+cops? Выдает ERROR, на попытку посмотреть уровень сигнала командой at+csq пишет «99, 99». Может, кто сталкивался, поделитесь. Симки разных операторов, работают в телефоне. Вставил местную-все то же-99,99. Вот думаю, может столкнулся с двумя проблемами разом-отказ работать в роуминге и конфликт с местной симкой.

if(val.indexOf(“RING») > -1) //если есть входящий вызов, то проверяем номер

if(val.indexOf(«79891196709») > -1) // ВПИШИТЕ НОМЕР, с которого Вы будете звонить на модуль

Методом тыка ничего не выходит, заранее спасибо…

  • stD
  • 4 июля 2017, 02:22
  • ^
  • v
  • stD
  • 6 июля 2017, 04:09
  • ^
  • v

ниже счётчик импульсов. я бился но хорошего результата не получил

int count=0; // выделение памяти для переменной счетчика нажатий

int val=0;// выделение памяти для переменной состояния порта

void setup() //процедура setup

pinMode(12, INPUT); //объявляем пин как вход

void loop() //процедура loop

while ( digitalRead(12)==LOW ); //в цикле ничего не делаем пока не изменится состояние порта с «0» на «1»

count=count +1; //когда изменилось состояние инкриминируем счетчик

while ( digitalRead(12)==HIGH ); // ожидаем появление опять «0»

Эту функцию вставить где-нибудь в loop`е.

на выходных (по танцую с бубном)

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

  • stD
  • 8 июля 2017, 07:00
  • ^
  • v

а может будете так любезны (плиз), сделайте поправки чтобы считал условно с 235 накопительно (не с начала, а всё больше и больше), а СМС отправлял периодически например каждые +10 импульсов и + при звонке на модуль

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

за ранее спасибо. мой vicont73@rambler.ru

SoftwareSerial mySerial(2, 3);

int count=0; // выделение памяти для переменной счетчика нажатий

int val=0;// выделение памяти для переменной состояния порта

void setup() //процедура setup

Serial.println(«GSM NEOWAY promote site istarik.ru»);

Serial.println(«Turn on AOH:»);

mySerial.println(«AT+CLIP=1»); // включить АОН

Serial.println(«Text format sms:»);

mySerial.println(«AT+CMGF=1»); // текстовый формат SMS

mySerial.println(«AT+CSCS=\»GSM\""); // кодировка текста — GSM

// ПРИ СТАРТЕ, НА КАЖДУЮ КОМАНДУ ДОЛЖНО БЫТЬ ПОДТВЕРЖДЕНИЕ — ОК

while ( digitalRead(12)==LOW ); //в цикле ничего не делаем пока не изменится состояние порта с «0» на «1»

count=count +1; //когда изменилось состояние инкриминируем счетчик

while ( digitalRead(12)==HIGH ); // ожидаем появление опять «0»

sms(String(count), String("+71111111111111")); // НОМЕР, на который отправляется смс

val += char(ch); //собираем принятые символы в строку

if(val.indexOf(“RING») > -1) //если есть входящий вызов, то проверяем номер

if(val.indexOf(«71111111111111111») > -1) // ВПИШИТЕ НОМЕР, с которого Вы будете звонить на модуль

Serial.println(«Call my phone»);

mySerial.println(«ATH»); //разрываем связь

sms(String(«что написать сдесь»), String("+71111111111111")); // ВПИШИТЕ НОМЕР, на который позвонит модуль

Serial.println(«Start SMS send»);

Serial.println(«SMS send OK»);

  • stD
  • 8 июля 2017, 16:55
  • ^
  • v

ещё я не пробовал но наверно могу прибавлять не «1», а 0,78888 для точного счёта (калибровка счётчика).

  • vicont73
  • 9 июля 2017, 04:07
  • v
  • vicont73
  • 10 июля 2017, 04:23
  • v

сдается и правду пишут ардуино не такая уж замечательная вещь.

оно требует не поверхностного подхода

Arduino — это обычный микроконтроллер Atmega328.

Тем не мение, Ардуино (как концепция) вещь замечательная, и очень сильно снижает порог вхождения в программирование МК и если бы её не было, то Вам пришлось бы изучать среду AVR Studio и осваивать специальные программаторы. Вот здесь у меня есть статья на эту тему.

  • stD
  • 10 июля 2017, 10:07
  • ^
  • v

файл проверку прошёл. но увидеть красоту не удалось. к сожалению выпало устройство и порта 18СОМ нет, перескочил на 32 (предыдущая UNO уже отвёз ставить на воду). буду 18 искать.

увидеть красоту не удалось

  • vicont73
  • 11 июля 2017, 06:21
  • v

вопрос — может есть программка составления програм для ардуино, облегчающая участь чайников.

и лучше безплатная

Есть вопрос: В нашей котельной, установлены датчики давления и температуры,

подключенные к измерителям-регуляторам, которые в свою очередь соеденены с компьютером по RS485 по протоколу кажется ОВЕН.

Можно ли подключившись к сети с помощью

читать передаваемые данные и при получении СМС с определенным текстом отправлять прочитанное в ответном смс

Arduino

  • stD → Asus RT-G32 + OpenWrt + Arduino 2 → Arduino
  • stD → Ардуино и GSM/GPRS Shield 8 → Arduino
  • stD → Аутентификация на сервере uhttpd 2 → OpenWrt
  • stD → Прошивка TP-Link TL-MR3020 OpenWrt 75 → OpenWrt
  • monser → GSM модуль NEOWAY M590 связь с Ардуино 27 → Arduino
  • REZIDENT → Apache + Nginx — Ubuntu 14.04/16.04/Debian 39 → Linux
  • stD → Android + Bluetooth + Arduino 4 → Android
  • stD → Умный дом на Arduino и TL-MR3020 без Lighttpd и PHP 176 → Arduino
  • stD → Подключение Ардуино к роутеру TL-MR3020 40 → Arduino
  • petr7703 → WiFi Pineapple — TP-LINK TL-MR3020 4 → Сеть
  • stD → Микроскоп + фотоаппарат 10 → Микроскоп
  • stD → HTTPS — полученее бесплатного сертификата и настройка сервера 2 → Сеть
  • stD → Orange Pi Pc Plus — установка системы и перенос на eMMC 4 → Orange PI
  • stD → Кросс-компиляция OpenWrt 4 → OpenWrt
  • stD → Работа сервера uhttpd на разных портах и из разных директорий 1 → OpenWrt
  • stD → Будущее уже наступило 3 → Техника
  • Jamshid → ESP8266 — подключение к Arduino 31 → ESP8266
  • kisa → Необычные паровые устройства 1 → Техника
  • kisa → Raspberry Pi 2 — установка и настройка 1 → Raspberry Pi
  • kisa → Android-Валентинка 3 → Android

Весь эфир | RSS

  • Arduino0.00
  • Raspberry Pi0.00
  • Android0.00
  • ESP82660.00
  • Наука0.00
  • Умный дом0.00
  • Сеть0.00
  • Программирование0.00
  • OpenWrt0.00
  • Linux0.00

Любое использование материалов допускается только с указанием активной ссылки на источник.

Neoway m590

Соединяем GSM модуль с Arduino.

5В модуля -> 5V Arduino GND модуля -> GND Arduino ТХ модуля -> digital pin2 Arduino RX модуля -> digital pin3 Arduino

Распиновку можно посмотреть на фото. Выводы разъёма P1:

Модуль использует питание от 3.3В до 4.5В.

Подключаем Arduino с GSM модулем к компьютеру.

Логические уровни не должны превышать 3.3 вольта — в противном случае возможен выход их строя. В случае использования с пятивольтовыми МК требуется использовать резистивные делители или иные способы согласования уровней.

SoftwareSerial mySerial(2, 3); // RX, TX

delay(2000); //задержка для инициализации модуля

Serial.begin(9600); //устанавливаем скорость порта

Serial.println(«GSM tester v1.0»);

mySerial.println(«AT+CLIP=1»); //АОН будет включен

mySerial.println(«AT+CMGF=1»); //обычный режим кодировки СМС

mySerial.println(«AT+CSCS=\»GSM\»»); //режим кодировки текста

Serial.println(«— MASTER RING DETECTED —«);

mySerial.println(«ATH0»); //разрываем связь

digitalWrite(led, HIGH); //включаем светодиод на 3 сек

digitalWrite(led, LOW); //выключаем реле

Serial.println(val); //печатаем в монитор порта пришедшую строку

//mySerial.println(val); //передача всех команд, набранных в мониторе порта в GSM модуль

sms(String(«hello world»), String(«+71234567890»)); //отправляем СМС на номер +7XXXXXXXXXX

void sms(String text, String phone) //процедура отправки СМС

Serial.println(«SMS send started»);

Serial.println(«SMS send complete»);

Открываем монитор порта и если все в порядке, то увидим следующую картину

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

На картинке схема с рекомендуемой обвязкой модуля: Максимальный ток потребления может кратковременно достигать 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,85V. Напряжение на линиях ввода (RXD, DTR) не должно превышать 3,3В, для исключения их повреждения, поэтому для их сопряжения с логическими уровнями большего напряжения установлены элементы VD1, R1, VD2, R2. Резисторы служат для подтягивания к линии VCCIO, после включения модуля на этой линии появляется напряжение величиной 2,85В и при этом максимальный выходной ток составляет 3 mA, тем самым обеспечивается безопасный логический уровень для линий ввода. Диоды защищают входы от перенапряжения.

Если модуль зависнет, имеется возможность аварийного выключения, для этого необходимо подать положительный импульс на линию EMERGENCY OFF (база транзистора VT2) длительностью 100 ms. Далее требуется выдержать паузу в 5 секунд перед повторным включением, для исключения возможности повреждения модуля.

Работа с модулем осуществляется с помощью стандартного интерфейса UART, линия MCU TX подключается к выходу передатчика управляющего устройства (компьютер или микроконтроллер), вывод MCU RX к входу приемника управляющего устройства.

При входящем вызове на линии RING появляются импульсы с низким логическим уровнем длительностью 30 мс, частота следования примерно один раз в 5 секунд. При получении SMS сообщения, на линии появляется однократный импульс длительностью 25-35 мс. Данную линию можно использовать для генерации прерываний в управляющем устройстве.

Линии DCD (вывод 16 модуля), DSR (вывод 17 модуля) не используются, остальные выводы задействованы для подключения СИМ карты A2. Микрофонного входа в модуле нет, поэтому голосовую связь осуществить не получится, но само соединение устанавливается, если принять звонок от модуля, в динамике будет стоять тишина.

GSM модуль NEOWAY M590 связь с Ардуино
GSM модуль NEOWAY M590 связь с Ардуино. Здравствуйте. Однажды я уже описывал работу с GSM/GPRS-шилдом SIM900,
http://istarik.ru/blog/arduino/68.html
Neoway m590
Добро пожаловать Arduino GURU. Все новое, современное и интересное от Arduino GURU
http://arduinoguru.ru/index.php/articles/27-shields/73-neoway-m590

COMMENTS