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

Создаем свой блок. Вопросы, помощь знатоков.
TVG
Рядовой
Сообщения: 47
Зарегистрирован: 15.09.2015{, 14:40}
Репутация: 0

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

#21

Сообщение TVG » 26.07.2016{, 22:13}

Эх нужно тож поковырять sim 900 а то шилд лежит

Аватара пользователя
Vitez
Сержант
Сообщения: 211
Зарегистрирован: 08.11.2015{, 14:32}
Репутация: 4

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

#22

Сообщение Vitez » 29.07.2016{, 13:27}

Кто может, помогите с изменением оператора 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);
}

Аватара пользователя
Vitez
Сержант
Сообщения: 211
Зарегистрирован: 08.11.2015{, 14:32}
Репутация: 4

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

#23

Сообщение Vitez » 29.07.2016{, 16:33}

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

Аватара пользователя
Vitez
Сержант
Сообщения: 211
Зарегистрирован: 08.11.2015{, 14:32}
Репутация: 4

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

#24

Сообщение Vitez » 29.07.2016{, 18:55}

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

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#25

Сообщение Слимпер » 29.07.2016{, 20:21}

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

Аватара пользователя
Vitez
Сержант
Сообщения: 211
Зарегистрирован: 08.11.2015{, 14:32}
Репутация: 4

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

#26

Сообщение Vitez » 29.07.2016{, 20:38}

Слимпер, спасибо.Интегрирую, отпишусь.
Последний раз редактировалось Vitez 29.07.2016{, 20:40}, всего редактировалось 1 раз.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#27

Сообщение Слимпер » 30.07.2016{, 06:08}

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

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

Vitez, вопрос, а вариант SoftwareSerial не рассматривали?
Вложения
test.flp
(298.31 КБ) 131 скачивание

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#28

Сообщение Слимпер » 30.07.2016{, 11:43}

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

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#29

Сообщение Слимпер » 30.07.2016{, 12:27}

Как не удобно без возможности самому проверить
Попробуйте эту версию.
Вроде нашел в коде пару косяков.
Вложения
test_2.flp
(307.3 КБ) 87 скачиваний

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#30

Сообщение Слимпер » 30.07.2016{, 13:23}

НовыйUser писал(а):25 и 26 молчат
Странно, а можно глянуть, что на выходе Call, скажем вот
Вложения
test_4.flp
(316.18 КБ) 78 скачиваний

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#31

Сообщение Слимпер » 30.07.2016{, 14:16}

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

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

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

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#32

Сообщение Слимпер » 30.07.2016{, 20:16}

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

На имитаторе прием проверял, срабатывает, проверьте на реальном варианте. 
Дальше пока не полез.
Вложения
test_6.flp
(302.89 КБ) 92 скачивания

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#33

Сообщение Слимпер » 30.07.2016{, 20:50}

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

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


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

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#34

Сообщение Слимпер » 30.07.2016{, 21:10}

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

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

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

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#35

Сообщение Слимпер » 31.07.2016{, 10:39}

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

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#36

Сообщение Слимпер » 31.07.2016{, 16:40}

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

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

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

Аватара пользователя
Vitez
Сержант
Сообщения: 211
Зарегистрирован: 08.11.2015{, 14:32}
Репутация: 4

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

#37

Сообщение Vitez » 31.07.2016{, 20:06}

Слимпер, Спасибо, все работает. Проблема с Каскадой то же устранилась.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#38

Сообщение Слимпер » 31.07.2016{, 20:33}

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

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

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

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

#39

Сообщение Слимпер » 01.08.2016{, 19:37}

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

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

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

Самое любопытное было бы разобраться как его в режим сна переводить, и будить обратно. Но это без модуля будет проблематично, т.к. необходимо подключение к реальному модулю.
 
Вложения
test_7.flp
(371.15 КБ) 115 скачиваний

Аватара пользователя
stapmoff
Лейтенант
Сообщения: 341
Зарегистрирован: 16.05.2016{, 10:21}
Репутация: 4

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

#40

Сообщение stapmoff » 01.08.2016{, 19:56}

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

Ответить

Вернуться в «Разработка пользовательских блоков»