Страница 2 из 63

Блок пользователя для работы с GSM

Добавлено: 26.07.2016{, 22:13}
TVG
Эх нужно тож поковырять sim 900 а то шилд лежит

Блок пользователя для работы с GSM

Добавлено: 29.07.2016{, 13:27}
Vitez
Кто может, помогите с изменением оператора Delay на millis в скетче. никак не могу догнать, как правильно сделать.

if ( In_sms   ==  true)
    {  
    Serial1.print("AT + CMGS = \"");
    delay(300);
    Serial1.print( Phone );
    delay(300);
    Serial1.println("\"");
    delay(300);
//
    Serial1.println(  text  );
    delay(300);
    Serial1.println(  "\n"  );
    delay(300);
//
    Serial1.println(    text1    );
    delay(300);
    Serial1.println(  "\n"  );
    delay(300);
//
    Serial1.println(    text2    );
    delay(300);
    Serial1.println(  "\n"  );
    delay(300);
//
Serial1.println(     text3     );
    delay(300);
    Serial1.println(  "\n"  );
    delay(300);
//
Serial1.println(     text4     );
    delay(300);
    Serial1.println(  "\n"  );
    delay(300);
//
Serial1.println(     text5     );
    delay(300);
    Serial1.println(  "\n"  );
    delay(300);
//
Serial1.println(      text6      );
    delay(300);
    Serial1.println(  "\n"  );
    delay(300);
//
    Serial1.println((char)26);
    delay(300);
    Serial1.println();
    delay(300);
}

Блок пользователя для работы с GSM

Добавлено: 29.07.2016{, 16:33}
Vitez
НовыйUser, Алгоритм работы блока меня устраивает полностью. 5 месяцев работы, 704 смс принято и отправлено. Зависаний и ошибок нет. Единственно, сейчас вылез баг из за оператора Delay.

Блок пользователя для работы с GSM

Добавлено: 29.07.2016{, 18:55}
Vitez
Когда приходит смс, основная программа тормозится на Delay, при работе с Каскадой вылетает ошибка

Блок пользователя для работы с GSM

Добавлено: 29.07.2016{, 20:21}
Слимпер
Vitez писал(а):Кто может, помогите с изменением оператора Delay на millis в скетче. никак не могу догнать, как правильно сделать.
На пальцах объяснять было не охота, поэтому взял блок из первого сообщения и переделал его.
Но так как устройства нет, проверить не могу, если не заработает пишите, будем разбираться.

Блок пользователя для работы с GSM

Добавлено: 29.07.2016{, 20:38}
Vitez
Слимпер, спасибо.Интегрирую, отпишусь.

Блок пользователя для работы с GSM

Добавлено: 30.07.2016{, 06:08}
Слимпер
НовыйUser писал(а):но как это сделать - не знаю....если кто вкурсе - накидайте возможные решения кода, проверю....
Если я правильно понял, что вам надо ( в чем я не до конца уверен  ), то вот так передел ваш проект.
Но проверить опять же нет возможности, пробуйте.

Когда Vitez, проверит тот вариант кода что я выкладывал раньше, и ваш блок лучше переделать.

Vitez, вопрос, а вариант SoftwareSerial не рассматривали?

Блок пользователя для работы с GSM

Добавлено: 30.07.2016{, 11:43}
Слимпер
НовыйUser писал(а):выход в терминал от модема при поступлении смс телефонный номер выглядит так:-сначала номер с некоторой доп инфой (онда строка)
-потом текст сообщения (вторая строка ниже)
Можете выложить скриншот терминала что приходит (передает модуль) при получении SMS?
Не могу понять последовательность.

Блок пользователя для работы с GSM

Добавлено: 30.07.2016{, 12:27}
Слимпер
Как не удобно без возможности самому проверить
Попробуйте эту версию.
Вроде нашел в коде пару косяков.

Блок пользователя для работы с GSM

Добавлено: 30.07.2016{, 13:23}
Слимпер
НовыйUser писал(а):25 и 26 молчат
Странно, а можно глянуть, что на выходе Call, скажем вот

Блок пользователя для работы с GSM

Добавлено: 30.07.2016{, 14:16}
Слимпер
НовыйUser писал(а):после коспиляции в системе только ком1 и ком5открываю монитор компорта 1 и 5
рефреш портов дает сброс контроллеру
подключение к 5 дает сброс контроллера

нулевого порта нету :(

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

Блок пользователя для работы с GSM

Добавлено: 30.07.2016{, 20:16}
Слимпер
Слимпер писал(а):Ладно чуть позже попробую сымитировать приход SMS от модуля другой Arduino.
Вот результат экспериментов, переделал блок так, что на выходе Call сразу номер телефон отправителя СМС.
На выходе sms при получении СМС на один программный цикл  подымается 1.
Внешнее обвязку тоже изменил.

На имитаторе прием проверял, срабатывает, проверьте на реальном варианте. 
Дальше пока не полез.

Блок пользователя для работы с GSM

Добавлено: 30.07.2016{, 20:50}
Слимпер
НовыйUser писал(а):только один пока вопрос...каким образом у верхнего AND появился 3 вход ?

СпойлерПоказать
$IMAGE1$
Так добавляется,


СпойлерПоказать
а так удаляется (или правой кнопкой на вход или значек)

Блок пользователя для работы с GSM

Добавлено: 30.07.2016{, 21:10}
Слимпер
НовыйUser писал(а):я так к слову отвелчься от кода....просто не понятно какой смысл третьего входа если сравнение всего двух идет... просто проброс без обработки на выход...или недокументированная возможность сравнить разом 3 сигнала ?
Сравнивать можно хоть десять и в блок AND (И), на выходе 1 будет только тогда когда на всех входах (2 или 10) будут 1.

Из хелпа Wiki, тоже есть и Онлайн помощи

«Добавить вход» Изображение - Служит для добавления входа к блокам OR или AND.
«Удалить вход» Изображение - Служит для удаления входа у блоков OR или AND.

Блок пользователя для работы с GSM

Добавлено: 31.07.2016{, 10:39}
Слимпер
НовыйUser писал(а):проверил оба телефона. оба работают ! ))) но через раз на них смски шлет....
Вот это вообще странно, если прошёл сигнал gosms, то и на вход он должен прийти.
Похоже, проблема в той части, что отправляет СМС, а раньше все всегда ответные смс уходили?
НовыйUser писал(а):где-то за пол часа простоя была сработка реле без запросов... смс не отослало...как-то сам по себе сработал
Может был перезапуск контроллера?
НовыйUser писал(а):вообщем осталось понять как сделать чтобы отвечал на каждое смс любого номера...а не на 1-3-5-7-9
Для контроля попробуй место gosms на вход блока поставить кнопку, и на вход Phone один конкретный телефон. Проверить в какой части все таки дело.

Блок пользователя для работы с GSM

Добавлено: 31.07.2016{, 16:40}
Слимпер
НовыйUser писал(а):все три выхода стабильно разом срабатывают одновременно...и так же стабильно абсолютно через раз шлет ))
Похоже дело в работе с самим модемом, хотя очень странно, что ровно через раз, блок отправки СМС там один, и он не может срабатывать по разному.

Что самое странное:
НовыйUser писал(а):а раньше все всегда ответные смс уходили?да
А код отправки я не менял.

Надо будет еще посмотреть сам код отправки, возможно придется его править, для начало добавить проверку корректности отправки.
НовыйUser писал(а):тайминги задержки роли не играют единственное что точно по выходам остается после выполнения висеть на выходе блока после выполнения всех операций содержимое смски и номер телефона...
А что надо убирать, а зачем? Так то это сделать не проблема.

Блок пользователя для работы с GSM

Добавлено: 31.07.2016{, 20:06}
Vitez
Слимпер, Спасибо, все работает. Проблема с Каскадой то же устранилась.

Блок пользователя для работы с GSM

Добавлено: 31.07.2016{, 20:33}
Слимпер
НовыйUser писал(а):на видео работа отправки смс. 16 минута. только у меня не кушает модем ни 0x0D не $1Aв сетапе только через \r и отправка (стрелка) через Serial3.println((char)26);
это разные формы записи одно и того символа.
  $0D (HEX)  --  (char)13 (DEC)-- \r   переноса строки
$1A  -  (char)26  тоже спец символ.  

Ладно завтра еще посмотрю что можно сделать.

Блок пользователя для работы с GSM

Добавлено: 01.08.2016{, 19:37}
Слимпер
Слимпер писал(а):Ладно завтра еще посмотрю что можно сделать.
Почитал описание команд, форум, переписал блок почти полностью.
Сделал описание входов выходов
Новое:
Отправка по переднему фронту (один раз, даже если 1 все время висит)
Проверка корректности оправки СМС, выход с кодом Ошибки
Выходы Принята СМС и Отправлена СМС выдают одиночные импульсы 

Была мысль добавить авто удаление СМС, т.е. кода сообщений становится много то удалять несколько старых. Но пока не до конца понял, что будет отвечать модуль на команду AT+CPMS?
Или лучше  доделать авто удаление сообщения по его прочтению?

Еще есть команды готовности модуля к работе и регистрации в сети, можно было бы это анализировать, но в каком виде выводить не знаю. 

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

Блок пользователя для работы с GSM

Добавлено: 01.08.2016{, 19:56}
stapmoff
Блок получился супер, но где поддержка других контроллеров, например уно! Предлагаю вам в настройках блока сделать выбор портов для назначения RX TX