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

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

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

#41

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

stapmoff писал(а):Блок получился супер,
Если вы про тот что выкладывал я (Слимпер), как он работает я не знаю, дорабатывал по документации без реального модуля. Вот появится НовыйUser, 11159по тестирует и скажет.
Первые блоки делал Vitez, он говори что у него все нормально работает.
stapmoff писал(а):но где поддержка других контроллеров, например уно!
Ту есть закавыка в написании пользовательских блоков, без значительного увеличения кода, а следовательно занимаемой памяти, сделать универсальный блок не получится.

Но надо будет попробовать, насколько он станет тяжелее.
stapmoff писал(а):Предлагаю вам в настройках блока сделать выбор портов для назначения RX TX
Вы про аппаратный порт или про SoftwareSerial ?

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

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

#42

Сообщение Слимпер » 02.08.2016{, 07:51}

НовыйUser писал(а):receivvedsms: 0 (при получении мгновенно реле включается и выключается)senttsms: 0 (при получении мгновенно реле включается и выключается )
texttsms: TEST1
tnommer: +79номеропределен
errror: 0
Кажет я понял, что получилось, виной опять отсутствие модуля .
По совету с форума не работает? Neoway m590
В отправку сообщения добавил еще одну команду:
Serial3.print("AT+CMGF=1\r");

Так как сделана проверка на ответ модуля на команды, и завершение команды при получении от модуля сообщения OK, отправка завершалась (обрывалась) на середине, после получения ОК после первой команды.

Вроде поправил, должно помочь, но проверь смогу только вечером.
Все остальное по отчету проходило правильно.

Я вас уже наверное, замучил своим не доделками ^_^

Добавлено (02.08.2016, 07:32)
---------------------------------------------
НовыйUser писал(а):на сколько помню команда что используем Serial3.println("AT+CNMI=2,2,0,0,0");указывает модему все смс сразу в терминал выводить без сохранения на симкарте
Вы правы 2,2 дает вывод сообщение без сохранения на симку. Пропустил эту команду кода разбирался с кодами.
Ладно тогда про удоление СМС пока забудем. 

А вот про контроль связи, явно лучше по разбираться

Добавлено (02.08.2016, 07:42)
---------------------------------------------
Согласно статье GSM модуль NEOWAY M590 – описание и команды управления
Там доп обвязка требуется для возможности перезапуска в случаи зависания.

Добавлено (02.08.2016, 07:51)
---------------------------------------------
НовыйUser писал(а):в блоке VITEZ когда я переделывал еще тогда для тестов на всякий случай снимал интегер переменную на скоростях и указал конкретное число 115200 (из-за описания того что в INTEGER ставится от -32768 до 32768) Не знаю влияет ли это... чтобы не было глюк тогда исключал..
Ну согласен не совсем корректно, но при компиляции все равно будет выглядеть так
Serial3.begin( 115200 );
Но для порядку заменю тип на Long.
Вложения
4714149.flp
(367.99 КБ) 74 скачивания
Последний раз редактировалось Слимпер 02.08.2016{, 07:39}, всего редактировалось 1 раз.

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

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

#43

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

НовыйUser писал(а):реле13 включает НА ВСЕ СМС ЗА ИСКЛЮЧЕНИЕМ ПЕРВОЙИ
Вообще то это кося, следствие особенностей работы компилятор FLProg.


СпойлерПоказать
  На картинке обозначил последовательность обработки блоков, после анализа кода. Как оказалось блоки сравнения строк и поиска подстроки имеют разный приоритет.

Надо либо заменить блок поиска подстроки на блок сравнения, но тогда нельзя будет отправить несколько команд одновременно.
 Или все, что правее блоков поиска и сравнения строк перенести на следующею плату.
Вложения
8073105.png

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

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

#44

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

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

СпойлерПоказать
Вложения
m590_mega2560-C.ubi
(165.07 КБ) 89 скачиваний
0177688.png

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

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

#45

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

НовыйUser писал(а):1) легко править количество входов. Чтобы новичок, а точнее продвинутый мог бы легко поменять для новичка в блоке количество входов. Либо простое описание тут или в блоке как это сделать. А вообще даже подцеплять те входа где нет ПУСТО... подал пользователь только на один вход..один и отправляется...на два -два.. итд..
Надо подумать, опять код придется править, но пару идей есть.
Хотя можно вообще одной строкой СМС оправлять, на картинки два варианта 
СпойлерПоказать
НовыйUser писал(а):2) качество связи вход и выход для него
Помоему достаточно просто выхода, с опросом, скажем, 30сек.
НовыйUser писал(а):3) универсальный вход куда можно подать любую инфу и команду и получить с универсального выхода все что блок выдает
Вот тут не знаю сложновато, да и смыла не вижу, тогда уже лучше сам блок под себя переделывает, или сделать другой блок для этих целей.
НовыйUser писал(а):AT+CMGF=[<mode>]0: PDU mode1: text mode
Это в позволить СМС на русском, но пока очень салоп понял.

Добавлено (02.08.2016, 17:11)
---------------------------------------------
Думал добавить выход Поступил Звонок. Не сложно, но вот нужно или нет Вопрос.
Вложения
4991985.png

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

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

#46

Сообщение Слимпер » 02.08.2016{, 17:24}

НовыйUser писал(а):по прежнему в одну строку цифры формируетвижу \r добавили..
Замените в  функции bool sms_sent() их на \n

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

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

#47

Сообщение Слимпер » 02.08.2016{, 17:25}

НовыйUser писал(а):ок
И попробуйте вариант с кортики, сложение строк но тоже \n

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

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

#48

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

НовыйUser писал(а):судя по смс после 9 стоит пустая строка (приблизительный вид)
Надо убрать text8+"\n"
А вариант не пробовали
СпойлерПоказать
Просто по моему это было бы самым лучшим решение, всего один вход.
Хотя мне интересно какова максимальная длинна СМС, на телефоне у меня длинные смс режутся на части.
Вложения
6971270.png

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

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

#49

Сообщение Vitez » 03.08.2016{, 07:37}

НовыйUser, запутался в ваших вариантах Дай ссылку на рабочие блоки. Размещу в первом посте.
Слимпер писал(а):Хотя мне интересно какова максимальная длинна СМС
SMS на латинице вмещает до 160 символов, включая пробелы
Последний раз редактировалось Vitez 03.08.2016{, 07:37}, всего редактировалось 1 раз.

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

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

#50

Сообщение Слимпер » 03.08.2016{, 07:48}

Vitez писал(а):Размещу в первом посте.
А что вы можете редактировать первое сообщение, я в своих темах не могу.
Vitez писал(а):SMS на латинице вмещает до 160 символов, включая пробелы
Спасибо, буду знать. Может потом нарезку на сообщения сделаю.

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

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

#51

Сообщение Vitez » 03.08.2016{, 08:52}

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

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

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

#52

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

НовыйUser писал(а):Выложил как готовый к работе и с которого можно продолжать изменения дальше
Сейчас пытаюсь добавить, проверку регистрации и уровня сигнал, а также обработку того, что на модуль поступает звонок.
По ходу пришлось опять менять часть реализации, отказался от временных задержек и перешел на обработку ответов от модуля. По другому не получилось анализировать нужные данные.
Вечером протестирую на макете, а потому уже сюда, на реальный тест.
НовыйUser писал(а):Отличное приложения по отправки смс с андройда получаются с апп инвентора. Под любые версии ус-ва.
  А я с андроидом не дружу , пользуюсь кнопочным телефоном.
Да и модуля нету (пока не нужен), просто на работе делать нечего, а задача интересная, за одним хоть немного разбираюсь в программирование на Arduino IDE, а то далеко не все получается сделать в FLProg, без собственных блоков на CODE.
Последний раз редактировалось Слимпер 03.08.2016{, 12:12}, всего редактировалось 1 раз.

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

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

#53

Сообщение Vitez » 03.08.2016{, 12:31}

НовыйUser, для отправки и приема смс пользую "GSM Trinket"
https://play.google.com/store....t&hl=ru
Последний раз редактировалось Vitez 03.08.2016{, 12:37}, всего редактировалось 1 раз.

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

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

#54

Сообщение stapmoff » 03.08.2016{, 13:40}

НовыйUser писал(а):блок отличный вышел. уже прямо под второй проект подходит.
Вопросик. Так будет поддержка выбора порта или нет? Если нет как можно проверить это дело на UNO

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

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

#55

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

stapmoff писал(а):Вопросик. Так будет поддержка выбора порта или нет? Если нет как можно проверить это дело на UNO
Нормальный выбор, сделать не получится, пробовал. Но можно просто сделать несколько вариантов блока под разные порты, в том числе Software.
А вообще смена ком-порта на тот, что есть UNO, не сложно, откройте блок редактором и везде где найдете уберите цифру 3 Serial3. (секции Setup, Loop, в секции Function есть только в функции bool sms_sent ).

Когда закончу отлаживать блок сделаю все 4 версии (включая  Software), но сейчас все в процессе.

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

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

#56

Сообщение stapmoff » 03.08.2016{, 14:11}

Слимпер писал(а):но сейчас все в процессе
Вот хороший ответ)))

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

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

#57

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

Слимпер писал(а):Сейчас пытаюсь добавить, проверку регистрации и уровня сигнал, а также обработку того, что на модуль поступает звонок.
Вот, на макете тестил.
Но проверить надо все, т.к. есть серьезные изменения программы.
В блоке есть описания.

Добавлено (03.08.2016, 19:26)
---------------------------------------------
Если что из функций не будет работать, надо будет записать как модуль отвечает на команды :
AT+CREG?
AT+CSQ
И что выдает при входящем звонке
Файл удалил Была ошибка
Последний раз редактировалось Слимпер 04.08.2016{, 03:15}, всего редактировалось 1 раз.

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

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

#58

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

НовыйUser, Дико извиняюсь, блок не мог работать . Я утром когда проснулся сразу сообразил (еще даже комп не включал), что накосячил  .  Надо на свежую голову выкладывать.

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

Позже прочитаю ваше сообщение.

Еще раз извиняюсь.

Добавлено (04.08.2016, 08:17)
---------------------------------------------
Нашел команды проверки баланса, будет возможность попробуй 

AT+CUSD=1,"*100#",15
И
ATD#100#
Ну сменишь число 100 на другое, согласно оператору.

Добавлено (04.08.2016, 08:58)
---------------------------------------------
Нашел пару документов по теме
АТ-Команды Модуль другой. зато описание очень подробно и на русском, но так  как АТ команды стандартная вещь то большая часть  совпадает.
Send_Ru_SMS_using_GS M_Neoway  статья про PDU 
Сижу читаю, что до как
Вложения
9335291.ubi
(227.1 КБ) 86 скачиваний

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

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

#59

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

НовыйUser писал(а):посылаю: AT+CUSD=1,"*100#",15
Попробуй еще:
at+cusd=1,"#100#",15
По чему то иногда так пишут

Добавлено (04.08.2016, 11:22)
---------------------------------------------
А вообще если вставить sim в телефон код *100# работает?

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

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

#60

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

Странно в разных местах пишут что так работает.
Надо только не забывать после загрузки модуля сперва отправить
AT+CMGF=1
AT+CSCS="GSM"
AT+CNMI=2,2,0,0,0
AT+CLIP=1

И только если все команды прошли без ошибок, тогда писать.
AT+CUSD=1,"#100#",15
И лучше набери в ручную, уже сталкивался с тем, что при копировании некоторые символы не так вставляются
Последний раз редактировалось Слимпер 04.08.2016{, 11:42}, всего редактировалось 1 раз.

Ответить

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