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

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

Добавлено: 24.01.2017{, 11:51}
demonkol
Слимпер писал(а):Просьба выложить лог, запроса баланса, на новой версии.Я помню был какой то прикол, прикола с последовательностью ответа, но лучше еще раз точно глянуть что там приходит и как, тогда попробую сделать или другой вариант, или переключатель.
Вот скрин запроса баланса несколько раз подряд. Видно что баланс приходит но на выходе блока почему-то пустая строка.

СпойлерПоказать

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

Добавлено: 24.01.2017{, 16:50}
vd153
OlegAn1962 писал(а):vd153, примерно так:
Прикрепления: 1a.flp(819Kb)
а что это за расширение файла?

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

Добавлено: 24.01.2017{, 16:58}
OlegAn1962
.flp ? Файл Flprog

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

Добавлено: 24.01.2017{, 20:37}
Слимпер
demonkolAnydy
Вот не понятно почему у вас  модуль выдает ERROR  в ответ на запрос баланса, а потом присылает таки ответ.
По этому блок точно не может выдать ответ, после ответа ERROR, блок считает, что команда не прошла и не обрабатывает результат.
Надо понять в чем тут дело.

Anydy, а у вас вообще по чему  то ответ приходит не GSM, а в   кодировки UCS2 (UNICODE) присылает

Может кто то просто напрямую, через терминал подать команду и посмотреть результат.
Я еще по ищу информацию

Добавлено (24.01.2017, 20:37)
---------------------------------------------
demonkolAnydy
Не могу пока сделать, не ясно из-за чего ошибка лезит, в ответ на запрос.
Как я писал, если есть возможность проеверти напрямую, команды:
AT+CMGF=1
AT+CSCS="GSM"

А дальше 
AT+CUSD=1,"#100#"  //Вместо 100 ваш код запроса баланса

Можно еще попробовать

ATD#100# //Вместо 100 ваш код запроса баланса

Если модуль и так будет присылать ERROR, то тут я точно не чего ни сделаю.

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

Добавлено: 24.01.2017{, 20:56}
demonkol
Слимпер писал(а):Не могу пока сделать, не ясно из-за чего ошибка лезит, в ответ на запрос.Как я писал, если есть возможность проеверти напрямую, команды:
AT+CMGF=1
AT+CSCS="GSM"

А дальше
AT+CUSD=1,"#100#"  //Вместо 100 ваш код запроса баланса
 Проверил через терминал все без ошибок

СпойлерПоказать
 
Отправил запрос баланса несколько раз подряд, все ОК ошибок нет.


СпойлерПоказать

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

Добавлено: 24.01.2017{, 21:24}
OlegAn1962
Слимпер, а нельзя ли к блоку Отладка приделать строковый выход, а уже из полученных данных , кому надо, будет выделять строку баланса средствами Flprog. У меня блок Отладка тоже видит ответ:
СпойлерПоказать
Message module: 
GSM_team_room: 7
Message module: OK
GSM_team_room: 7
Command: AT+CUSD=1,"#100#"
Message module: 
GSM_team_room: 7
Message module: OK
GSM_team_room: 7
Expected Answer: +CUSD
Real  Answer: 
Command: AT+CUSD=1,"#100#"
Message module: 
GSM_team_room: 7
Message module: +CME ERROR: operation not allowed
GSM_team_room: 7
-77
-77
-77
-77
-77
-77
Message module: 
GSM_team_room: 7
Message module: +CUSD: 0, "Balance:48,56r,Limit:0,01r ", 15
GSM_team_room: 7
-77
-77
-77

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

Добавлено: 24.01.2017{, 22:56}
Anydy
Слимпер писал(а):твет приходит не GSM, а в кодировки UCS2 (UNICODE) присылает
Проверил через терминал, ошибку не выдает, но кодировка на GSM не меняется
Видимо оператор USSD на русском отправляет, смс на английском приходят нормально.
Разобрался...действительно оператор отправлял на русском, переключил в транслит все приходит баланс, но только в отладке и с ошибкой как выше написал. В самом блоке USSD тишина...

СпойлерПоказать
AT+CMGF=1
OK
AT+CSCS="GSM"
OK
AT+CUSD=1,"#105#"
OK

+CUSD: 2, "004F0043005400410054004F004B002000310035002E0036003300200070002E002004170430043F044005408405007340340300300500300340030040E40B30240500034034534034020014040003070"7
ATD#105#
+CUSD: 2, "004F0043005400410054004F004B002000310035002E0036003300200070002E002004170430043F04400540840500734E340300300500500340030340E40B30340500034E30534234020014D40000070"7
Добавлено (24.01.2017, 22:56)
---------------------------------------------
OlegAn1962 писал(а):нельзя ли к блоку Отладка приделать строковый выход, а уже из полученных данных , кому надо, будет выделять строку баланса
Не думаю, отладка на то и отладка что бы выявлять ошибки. Скорее всего лишняя загрузка контроллера и куча инфы в сериал порт абсолютно не нужна в обычной работе схемы.

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

Добавлено: 24.01.2017{, 22:59}
OlegAn1962
---------------------------------------------
Anydy писал(а):отладка на то и отладка что бы выявлять ошибки. Скорее всего лишняя загрузка контроллера и куча инфы в сериал порт абсолютно не нужна в обычной работе схемы.
Так я и написал, кому надо, тот включит этот блок. Если, конечно не найдется другого способа получить баланс.

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

Добавлено: 25.01.2017{, 00:30}
OlegAn1962
Вот еще непонятка. В проекте при звонке на модуль после третьего гудка модуль должен сбрасывать входящий вызов. При первом вызове так и происходит, но если на модуль позвонить второй раз, то он сбрасывает уже после первого гудка. На старом блоке такая же программа отрабатывала нормально.

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

Добавлено: 25.01.2017{, 05:41}
Слимпер
OlegAn1962 писал(а):Вот еще непонятка. В проекте при звонке на модуль после третьего гудка модуль должен сбрасывать входящий вызов. При первом вызове так и происходит, но если на модуль позвонить второй раз, то он сбрасывает уже после первого гудка. На старом блоке такая же программа отрабатывала нормально.
Вот это, постараюсь вечером проверить.
Anydy писал(а):Не думаю, отладка на то и отладка что бы выявлять ошибки. Скорее всего лишняя загрузка контроллера и куча инфы в сериал порт абсолютно не нужна в обычной работе схемы.
Это да, выдача данных в ком порт довольно тяжелая для контроллера операция, и памяти жрет очень много. 
Anydy писал(а):Разобрался...действительно оператор отправлял на русском, переключил в транслит все приходит баланс, но только в отладке и с ошибкой как выше написал.
А можно привести результат с терминала где видно баланс на английском.

demonkolOlegAn1962Anydy,   Кажется понял в чем проблема, в 800 модуль выдает Ок сразу после команды и не после получения сообщения, а у меня была реакция на получение статуса ОК (в М590 ОК идет именно после получение ответа ).
Попробую сделать другой обработчик для 800.

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

Добавлено: 25.01.2017{, 06:22}
vovka1973
Слимпер ,а вы можете добавить вход в блок как смс только для звонка

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

Добавлено: 25.01.2017{, 06:39}
Слимпер
vovka1973 писал(а):Слимпер ,а вы можете добавить вход в блок как смс только для звонка
Не понял вопрос, а вы блок GSM_Звонки не смотрели?

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

Добавлено: 25.01.2017{, 06:58}
vovka1973
Спасибо увидел ,просто в блоке искал
Все работает и смс и звонки
А ещё вопрос как блок подружить с Уно и нано

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

Добавлено: 25.01.2017{, 07:19}
MaD
Слимпер, Можно ли сделать блок для М590 что бы он работал не с телефонной книгой, а всего с одним номером указанным в настройках?
Мой М590е ни в какую не хочет с телефонной книгой работать, настроил всё как в инструкции написано, а он всё равно от всех левых номеров "1" на выход GSM_Call выдает.
Или я что то недопонимаю в работе этого блока? Может он так и должен работать?

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

Добавлено: 25.01.2017{, 07:32}
Слимпер
vovka1973 писал(а):А ещё вопрос как блок подружить с Уно и нано
Почитайте описание блоков GSM_Основной и GSM_SoftwareSerial
MaD писал(а):Мой М590е ни в какую не хочет с телефонной книгой работать, настроил всё как в инструкции написано, а он всё равно от всех левых номеров "1" на выход GSM_Call выдает.Или я что то недопонимаю в работе этого блока? Может он так и должен работать?
Ну да, так оно и есть, проверка идет только при исходящем вызове или исходящей СМС.
Входящие не обрабатываются этим фильтром.

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

Добавлено: 25.01.2017{, 08:40}
MaD
Слимпер, Сложно будет реализовать что бы всего 1 номер вбивался в настройках и по нему уже выдавалась единица на выходе GSM_Call?

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

Добавлено: 25.01.2017{, 08:49}
vovka1973
Слимпер писал(а):Почитайте описание блоков GSM_Основной и GSM_SoftwareSerial
Да вроде читаю там и все равно ошибка при компиляции

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

Добавлено: 25.01.2017{, 11:50}
chmak2007
vovka1973 писал(а):а кто как делает задержку на включение модема при перезагрузке можно узнать ?
Я сделал на MOSFET. Подаю сначала 9V потом MOSFET потом Линейные стабилизаторы на 5V ну и электролитный конденсатор. Ну и в коде программе ставишь задержку на включения модуля. Все работает отлично.

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

Добавлено: 25.01.2017{, 13:17}
Anydy
vovka1973 писал(а):Да вроде читаю там и все равно ошибка при компиляции
Все работает, без разницы, Уно или Нано или микро.
Прописать пины, скорость и Serial_S

Добавлено (25.01.2017, 12:59)
---------------------------------------------
Слимпер писал(а):А можно привести результат с терминала где видно баланс на английском.
Да, модуль сначала отвечает ОК, а потом только приходит ответ.
На транслите:

СпойлерПоказать
AT+CMGF=1
OK
AT+CSCS="GSM"
OK
AT+CUSD=1,"#105#"
OK
+CUSD: 2, "OCTATOK 15.63 p. Xochetsya lyubvi? Otpr. tekst o sebe na 684 (bespl.)", 0
Добавлено (25.01.2017, 13:17)
---------------------------------------------
Слимпер писал(а):проверка идет только при исходящем вызове или исходящей СМС.Входящие не обрабатываются этим фильтром.
Опа, извените, но это уже серьезная недоработка.
А как же аутентификация входящих звонков и смс?
Так получается звони кто хочешь, пиши смс и управляй моим хозяйством?
Надо обязательно сделать фильтр входящих звонков и смс по заранее предустановленным номерам!

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

Добавлено: 25.01.2017{, 13:36}
vovka1973
Anydy писал(а):Все работает, без разницы, Уно или Нано или микро.
Прописать пины, скорость и Serial_S
Везёт у меня ну ни как ни на линуксе ни на виндовс программа 2,3