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

Создаем свой блок. Вопросы, помощь знатоков.
demonkol
Рядовой
Сообщения: 28
Зарегистрирован: 06.09.2015{, 08:29}
Репутация: 0

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

#701

Сообщение demonkol » 24.01.2017{, 11:51}

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

СпойлерПоказать
Вложения
4585309.png

vd153
Сержант
Сообщения: 124
Зарегистрирован: 05.01.2017{, 08:09}
Репутация: 4

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

#702

Сообщение vd153 » 24.01.2017{, 16:50}

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

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#703

Сообщение OlegAn1962 » 24.01.2017{, 16:58}

.flp ? Файл Flprog

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

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

#704

Сообщение Слимпер » 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, то тут я точно не чего ни сделаю.

demonkol
Рядовой
Сообщения: 28
Зарегистрирован: 06.09.2015{, 08:29}
Репутация: 0

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

#705

Сообщение demonkol » 24.01.2017{, 20:56}

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

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

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


СпойлерПоказать
Вложения
2517819.png
7570408.png
Последний раз редактировалось demonkol 24.01.2017{, 21:12}, всего редактировалось 1 раз.

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#706

Сообщение OlegAn1962 » 24.01.2017{, 21:24}

Слимпер, а нельзя ли к блоку Отладка приделать строковый выход, а уже из полученных данных , кому надо, будет выделять строку баланса средствами 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

Anydy

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

#707

Сообщение Anydy » 24.01.2017{, 22:56}

Слимпер писал(а):твет приходит не 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 писал(а):нельзя ли к блоку Отладка приделать строковый выход, а уже из полученных данных , кому надо, будет выделять строку баланса
Не думаю, отладка на то и отладка что бы выявлять ошибки. Скорее всего лишняя загрузка контроллера и куча инфы в сериал порт абсолютно не нужна в обычной работе схемы.
Последний раз редактировалось Anydy 24.01.2017{, 22:28}, всего редактировалось 1 раз.

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#708

Сообщение OlegAn1962 » 24.01.2017{, 22:59}

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

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#709

Сообщение OlegAn1962 » 25.01.2017{, 00:30}

Вот еще непонятка. В проекте при звонке на модуль после третьего гудка модуль должен сбрасывать входящий вызов. При первом вызове так и происходит, но если на модуль позвонить второй раз, то он сбрасывает уже после первого гудка. На старом блоке такая же программа отрабатывала нормально.
Вложения
test06-1.flp
(781.95 КБ) 50 скачиваний

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

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

#710

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

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

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

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

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

#711

Сообщение vovka1973 » 25.01.2017{, 06:22}

Слимпер ,а вы можете добавить вход в блок как смс только для звонка
Последний раз редактировалось vovka1973 25.01.2017{, 06:32}, всего редактировалось 1 раз.
Изображение

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

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

#712

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

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

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

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

#713

Сообщение vovka1973 » 25.01.2017{, 06:58}

Спасибо увидел ,просто в блоке искал
Все работает и смс и звонки
А ещё вопрос как блок подружить с Уно и нано
Последний раз редактировалось vovka1973 25.01.2017{, 07:04}, всего редактировалось 1 раз.
Изображение

MaD
Рядовой
Сообщения: 6
Зарегистрирован: 16.01.2017{, 16:28}
Репутация: 0

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

#714

Сообщение MaD » 25.01.2017{, 07:19}

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

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

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

#715

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

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

MaD
Рядовой
Сообщения: 6
Зарегистрирован: 16.01.2017{, 16:28}
Репутация: 0

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

#716

Сообщение MaD » 25.01.2017{, 08:40}

Слимпер, Сложно будет реализовать что бы всего 1 номер вбивался в настройках и по нему уже выдавалась единица на выходе GSM_Call?

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

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

#717

Сообщение vovka1973 » 25.01.2017{, 08:49}

Слимпер писал(а):Почитайте описание блоков GSM_Основной и GSM_SoftwareSerial
Да вроде читаю там и все равно ошибка при компиляции
Изображение

chmak2007
Сержант
Сообщения: 151
Зарегистрирован: 06.09.2015{, 13:28}
Репутация: 0
Откуда: Саров

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

#718

Сообщение chmak2007 » 25.01.2017{, 11:50}

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

Anydy

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

#719

Сообщение Anydy » 25.01.2017{, 13:17}

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)
---------------------------------------------
Слимпер писал(а):проверка идет только при исходящем вызове или исходящей СМС.Входящие не обрабатываются этим фильтром.
Опа, извените, но это уже серьезная недоработка.
А как же аутентификация входящих звонков и смс?
Так получается звони кто хочешь, пиши смс и управляй моим хозяйством?
Надо обязательно сделать фильтр входящих звонков и смс по заранее предустановленным номерам!

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

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

#720

Сообщение vovka1973 » 25.01.2017{, 13:36}

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

Ответить

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