не работает? Neoway m590

exez
exez аватар
Offline
Зарегистрирован: 04.04.2015

сделал все как говорите. 

в номере телефона убрал "+" перед номером. ошибка пропала, но смс-ок на телефоне нет :)

exez
exez аватар
Offline
Зарегистрирован: 04.04.2015

okta пишет:

По моей проблеме. Модуль заработал. Вернее, я теперь могу позвонить на него. Проблема была до неприличного проста... На симке поумолчанию была включена прверка PIN1. Интересно, сколько народу так обламалось, решив, что симка нерабочая...

Ща подключу дуину и будем бороться с сериалом.

)) я сначала симку в телефон поставил и отключил пин :)

okta
Offline
Зарегистрирован: 10.01.2015

Таки все у меня заработало. На 115200 через софтовый сериал крайне нестабильно работает (ошибка буквально в каждой второй команде), однозначно переключаться на меньше.  Провел ряд экспериментов - итоги: 1) на запиненой симке - вообще по сериалу не отвечает. 2) без симки сериал работает норм.

exez пишет:

в номере телефона убрал "+" перед номером. ошибка пропала, но смс-ок на телефоне нет :)

Попробуйте в строке 34 такой синтаксис:

mySerial.println("AT+CMGS=\"+номер \"");

Плюс оставить. С вашим кодом у меня тоже SMS не уходит.

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

нельзя убирать "+" , выложите скетч, как сейчас он у вас

okta
Offline
Зарегистрирован: 10.01.2015

ХМ, ради прикола еще раз запинил симку, теперь и с запиненой по сериалу отвечат... чудеса... Хорошо, хоть в сети не появляется, а то бы я вообще офигел :))))

exez
exez аватар
Offline
Зарегистрирован: 04.04.2015

Смысл в том что и тел МАСТЕР прописан без + и в ответах можема тоже нет +

код потом вывод монитора

#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);          // RX, TX
int ch = 0;
String val = "";
#define MASTER "380668146127"          //укажите  телефон хозяина

  String text = "testing sms";
  String phone= "380668146127";


byte MasterRing;
byte i;

void setup()
{
  Serial.begin(9600);                  //подключаем порт компьютера
  Serial.println("---------- Neoway M590 start");
  mySerial.begin(19200);                //подключаем порт модема (при других скоростях не отвечает)
//  mySerial.println("ATI");     //вывести в терминал иноформацию о модеме
  mySerial.println("AT+CLIP=1");        //включаем АОН
  delay(100);
  mySerial.println("AT+CMGF=1");        //режим кодировки СМС - обычный (для англ.)
  delay(100);
  mySerial.println("AT+CSCS=\"GSM\"");  //режим кодировки текста
  delay(100);
  //mySerial.println("AT+CNMI=2,2");

}

void dial()
{
   mySerial.println("ATD380668146127");
  delay(500); 
  }

void sms()
{
//  mySerial.println("AT+CMGS=”380668146127″<CR>> Perezvoni mne<ctrl-Z>");
  mySerial.print("AT+CMGF=1\r");
  delay(100);
  mySerial.println("AT+CMGS=”+380668146127″");
  delay(500);
  mySerial.println("SendSMS");
  delay(500);
  mySerial.print((char)26);
  delay(5000);
  Serial.println("Send SMS Ok!");
  mySerial.println("AT+CMGD=1");        //стираем память смс
  delay(100);
}

void loop()
{

 if (mySerial.available()) {          //есть данные от GSM модуля
    delay(200);                        //выждем, чтобы строка успела попасть в порт целиком раньше чем будет считана
    while (mySerial.available()) {      //сохраняем входную строку в переменную val
      ch = mySerial.read();
      val += char(ch);
      delay(10);
   }
    Serial.println(val);                    // дублируем сообщение в терминал 

}

    //----------------------- определение факта приема СМС и сравнение номера(ов) с заданным(и)
    if (val.indexOf("RING") > -1) {          //если обнаружен СМС (для определения звонка вместо "+CMT" вписать "RING", трубку он не берет, но реагировать на факт звонка можно)
 delay(200);
      i++; if (i>20) {mySerial.println("ATH"); ch = 0; val = ""; i = 0;}
      
      if (val.indexOf(MASTER) > -1) 
      {   
        Serial.println("--- MASTER CALL ---");
        mySerial.println("ATH"); ch = 0; val = "";
        sms();
//      dial();
      } 
      
        else {
        Serial.println("NO MASTER CALL");
      }

}
delay(100);
}
---------- Neoway M590 start
AT+CLIP=1
 
OK
AT+CMGF=1
 
OK
AT+CSCS="GSM"
 
OK
 
AT+CLIP=1
 
OK
AT+CMGF=1
 
OK
AT+CSCS="GSM"
 
OK
 
RING
 
+CLIP: "380668146127",145,,,"",0
 
--- MASTER CALL ---
Send SMS Ok!
ATH
 
OK
 
 
ERROR
AT+CMGD=1
 
OK
 
okta
Offline
Зарегистрирован: 10.01.2015

Строки 39 и 40 не нужны - есть в сетапе, потом это не меняется (правда на работу кода влиять не должно).

строка 41 попробовать предложенный выше синтаксис

в остальном вроде ок.

Единственное, (строки 69 и 74) я закачиваю звонок командой ATH0 (хотя, читал что циферка в конце не важна, но мало ли - це же китай).

exez
exez аватар
Offline
Зарегистрирован: 04.04.2015

поменял синтаксис в 34ой строке.

---------- Neoway M590 start
...
--- MASTER CALL ---
Send SMS Ok!
ATH
OK
SendSMS
ERROR
AT+CMGD=1
OK
 
exez
exez аватар
Offline
Зарегистрирован: 04.04.2015

нашел ошибку!

в 74ой строке после АТН нужна пауза 1 сек. :)

exez
exez аватар
Offline
Зарегистрирован: 04.04.2015

Спасибо за помощь!

okta
Offline
Зарегистрирован: 10.01.2015

Нда, все проглядели этот фэйл :) Практически между любыми AT командами нужна пауза :)

okta
Offline
Зарегистрирован: 10.01.2015

Продолжение истории с этим модулем. Все работает отлично и замечательно. Продвигаясь дальше решил повесить обработку входящих звонков/sms на внешние прерывания. Почитал такое:

"При поступлении входящего вызова на линии RING появляются импульсы с низким логическим уровнем длительностью 30 мс, частота следования один раз в 5 секунд (в такт звуку гудка)."

Собственно так оно и есть, и данный момент работает замечательно.

А вот далее:

"При получении SMS сообщения, на линии появляется однократный импульс длительностью 25-35 мс."

Нет ни фига ни какого импульса. СМС приходят (из памяти симки считываются), но на выходе RING в момент приема нет ничего... Я уже без всяких ардуин, тупо аналоговым вольтметром ногу мониторил. При звонке стрелка дергается, при СМС - вообще без движения. Что может быть не так?

okta
Offline
Зарегистрирован: 10.01.2015

Как это обычно случается, разобрался сам после отправки сообщения на форум :)

Команда "AT+CNMI=2,2" включает информирование о полученных СМС. Поумолчанию СМС тихо падают в память СИМ без какого либо оповещения...

Demax
Offline
Зарегистрирован: 04.04.2012

подскажите, а на RX вы +5В подаете?
в даташите на M590 сказано "Maximum level < 3.3V
"
может там хоть резистор на плате стоит?
тоже нигде разводку платы найти не могу

Gres
Gres аватар
Offline
Зарегистрирован: 26.03.2013

Demax пишет:

подскажите, а на RX вы +5В подаете?
в даташите на M590 сказано "Maximum level < 3.3V
"
может там хоть резистор на плате стоит?
тоже нигде разводку платы найти не могу

В даташите написано через делители, у меня подключено на прямую к UART Arduino и все работает замечательно.

okta
Offline
Зарегистрирован: 10.01.2015

На одном моем модуле делитель стоит (изначально на плате), на другом напрямую 5V разведено. Оба работают.

Demax
Offline
Зарегистрирован: 04.04.2012

А если делать по даташиту, то почему собственно то что красным?
Я так понимаю, что в модуль прошивку залить нельзя будет?

s1981
Offline
Зарегистрирован: 22.12.2013

Добрый день! Помогите решить проблемму. Подключаю данный модуль, все как описано выше. Блок питания отдельный 5 вольт 600 mA. Диод один горит, другой моргает. Симка определяется, дозвон идет. Но в мониторе выводятся кракозяблы (---------- Neoway M590 star---------- Neoway M590 start
я0)Uю‡б¦‘vB©…aµд°…Ў©е•©ўж).

Может кто сталкивался с этой проблеммой? Помогите решить...

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

5В 2A надо, и скорость снизить до 19200

s1981
Offline
Зарегистрирован: 22.12.2013

Valera19701 пишет:

5В 2A надо, и скорость снизить до 19200

А подходящее питание посоветовать можете?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

s1981 пишет:

Valera19701 пишет:

5В 2A надо, и скорость снизить до 19200

А подходящее питание посоветовать можете?

Компьютерный БП ATX, как вариант. Пригодится в хозяйстве - точно, для разработок и отладки.

s1981
Offline
Зарегистрирован: 22.12.2013

Миниатюрное бы что то))

А вообще, вы точно думаете что дело в питании?? вроде у других работает и при более низком токе?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

s1981 пишет:

Миниатюрное бы что то))

А вообще, вы точно думаете что дело в питании?? вроде у других работает и при более низком токе?

Вроде на Марсе есть жизнь - мне по секрету баба Нюра сказала...

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

maxwell2010
Offline
Зарегистрирован: 12.09.2015

А у меня вот такой модуль:

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

и напряжение подаю 5В начал с 500мА и довел до 3А. то симку не видит, то ваще живет своей жизнью. последний ваще на всех сокорстях мусор в эфир сыпет. Короче так и не добился нормальной работы этих модулей. или работает, ардуину цепляешь и все... потерялася я...

Gres
Gres аватар
Offline
Зарегистрирован: 26.03.2013

Приехало пару модулей SW, еще не паял пока, а Neoway работает замечательно.

Вот рабочая(на соплях, времянка) конструкция, модуль второй платой снизу. Все запитано от 12 Вольт(бортовая сеть авто), через DC-DC преобразователь мелкий. Все исправно работает несколько месяцев.

maxwell2010
Offline
Зарегистрирован: 12.09.2015

Gres пишет:

Приехало пару модулей SW, еще не паял пока, а Neoway работает замечательно.

Вот рабочая(на соплях, времянка) конструкция, модуль второй платой снизу. Все запитано от 12 Вольт(бортовая сеть авто), через DC-DC преобразователь мелкий. Все исправно работает несколько месяцев.

Везет, а что вы им делаете в авто?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

maxwell2010 пишет:

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

 

Вы просто не умеете их готовить ;) На макетке, от старого компьютерного БП запитан, на соплях и соединительных проводах - работает как часы. Проверяйте питание, пишите правильный код - и будет работать как миленький.

maxwell2010
Offline
Зарегистрирован: 12.09.2015

DIYMan пишет:

maxwell2010 пишет:

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

 

Вы просто не умеете их готовить ;) На макетке, от старого компьютерного БП запитан, на соплях и соединительных проводах - работает как часы. Проверяйте питание, пишите правильный код - и будет работать как миленький.

Ваши бы слова, да моим бы модулям в модем.

rapidshe
Offline
Зарегистрирован: 31.12.2015

maxwell2010 пишет:

А у меня вот такой модуль:

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

и напряжение подаю 5В начал с 500мА и довел до 3А. то симку не видит, то ваще живет своей жизнью. последний ваще на всех сокорстях мусор в эфир сыпет. Короче так и не добился нормальной работы этих модулей. или работает, ардуину цепляешь и все... потерялася я...

дня 3-4 мучался...

в итоге мой рецепт такой:

зарядка от айпада(китайская, если важно :)

+ напрямую на гсм модуль, - на ардуину, - с ардуины на гсм модуль.

tx rx само собой.

в общем сначала включаю ардуину, секунд через 10-15 включаю m590. жду в монитор порта 

MODEM:STARTUP

+PBREADY

и ресетую ардуину.
 
 
такими танцами с бубнами всегда 100% успех.
если одновременно запускать, то иногда на первые две команды эрор выдается
 
пс: сегодня пришел пауэр банк ксиоми (подделка(хочу попробывать отбить деньги за то что написанно было оригинал)), модуль от него прекрасно работает. пауэ банк такой https://goo.gl/eCMvDk
вроде как 2.1а должен выдавать
maxwell2010
Offline
Зарегистрирован: 12.09.2015

rapidshe пишет:

maxwell2010 пишет:

А у меня вот такой модуль:

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

и напряжение подаю 5В начал с 500мА и довел до 3А. то симку не видит, то ваще живет своей жизнью. последний ваще на всех сокорстях мусор в эфир сыпет. Короче так и не добился нормальной работы этих модулей. или работает, ардуину цепляешь и все... потерялася я...

дня 3-4 мучался...

в итоге мой рецепт такой:

зарядка от айпада(китайская, если важно :)

+ напрямую на гсм модуль, - на ардуину, - с ардуины на гсм модуль.

tx rx само собой.

в общем сначала включаю ардуину, секунд через 10-15 включаю m590. жду в монитор порта 

MODEM:STARTUP

+PBREADY

и ресетую ардуину.
 
 
такими танцами с бубнами всегда 100% успех.
если одновременно запускать, то иногда на первые две команды эрор выдается
 
пс: сегодня пришел пауэр банк ксиоми (подделка(хочу попробывать отбить деньги за то что написанно было оригинал)), модуль от него прекрасно работает. пауэ банк такой https://goo.gl/eCMvDk
вроде как 2.1а должен выдавать

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

rapidshe
Offline
Зарегистрирован: 31.12.2015

maxwell2010 пишет:

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

а я хотел через транзистор размыкать цепь питания модуля... ну в общем пока этим вопросом не морочился) но рано или поздно займусь

 

наткнулся щас на интересную статейку http://arduinolab.pw/index.php/2016/01/20/primitivnaya-gsm-signalizaciya-na-neoway-m590-i-arduino/

rapidshe
Offline
Зарегистрирован: 31.12.2015

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

slider
Offline
Зарегистрирован: 17.06.2014

maxwell2010 пишет:

А у меня вот такой модуль:

....

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

и напряжение подаю 5В начал с 500мА и довел до 3А. то симку не видит, то ваще живет своей жизнью. последний ваще на всех сокорстях мусор в эфир сыпет. Короче так и не добился нормальной работы этих модулей. или работает, ардуину цепляешь и все... потерялася я...

как же вы довели сам ток до 3А? поднимали напряжение пока не сгорит модуль, и амперметр показал что ток достиг 3А ? 

припаивать модули надо качественно, прогревая паяльником и плату тоже, а не только модуль. Может казаться что припаялось а на самом деле просто капля припоя не прихватилась к плате. При нажатии щупа мультиметра - скажет контакт е. А отпустите  - пропадёт. Или в динамике при течении тока, контакт может пропасть.

Ставить кондер 2200-3300 мкф. и преобразователи уровней (для 5в ардуины) с 5в на 3.3в как описано в его PDF.

Мне пришли тож дешманские модули по 130р. Оказались разные:  ZH SW M590E и  NEOWAY M590E . оба отлично работают. принимают звонки и набирают номер. (gprs пока нет надобности и времени проверить)

Разве что к первому модулю монитором порта arduino IDE не подбиралась частота (там нет в списке 38400 ) , так в терминалке оказалось , законнектил,  изменил на оптимальные 9600. А во втором модуле изначально была 115200 , тож поменял на 9600.  

Оставшиеся резисторы 4,7к запаял между BOOT и GND на сам модуль, чтоб  при подаче питания модуль  сразу включался. Добавил проверенные кондеры с материнок, БП . ещё поставил последовательно резисторы 220ом на  RX TX RING для безопасности. Пока работают стабильно, от 5в, от USB .  

// ток 2A они потребляют в импульсе, поэтому спасает емкий кондёр на питании самого модуля. 

maxwell2010
Offline
Зарегистрирован: 12.09.2015

slider пишет:

как же вы довели сам ток до 3А? поднимали напряжение пока не сгорит модуль, и амперметр показал что ток достиг 3А ? 

Я и не доводил ток до 3А, я брал зарядник 3-х амперный, чтобы в момент импульса модулю было откуда ток потреблять.

И подскажите куда это вы кондеры припаяля на 3300мкф

slider
Offline
Зарегистрирован: 17.06.2014

maxwell2010 пишет:

......

И подскажите куда это вы кондеры припаяля на 3300мкф

Ну там же по дорожкам видно! 1й вывод модуля "-" ,   2й вывод модуля "+"

s1981
Offline
Зарегистрирован: 22.12.2013

Valera19701 пишет:

5В 2A надо, и скорость снизить до 19200

Купил блок питания 5в 2100 mA. Подключил....как шел в монитор бред, так и идет.

Подскажите? Если модуль шлет всякий бред, значит и скорость ему не поменять (командой mySerial.println("AT+IPR=19200");) Я правильно понимаю??

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

а вы через что к компу подключаете, через usb - uart или через ардуину?

s1981
Offline
Зарегистрирован: 22.12.2013

через ардуину

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

скетч в студию

s1981
Offline
Зарегистрирован: 22.12.2013

Скетч - #57

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

а землю между модулем и ардуино соединили?, и скорость у модуля по умолчанию 115200

s1981
Offline
Зарегистрирован: 22.12.2013

Valera19701 пишет:

а землю между модулем и ардуино сокдинили?, и скорость у модуля по умолчанию 115200

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

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

на компе выставляете скорость как написано в Serial.begin ?  а myserial скорость модема?

эту строку видите " Neoway M590 start" ?

 

s1981
Offline
Зарегистрирован: 22.12.2013

Valera19701 пишет:

на компе выставляете скорость как написано в Serial.begin ?  а myserial скорость модема?

эту строку видите " Neoway M590 start" ?

Да и строку видно и скорость на компе как Serial.begin

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

тогда только методом подбора в myserial, ставьте скоости такие какие есть  в мониторе порта, или берите usb-uart, чтобы ардуина не мешала

s1981
Offline
Зарегистрирован: 22.12.2013

хочу попробовать еще питание 3.7-4.2 попробовать. (у китайцев так написано) может поможет

s1981
Offline
Зарегистрирован: 22.12.2013

Valera19701 пишет:

тогда только методом подбора в myserial, ставьте скоости такие какие есть  в мониторе порта, или берите usb-uart, чтобы ардуина не мешала

Все скорости перепробовал, результат ноль.(((

Гавно, еб....ное а не модуль ((((*(

 

s1981
Offline
Зарегистрирован: 22.12.2013

s1981 пишет:

Valera19701 пишет:

тогда только методом подбора в myserial, ставьте скоости такие какие есть  в мониторе порта, или берите usb-uart, чтобы ардуина не мешала

Все скорости перепробовал, результат ноль.(((

Гавно, еб....ное а не модуль ((((*(

 

А без ардуины никак. Хотел сигналку в машину замутить. Придется отказаться. Гребаные китайцы Пи..ры

slider
Offline
Зарегистрирован: 17.06.2014

s1981 пишет:

Все скорости перепробовал, результат ноль.(((

Гавно, еб....ное а не модуль ((((*(

Вам дельные советы были даны, вы посчитали их по своему пониманию , может поэтому и не получается. 

Непонятно как у вас со схемотехникой, поэтому напишу.

Схема согласования уровней присутствует?

Вам дельный совет дали подключить через пререходник rx tx - usb (а то может проблемка как здесь http://arduino.ru/forum/apparatnye-voprosy/arduino-uno-ne-rabotaet-rx-tx-ch340g-podklyuchenie-m590-reshenie ) и подбарать скорость в отдельной программе (как гипертерминал в WinXP) , в терминале IDE нет скорости 38400 .  

чтобы он принял команду AT+IPR=9600 (т.е. сначала первым делом надо настроить на оптимальную скорость), надо перепробовать её скормить на всех скоростях (угадать с его скоростью). Ещё вариант: подбирая скорость в "гипертерминале"  , подавать питание на модуль и смотреть на какой скорости он ответит дееспособно MODEM:STARTUP ,...  .  // после смены скорости, желательно передернуть питание на модуле, и на терминалке выбрать уже 9600 (некоторые терминалки сами при этом закрывают порт и открывают его уже на скорости 9600, иначе надо перезагрузить терминалку)

 если он отвечает сначало хорошо а потом кракозябрами , то это скорее всего у вас плохой и длинный минус на модуль, от ардуино.      Думаете  ток только по плюсовому проводу? и по минусу тоже и столько же , если он слабый и длинный, то 2А во время регистрации в сети, наведут на нем приличное напряжение, и uart словит помехи кракозябры. Соедените минусы толстым проводом 1-2см. попробуйте запитать модуль от отдельного БП а не от ардуино (и минус БП вкючать не куда нибубь в ардуино, а в пин GND модуля) . И кондер хороший попробуйте на 1й и 2й пин модуля  (писал выше)

Это вы сделаете?     только потом можно хаять на производителей, что модуль не качественно припаяли (можно пропаять) или прошивка слетела. У меня наоборот с sim900 не везло (где-то   дорожки внутри платы не доходят) , а с десятком  M590 M590E проблем не было.

s1981
Offline
Зарегистрирован: 22.12.2013

Огромное спосибо!!!! Разобрался. Подключился через usb-uart. там нашел скорость на которую откликается. Установил 19600. Теперь нормально работает с Arduino))