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

Создаем свой блок. Вопросы, помощь знатоков.
vd153
Сержант
Сообщения: 124
Зарегистрирован: 05 янв 2017, 08:09

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

Сообщение vd153 »

OlegAn1962 писал(а):vd153, примерно так:
Прикрепления: 1a.flp(819Kb)
а что это за расширение файла?
OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07 сен 2015, 23:53

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

Сообщение OlegAn1962 »

.flp ? Файл Flprog
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

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

Сообщение Слимпер »

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 сен 2015, 08:29

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

Сообщение demonkol »

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

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

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


СпойлерSPOILER_SHOW
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось demonkol 24 янв 2017, 21:12, всего редактировалось 1 раз.
OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07 сен 2015, 23:53

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

Сообщение OlegAn1962 »

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

Сообщение Anydy »

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

СпойлерSPOILER_SHOW
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 янв 2017, 22:28, всего редактировалось 1 раз.
OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07 сен 2015, 23:53

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

Сообщение OlegAn1962 »

---------------------------------------------
Anydy писал(а):отладка на то и отладка что бы выявлять ошибки. Скорее всего лишняя загрузка контроллера и куча инфы в сериал порт абсолютно не нужна в обычной работе схемы.
Так я и написал, кому надо, тот включит этот блок. Если, конечно не найдется другого способа получить баланс.
Последний раз редактировалось OlegAn1962 24 янв 2017, 23:04, всего редактировалось 1 раз.
OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07 сен 2015, 23:53

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

Сообщение OlegAn1962 »

Вот еще непонятка. В проекте при звонке на модуль после третьего гудка модуль должен сбрасывать входящий вызов. При первом вызове так и происходит, но если на модуль позвонить второй раз, то он сбрасывает уже после первого гудка. На старом блоке такая же программа отрабатывала нормально.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

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

Сообщение Слимпер »

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

demonkolOlegAn1962Anydy,   Кажется понял в чем проблема, в 800 модуль выдает Ок сразу после команды и не после получения сообщения, а у меня была реакция на получение статуса ОК (в М590 ОК идет именно после получение ответа ).
Попробую сделать другой обработчик для 800.
vovka1973
Майор
Сообщения: 1094
Зарегистрирован: 14 фев 2016, 14:16
Откуда: kazahstan

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

Сообщение vovka1973 »

Слимпер ,а вы можете добавить вход в блок как смс только для звонка
Последний раз редактировалось vovka1973 25 янв 2017, 06:32, всего редактировалось 1 раз.
Изображение
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

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

Сообщение Слимпер »

vovka1973 писал(а):Слимпер ,а вы можете добавить вход в блок как смс только для звонка
Не понял вопрос, а вы блок GSM_Звонки не смотрели?
vovka1973
Майор
Сообщения: 1094
Зарегистрирован: 14 фев 2016, 14:16
Откуда: kazahstan

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

Сообщение vovka1973 »

Спасибо увидел ,просто в блоке искал
Все работает и смс и звонки
А ещё вопрос как блок подружить с Уно и нано
Последний раз редактировалось vovka1973 25 янв 2017, 07:04, всего редактировалось 1 раз.
Изображение
MaD
Рядовой
Сообщения: 6
Зарегистрирован: 16 янв 2017, 16:28

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

Сообщение MaD »

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

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

Сообщение Слимпер »

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

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

Сообщение MaD »

Слимпер, Сложно будет реализовать что бы всего 1 номер вбивался в настройках и по нему уже выдавалась единица на выходе GSM_Call?
vovka1973
Майор
Сообщения: 1094
Зарегистрирован: 14 фев 2016, 14:16
Откуда: kazahstan

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

Сообщение vovka1973 »

Слимпер писал(а):Почитайте описание блоков GSM_Основной и GSM_SoftwareSerial
Да вроде читаю там и все равно ошибка при компиляции
Изображение
chmak2007
Сержант
Сообщения: 151
Зарегистрирован: 06 сен 2015, 13:28
Откуда: Саров

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

Сообщение chmak2007 »

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

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

Сообщение Anydy »

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

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

СпойлерSPOILER_SHOW
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
Майор
Сообщения: 1094
Зарегистрирован: 14 фев 2016, 14:16
Откуда: kazahstan

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

Сообщение vovka1973 »

Anydy писал(а):Все работает, без разницы, Уно или Нано или микро.
Прописать пины, скорость и Serial_S
Везёт у меня ну ни как ни на линуксе ни на виндовс программа 2,3
Изображение
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

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

Сообщение Слимпер »

Цитата MaD
Сложно будет реализовать что бы всего 1 номер вбивался в настройках и по нему уже выдавалась единица на выходе GSM_Call?
Anydy писал(а):Опа, извените, но это уже серьезная недоработка.А как же аутентификация входящих звонков и смс?
Так получается звони кто хочешь, пиши смс и управляй моим хозяйством?
Надо обязательно сделать фильтр входящих звонков и смс по заранее предустановленным номерам!
Ну как вы это себе представляете, если номер один еще можно понять,
 А вот если вам надо с трех-пяти номеров управлять и при том у каждого свои права:
Один может только запросить какая сейчас температура, другой открыть ворота, третий снять с сигнализации.

И так у каждого пользователя свои запросы.

Вот напишите мне подробный алгоритм блока который будут подходить всем пользователям сразу и кому нужен один номер и кому надо 10 с разными правами. Тогда может и буду делать.

Блок телефонная книга вообще нужен не для запрета, а для возможности использовать названия контактов вместо номеров, и тем самым можно было поменять номер управления без пере прошивки контроллера. На верное вообще лучше убрать параметр White_list, во избежание таких неверной трактовки.

Люди это среда программирования, а не стол заказов готовых программ. Подумайте маленько  

  

Вот простейший пример, одной из возможных реализаций, входящего фильтра нужного звонка, с функцией сброса не нужных.

Добавлено (25.01.2017, 14:59)
---------------------------------------------
vovka1973 писал(а):Везёт у меня ну ни как ни на линуксе ни на виндовс программа 2,3
Программу вашу выложите или в личку кинте.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость