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

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

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

#281

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

Max писал(а):Еще интересно, почему уровень связи показывается такими странными цифрами с "минусом", там ведь он отправляет целочисленные не отрицательные значения?
В блоке идет пересчет в стандартную величину почитайте Что такое dBi, dBm?
Max писал(а):Родился вопрос, какое время тратиться блоком для инициализации (от подачи питания), в описании не увидел. Т.к. при этом модуль ни как не отзывается и может сложиться впечатление о его не работоспособности. Наверно, эту информацию стоит добавить в описание в самом начале.
А я этого не знаю, в смысле время.
А вот что надо наверное написать, что подавать питание на модуль надо, одновременно или после питания контроллера.   Или после загрузки программы делать сброс модулю. Иначе программа не поймет что модуль стартовал. 
Надо подумать как это более понятно описать.

Добавлено (08.09.2016, 06:36)
---------------------------------------------
Max писал(а):Т.к. при этом модуль ни как не отзывается и может сложиться впечатление о его не работоспособности.
У меня и пока он не сообщит блоку , что стартовал, ему и команды не посылаются.

Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

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

#282

Сообщение Max » 08.09.2016{, 09:11}

Слимпер писал(а):А вот что надо наверное написать, что подавать питание на модуль надо, одновременно или после питания контроллера.
Ах вот оно что!
У меня, так как я делал общение с блоком SIM800L в стандартном режиме FLProg (без создания программного блока), в блоке питания установлена задержка на включение MEGA 5 сек. Т.е. сначала включается SIM800, потом через задержку включается Ардуино.
Т.к. замечал, что если включать GSM модуль сразу с Ардуино, то бывает сыпется мусор...
И бывало, что из за этого строки разбирались не правильно. Я с этим же блоком питания пробую ваш блок... пару раз замечал, что нет коннекта с SIM800

zikkgaz24
Сержант
Сообщения: 132
Зарегистрирован: 26.08.2016{, 22:53}
Репутация: 0
Откуда: Красноярск

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

#283

Сообщение zikkgaz24 » 08.09.2016{, 12:25}

привет а может добавить вывод который будет через указанный пин подовать ипульс на контакт ресет после вкл ардуино так может эта проблема исчезнет и не надо будет выкл потом вкл модуль или все остольные варианты вот такая мысль

Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

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

#284

Сообщение Max » 08.09.2016{, 14:02}

НовыйUser писал(а):для каких задач сделана задержка ?
Я же объяснил. При включении модуля SIM800L иногда появляется мусор... Для отсечения оного и завел задержку.

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

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

#285

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

zikkgaz24 писал(а):привет а может добавить вывод который будет через указанный пин подовать ипульс на контакт ресет после вкл ардуино так может эта проблема исчезнет и не надо будет выкл потом вкл модуль или все остольные варианты вот такая мысль
Это легко делается и без переделки блока. 
Еще где то раньше выкладывал (сообщение 293) блок перезагрузки по ошибкам, но это так идея была без тестов.

Добавлено (08.09.2016, 18:04)
---------------------------------------------
Вопрос не по теми у кого нибудь есть 74НС165? Если есть, загляните в тему Входной сдвиговый регистр 74HC165
Вложения
8175807.png

zikkgaz24
Сержант
Сообщения: 132
Зарегистрирован: 26.08.2016{, 22:53}
Репутация: 0
Откуда: Красноярск

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

#286

Сообщение zikkgaz24 » 09.09.2016{, 09:26}

ДА ДА  видел качал но вот что мешает ему не всегда ошибки появляються нужные чтоб блок произвел сброс и я только мысль огласил 
Сам я просто поставил таймер на 3 сек и сброс производиться чтоб наверняка

Добавлено (09.09.2016, 09:26)
---------------------------------------------
пиривет слимпер а скажи ты не думал над идеей сделать блок для работы по GPRS например с андроида управлять чем нибудь ? сложно или нет реально вообще это сделать ? хочу знать твое мнение !!!

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

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

#287

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

zikkgaz24 писал(а):пиривет слимпер а скажи ты не думал над идеей сделать блок для работы по GPRS например с андроида управлять чем нибудь ? сложно или нет реально вообще это сделать ? хочу знать твое мнение !!!
Думал, даже читал кое что, но я почти не знаю интернет технологии (передачу данных), на моем уровне знаний, только скопировать существующий проект. 
Да и к тому же, без возможности передать в блок массив данных сделать что универсально вообще крайне сложно.
Да и пока другими делами занялся. Может и вернусь к этой идее, но позже.

zikkgaz24
Сержант
Сообщения: 132
Зарегистрирован: 26.08.2016{, 22:53}
Репутация: 0
Откуда: Красноярск

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

#288

Сообщение zikkgaz24 » 09.09.2016{, 15:39}

А как ты готовое в ставляешь  в редакторе блоков ?

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

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

#289

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

zikkgaz24 писал(а):А как ты готовое в ставляешь  в редакторе блоков ?
Ну на эту тему есть в Учебный центр, и статья и видео.

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

Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

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

#290

Сообщение Max » 10.09.2016{, 17:49}

Чего-то у меня проблемы с запуском этого блока.
Я так понял, что блок начинает работать только тогда, когда в порту от модуля появится сообщение  Call Ready (+PBREADY).
Но у меня SIM800 почему то почти не генерирует эти сообщения.... Предлагаю внести в модуль другой принцип старта. При включении питания делается запрос в порт SIM800 команду AT+GSN (запрос IMEI) на что модуль ответит строкой с IMEI и в конце поставит ОК и только потом блок начинает работать с SIM800. Внести дополнительный параметр в раздел "Параметры блока" под названием "IMEI модуля" и каждый, кто будет пользоваться блоком вводит туда IMEI своего модуля.

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

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

#291

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

Max писал(а):Но у меня SIM800 почему то почти не генерирует эти сообщения...
Тут такое дело, что для того чтобы модуль начал их отправлять при старте, необходимо настроить его на статическую скорость порта.
По умолчанию у него авто настройка, он ждет  любой команды, по кторой подхватывает скорость. Почитай сообщения 147 -149.
В сообщении 309 выкладывали, переделанный вариант с отдельным входам для старта.
Max писал(а):Предлагаю внести в модуль другой принцип старта. При включении питания делается запрос в порт SIM800 команду AT+GSN (запрос IMEI) на что модуль ответит строкой с IMEI и в конце поставит ОК и только потом блок начинает работать с SIM800. Внести дополнительный параметр в раздел "Параметры блока" под названием "IMEI модуля" и каждый, кто будет пользоваться блоком вводит туда IMEI своего модуля.
Можно, но я считаю существующий вариант лучше, там что при правильной настройки модуля, происходит авто детектирование его перезагрузки и авто инициализация.

Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

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

#292

Сообщение Max » 10.09.2016{, 21:53}

Слимпер писал(а):Тут такое дело, что для того чтобы модуль начал их отправлять при старте, необходимо настроить его на статическую скорость порта.По умолчанию у него авто настройка, он ждет любой команды, по кторой подхватывает скорость. Почитай сообщения 147 -149.
В сообщении 309 выкладывали, переделанный вариант с отдельным входам для старта.
Нет, не работает. Пару раз в самом начале работал, а потом все...
И к тому же в двух вариантах блока - не работает. Отключишь блоки, просто в терминале в ручную - все работает, модуль отвечает на все команды. Скорость 9600 (установлена постоянно).
Если (как ранее писал stapmoff) при включении модуля успеть набрать в терминале команду АТ, то иногда запускается блок...

Все же считаю, что запуск по запросу на IMEI самый универсальный и не зависящий от особенностей плат в их начальной инициализации. Забиваешь свой IMEI и все, после временной задержки (на время переходных процессов в SIM800) запрашиваешь и он отвечает, а уже далее весь блок полноправно начинает работать. Всегда гарантированно, а не вылавливаешь эти +CPIN: READY, Call Ready, SMS Ready, которые может и загрузятся, а может не загрузятся, а могут частично загрузиться...

Добавлено (10.09.2016, 21:53)
---------------------------------------------
В общем вроде заработало, но только с блоком из 309 сообщения.
Сделал так, выбрал скорость командой AT+IPR и сразу AT&W для сохранения настроек, потом перезагрузка. Вероятно скорость порта все же оставалась с настройкой "0", т.е. автоматический выбор скорости...
Последний раз редактировалось Max 10.09.2016{, 21:18}, всего редактировалось 1 раз.

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

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

#293

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

Max
Подумаю над вашим предложением, но пока не знаю как это правильно реализовать, то ли вообще отказаться от старой системы, то ли сделать переключатель.

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

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

#294

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

НовыйUser писал(а):+++Добавлено (14.09.2016, 13:45)
---------------------------------------------
Проверь возможную ошибку:
На запрос о обратной смс сформировался такой номер, соответственно отправки не было

(m590 v1.1)
_______

Номер (входящий): +Megafon
Если честно не понял что произошло.

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

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

#295

Сообщение Слимпер » 14.09.2016{, 15:59}

НовыйUser писал(а):на выходе вместо номера телефона сформировалась строка: +Megafon
Ну не знаю, а в контактах на СИМ карте нет контакта с таким именем?

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

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

#296

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

НовыйUser писал(а):нету. чистая. тоже не пойму в чем ошибка.
Тут самое интересное не где ошибка, а откуда могло взяться  слово "Megafon"
Получается что вместо номер было это слово, плюс это мой код добавил 
Значит должно было прийти: 
+CMT: "Megafon", дальше дата время

Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

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

#297

Сообщение Max » 14.09.2016{, 20:39}

У меня сейчас такая проблема.
Вот формирую запрос на баланс. Соответственно на входе USSD_CODE прописан заранее *100#. На вход Get_USSD короткий импульс.
В ответ же приходят набор цифр, букв и символов... И к тому же все это появляется на выходах Text_sms и T_Nomer, где вообще ответных данных по USSD запросу не должно быть...
На выходе USSD_return пусто....
Ошибка в блоке?
Последний раз редактировалось Max 14.09.2016{, 21:40}, всего редактировалось 1 раз.

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

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

#298

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

Max писал(а):В ответ же приходят набор цифр, букв и символов... И к тому же все это появляется на выходах Text_sms и T_Nomer, где вообще ответных данных по USSD запросу не должно быть...
Так, очень похоже, что оператор пересылает не USSD Ответ, а СМС  с балансом.
У меня такое часто бывает, даже на телефоне и зависит от место положения (на дачи регулярно).

Для начала, проверти, что будет если вставить симку в телефон и попробовать тот же код.
А еще попробуйте вариант #100#, на мтс более устойчива срабатывает, но на  мегафоне у меня не работает вообще.

Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

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

#299

Сообщение Max » 16.09.2016{, 06:53}

Слимпер писал(а):а СМС с балансом.У меня такое часто бывает, даже на телефоне и зависит от место положения (на дачи регулярно)
Хорошо, тогда почему это СМС появляется на других выходах, а не на выходе, где должны появляться СМС? И к тому же ответ должен быть читаемым а не просто набор цифр и символов, где ничего не понять...
Слимпер писал(а):А еще попробуйте вариант #100#
У меня (ранее уже кусок своего кода на запрос баланса (сообщение 155)) отлично срабатывал на код *100#.
Считаю, что это проблема в блоке.
Последний раз редактировалось Max 16.09.2016{, 06:54}, всего редактировалось 1 раз.

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

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

#300

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

Max писал(а):Считаю, что это проблема в блоке.
Вполне возможно, но как бы ее отловить??? У меня нет SIM800, а на 590 работало нормально.

Вопрос, можете подключится к модулю напрямую через терминал, послать настроить его, а затем, послать команды
AT+CUSD=1,"*100#"
Приложить результат
AT+CUSD=1,"#100#"
тоже приложите результат.

Возможно, я не так разбираю ответ для 800.

И также что выдает блок (желательно прямо сам текст)  на всех выходах (где должно и где не должно появляться) .

Еще, а смс нормально все получаются?

И кстати, у stapmoff, вроде, все нормально работало.
Последний раз редактировалось Слимпер 16.09.2016{, 09:09}, всего редактировалось 1 раз.

Ответить

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