SMS модуль

Тема в разделе "Посоветуйте детальки", создана пользователем DrProg, 2 авг 2015.

  1. ruslan55

    ruslan55 Нерд

    bj_tracer нравится это.
  2. ReZeC

    ReZeC Нерд

    Люди ! Скажите резистор с каким сопротивлением стоит со стороны Карты (R2 -который) на большой плате для самостоятельной сборки. Не положили в набор.... ;) Спасибо.
     
  3. ruslan55

    ruslan55 Нерд

    если вы имеете в виду модуль NEOWAY M590, то там все резисторы на 4,7к
     
  4. ReZeC

    ReZeC Нерд

    Спасибо однако.. на диоды, которые мигают и светятся - я поставил по 200 ом...
    ...значит будем ставить 4к7
     
  5. ReZeC

    ReZeC Нерд

    Ожил железка. Лампочкой моргает.
    удалось перевести его на 19200

    Но от других команд Ок не возвращает.... чо тока не делал..

    Подскажете ?
     
  6. Sher

    Sher Нуб

    Такая же фигня! Никак не получается запустить через DC-DC преобразователь. А так через USB и на UNO и через USB-UART спокойно все работает. Не пойму в чем может быть дело? Кстати если UNO только от батареи такая же фигня. СИМка подключается, звонки принимает но на экран ничего не выводит.

    Не удалось завести через преобразователь?
     
  7. bj_tracer

    bj_tracer Нуб

    Приветствую!
    Давно валялся сей модуль и вчера вечером решил с ним поиграться... Дома у меня мак и я часа 3 убил на то чтобы увидеть сей модуль через дуину в режиме юсб-уарт. Так и не завелось.
    Сегодня на работе полдня разбирался уже в винде - сначала таки достучался до модема и стали пересылаться АТ-команды, но все что касалось работы с симкой возвращало Еррор. В итоге выяснил, что в момент старта при инициализации симки на ней есть напряжение, а потом пропадает. Воткнул другую симку и о чудо! В порт прилетело сообщение о готовности телефонной книги... Измерил напряжение на карточке - 1,8в. Первая симка древня, года 2003. Скорее всего она еще 5в и модуль физически ее не может раскачать даже при работе от внешнего источника. Современные симки все на низкие вольты рассчитаны.
    От дуины штука может работать только в режиме ожидания, как только начинаются активные манипуляции с сетью - идет падение напряжения и перезапуск. Поэтому только качественное внешнее питание!

    Ну и вопрос: кто-нибудь пробовал сохранять конфиг в еепром модуля, чтобы не иницилизировать его каждый раз при старте? Это ж лишние строки и лишняя память контроллера.

    В документации написано, что 0 профиль грузится по умолчанию, но специальной командой можно вызывать другой. Соотв можно вместо инициализации создать несколько профилей, которые можно будет подгружать в зависимости от ситуации.
     
  8. bj_tracer

    bj_tracer Нуб

    проверил - скорость порта сохраняется, с остальными командами не ясно...
     
  9. Oleg4872s

    Oleg4872s Нуб

    Огромное спасибо за инфу. Собираюсь сделать проект для контроля температуры на даче, чтоб я отправлял команду в смс на дачу, на ардуино и обратно получал смс с температурой. Скетч для термодатчика с помощью ютуба написал, залил и он работает. Скиньте пожалуйста ссылку на библиотеку для модуля NEOWAY M590 и помогите со скетчем, укажите хотя бы направление в какой структуре писать. Заранее огромное СПАСИБО.
     
  10. bj_tracer

    bj_tracer Нуб

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

    Oleg4872s Нуб

    Спасибо
     
  12. Oleg4872s

    Oleg4872s Нуб

    При загрузке скетча выдает ошибку avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00 ???

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


    void setup()
    {
    Serial.begin(9600); //подключаем порт компьютера
    Serial.println("GSM Neoway M590 example");
    mySerial.begin(19200); //подключаем порт модема (при других скоростях не отвечает)
    mySerial.println("ATI"); //вывести в терминал иноформацию о модеме
    delay(100);
    mySerial.println("AT+CSQ"); //вывести в терминал уровень сигнала (если 99, то связи нет)
    delay(100);
    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 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("+CMT") > -1) { //если обнаружен СМС (для определения звонка вместо "+CMT" вписать "RING", трубку он не берет, но реагировать на факт звонка можно)
    if (val.indexOf(MASTER) > -1) { //если СМС от хозяина
    Serial.println("--- MASTER SMS DETECTED ---");
    } else {
    Serial.println("NO MASTER SMS");
    }

    //----------------------- поиск кодового слова в СМС (вообще эту часть надо поместить внутрь предыдущей, но если использовать кодовое слово не совпадающее с сообщениями модема, то не обязательно)
    if (val.indexOf("sendme") > -1) { // если обнаружено кодовое слово
    Serial.println("send you ok"); // сообщаем об этом в терминал (если нужно)
    sms("yes sir!", MASTER); // отвечаем смской
    } else { // если другое слово или вообще пустое сообщение
    Serial.println("no send you");
    sms("no sir!", MASTER);
    }
    val = "";
    }
    }
    }

    void sms(String text, String phone) //процедура отправки СМС
    {
    Serial.println("SMS send started");
    mySerial.println("AT+CMGS=\"" + phone + "\"");
    delay(500);
    mySerial.print(text);
    delay(500);
    mySerial.print((char)26);
    delay(500);
    Serial.println("SMS send complete");
    delay(2000);
    }
     
    Последнее редактирование: 18 дек 2015
  13. Oleg4872s

    Oleg4872s Нуб

    После загрузки скечта пишет вот эти ошибки

    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xf0
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xf0
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xf0
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xf0
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xf0
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xf0
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xf0
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xf0
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

    на команду АТ в командной строке не реагирует, что не так?
    Появляется надпись Goodnight moon!
     
  14. a1000

    a1000 Гуру

    Попробуй пообщаться с модулем через гипертерминал. Надеюсь переходник USB-COM имеется?
     
  15. a1000

    a1000 Гуру

    Есть и у меня одна проблемка. Модуль стал упорно отказываться от регистрации в сети. До этого работал довольно устойчиво, но в последнее время стали возникать проблемы. Модуль стартует, через гипертерминал с помощью АТ команд общается. При проверке уровня сигнала всё норм
    AT+CSQ
    +CSQ: 27,0

    OK

    А вот при попытке получить информацию об операторе выдаёт
    AT+COPS?
    +COPS: 2

    OK
    Как я понял, видит два оператора, но ни в одной из сетей не регистрируется. Соответственно звонок на модуль выдаёт - абонент не в сети. Через некоторое время (когда через пару минут, когда через пол часа) регистрация происходит. Всё начинает работать - звонки, СМС и т.д. Оператор МТС-Украина.
    Может у кого такое было и как проблема решилась?
     
  16. Oleg4872s

    Oleg4872s Нуб

    Есть переходник юсб - тх;рх по нему получится?
     
  17. Oleg4872s

    Oleg4872s Нуб

    подскажите где на него взять драйвер, компютер его видит как комп-порт
     
  18. DrProg

    DrProg Вечный нерд

    Так они и общаются по UART, т.е. через ком-порт. Запускайте терминал хотя бы через IDE и пишите туда команды.
     
    ИгорьК нравится это.
  19. a1000

    a1000 Гуру

    Да, всё правильно. Подключай модуль к переходнику
    модуль переходник
    RX ----------- TX
    TX ------------ RX
    GND ---------- GND
    +5 ---------- +5
    Запускай гипертерминал выбирай порт на котором определился твой переходник, в настройках порта установи скорость 9600 и управление потоком "Нет". Остальное без изменений. И через гипертерминал попробуй пообщаться с модулем с помощью АТ команд.
     
  20. DrProg

    DrProg Вечный нерд

    Модуль становятся компактнее и дешевле. Жаль, что так и нет 5V версии, но все равно уже лучше. Не понятно только готовое изделие это или набор для самостоятельной сборки как в прошлый раз. Приедет, отчитаюсь.
     
    ИгорьК нравится это.