Блок пользователя для работы с GSM
Блок пользователя для работы с GSM
Судя по эхо ответу, команда просто переделается не правильно, как то не так символ # Передается.
Толи терминал косячит, то ли что.
Ладно буду думать
Толи терминал косячит, то ли что.
Ладно буду думать
Блок пользователя для работы с GSM
Нашел тут интересную тему
Работа с GSM модулем. Отправляем сообщения по русски. PDU coder
Вот и стало интересно будет ли это работать, на пробу сделал блок, на основе статьи, чисто для проверки такой возможности.
Работа с GSM модулем. Отправляем сообщения по русски. PDU coder
Вот и стало интересно будет ли это работать, на пробу сделал блок, на основе статьи, чисто для проверки такой возможности.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Блок пользователя для работы с GSM
Странно у меня при эмуляции нормально работает.
Ладно пошел дальше читать.
Пока перерыв, походу надо писать нормальный парсер AT команд.
Ладно пошел дальше читать.
Пока перерыв, походу надо писать нормальный парсер AT команд.
Блок пользователя для работы с GSM
Хорошо, значит работает, главное мне разобраться почему код с реальным объектом не сработал.НовыйUser писал(а):если подать AT+CUSD=1,"#100#",15 то ответ идет кириллицей закрытой под знаки вопроса...т.е *100# в приоритете...
П.С. Возможно у меня GSM модуль появится на той недели, спросил у брата, говорит вроде покупал, обещал поискать. А пока для тестов работы с AT командами вообще подключил ESP8266.
Блок пользователя для работы с GSM
Вот, еще пища для размышления :-)
http://arduinolab.pw/index.p....dmon-ru
http://arduinolab.pw/index.p....dmon-ru
Блок пользователя для работы с GSM
НовыйUser, По пробуй новый вариант, надеюсь заработает хотя бы часть
При проблемах с балансом можешь пробовать подставить другой вариант запроса в функции balance_S в строке AT_Command("ATD#100#",2 ) ;
Добавлено (07.08.2016, 09:42)
---------------------------------------------
Тема интересная, я и сам ее видел уже, но:
1 даже это еще нормально не заработало,
2 я плохо знаю интернет технологии,
3 надо свой проект доделать. Делаю Лабораторный блок питания.
Как резюме, возможно и займусь но точно позже.
При проблемах с балансом можешь пробовать подставить другой вариант запроса в функции balance_S в строке AT_Command("ATD#100#",2 ) ;
Добавлено (07.08.2016, 09:42)
---------------------------------------------
Вот еще похожая GSM модуль NEOWAY M590 – GPRS командыVitez писал(а):Вот, еще пища для размышления :-)http://arduinolab.pw/index.p....dmon-ru
Тема интересная, я и сам ее видел уже, но:
1 даже это еще нормально не заработало,
2 я плохо знаю интернет технологии,
3 надо свой проект доделать. Делаю Лабораторный блок питания.
Как резюме, возможно и займусь но точно позже.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Слимпер 07 авг 2016, 09:33, всего редактировалось 1 раз.
Блок пользователя для работы с GSM
Главное, что часть заработало, значит механизм, АТ команда - анализ у меня худо бедно заработал.
Может это и не правильно, надо подумать.
Так как сейчас нормально или надо при разрыве соединения сбрасывать их число в ноль.
С балансом еще посмотрю.
AT+CMGS=“+79000000001”$0D
TEST SMS$1A
Просто, фигурирует в описания приглашение "> ", возможно при моем подходе (без пауз) необходимо его дожидаться.
Нюанс, ошибки появляются только на один программный цикл, так что их надо ловить.НовыйUser писал(а):ошибок тоже вроде не регистрирует..
Может это и не правильно, надо подумать.
Ну это поправлю тут проблем нет.НовыйUser писал(а):при звонке отсчет numbercall начинается с нуля. т.е 3 гуда в телефоне слышно но регистрируются на выходе как 2первый гудок - 0
второй - 1
третий - 2
___________
Так как сейчас нормально или надо при разрыве соединения сбрасывать их число в ноль.
С балансом еще посмотрю.
Вот смс не понятки, попробуй напрямую отправить команды :НовыйUser писал(а):не работает ответная СМС .... видно что приходит... но обратно не шлет (баланс самого номера телефона не меняется при мониторинге ) ошибок тоже вроде не регистрирует..при маркировки релюхами выход gosms - реле щелкают.
AT+CMGS=“+79000000001”$0D
TEST SMS$1A
Просто, фигурирует в описания приглашение "> ", возможно при моем подходе (без пауз) необходимо его дожидаться.
Последний раз редактировалось Слимпер 08 авг 2016, 05:10, всего редактировалось 1 раз.
Блок пользователя для работы с GSM
В рабочем блоке при старте идут команды
AT+CMGF=1$0D$0A
AT+CSCS="GSM"$0D$0A
AT+CNMI=2,2,0,0,0$0D$0A
AT+CLIP=1$0D$0A
При отправки СМС :
AT+CMGF=1$0D
AT+CMGS=“+79000000001”$0D$0A
TEXT SMS$0D$0A
$1A$0D$0A
Так то хоть сработает?
AT+CMGF=1$0D$0A
AT+CSCS="GSM"$0D$0A
AT+CNMI=2,2,0,0,0$0D$0A
AT+CLIP=1$0D$0A
При отправки СМС :
AT+CMGF=1$0D
AT+CMGS=“+79000000001”$0D$0A
TEXT SMS$0D$0A
$1A$0D$0A
Так то хоть сработает?
Блок пользователя для работы с GSM
Как-то работал сNextion hmi. Там надо было отправлять строку
" например такую". Arduino ide мутило от кавычек -"
" например такую". Arduino ide мутило от кавычек -"
Блок пользователя для работы с GSM
Странно, я вроде код программы из print println, перевел в строки и завершающие символы.НовыйUser писал(а):та жа ошибка отправки...
А каким терминал сейчас пользуешься?
Ладно, если не горит, отложим на пару тройку дней, там глядишь у меня модуль появится.
А я пока другими делами займусь.
Блок пользователя для работы с GSM
Я бы помог, но у меня UNO 3.И модуль SIM800L Кстати этот модуль более стабилен чем 590НовыйUser писал(а):нужны еще тестеры
Последний раз редактировалось stapmoff 08 авг 2016, 20:29, всего редактировалось 1 раз.
Блок пользователя для работы с GSM
Ну как я писал выше на пару дней перерыв, может у меня модуль появится, будет проще.stapmoff писал(а):Я бы помог, но у меня UNO 3.И модуль SIM800L Кстати этот модуль более стабилен чем 590
Но для проверки совместимости модулей переделал проект и того сообщения, что со слов НовыйUser, работает оправка и прием СМС, под вариант SoftwareSerial. Попробуйте мне пока даташит на SIM800L читать не охота, но походу основные AT команды GSM должны быть одинаковы.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Блок пользователя для работы с GSM
После отправки смс в терменаале отображается следующее
Ответ от модуля
Входящий звонок сбрасывает сразу
Ответ от модуля
Входящий звонок сбрасывает сразу
Последний раз редактировалось stapmoff 09 авг 2016, 10:52, всего редактировалось 1 раз.
Блок пользователя для работы с GSM
Ну значит работает как и должно.stapmoff писал(а):После отправки смс в терменаале отображается следующее
Вот на ваял еще один вариант.
НовыйUser, Тебе прилагаю только пользовательский блок.
stapmoff, Вам простенький проект "test_12_Soft"
Тестировал только на макетки, без модуля.
Провел работу по оптимизации кода, вроде стал по меньше и не должен так сильно разбухать, при расширение функционала.
Хотя и сейчас для UNO он становится тяжеловат :
8 806 bytes (27%) of program storage space. Global variables use 342 bytes (16%)
Но у меня закончились идеи как его еще уменьшить.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Блок пользователя для работы с GSM
Вот и я не знаю.НовыйUser писал(а):надо ли нулить или оставлять...даже пока не знаю..
Походу СМС приходит типа "Вам звонил...."НовыйUser писал(а):- TEXTSMSinfo: ???? ??????? ?? после каждого звонка и автосброса
С балансом не знаю, что делать пока.НовыйUser писал(а):- баланс через TON не работает...
Это про что речь?НовыйUser писал(а):за исключением того что каждое срабатывание модема...включая звонок на номер наглухо сносит датчик движения и он срабатывает ))
А вообще из идей, что надо еще реализовать, пока только возможность перезапуска модуля, на случай зависания, но что до как делать это правильно не знаю. Пока была идея убрать команды из секции Setup, и сделать отдельный вход инициализации.
Ну и отдельная тема СМС на PDU, то есть на русском, это уже на потом, если вообще получится.
Блок пользователя для работы с GSM
stapmoff, в соседней теме Работа с SIM800L запрос температуры и влажности по смс в сообщении №14 выкладывал проект. Там фигурировала проверка баланса таким кодом
AT+CUSD=1,\"#100#\" , можно и так попробовать.
Добавлено (09.08.2016, 20:29)
---------------------------------------------
delay(50);
Serial100.println("AT+CMGF=1");
delay(50);
Serial100.println("AT+CSCS=\"GSM\"");
delay(50);
Serial100.println("AT+CNMI=2,2,0,0,0");
delay(50);
Serial100.println("AT+CLIP=1");
delay(50);
Serial100.println("ATE0");
delay(50);
И сделать выдачу этих команд с проверкой результата по сигналу на вход, а уже заготовку делал, смотри функцию setup_comand в блоке.
AT+CUSD=1,\"#100#\" , можно и так попробовать.
Добавлено (09.08.2016, 20:29)
---------------------------------------------
убрать из секции Setup :НовыйUser писал(а):а их убирать для чего ? (переход от задержек я всецело за...)вход инициализации всмысле для подачи АТ команд?
delay(50);
Serial100.println("AT+CMGF=1");
delay(50);
Serial100.println("AT+CSCS=\"GSM\"");
delay(50);
Serial100.println("AT+CNMI=2,2,0,0,0");
delay(50);
Serial100.println("AT+CLIP=1");
delay(50);
Serial100.println("ATE0");
delay(50);
И сделать выдачу этих команд с проверкой результата по сигналу на вход, а уже заготовку делал, смотри функцию setup_comand в блоке.
Последний раз редактировалось Слимпер 09 авг 2016, 20:30, всего редактировалось 1 раз.
Блок пользователя для работы с GSM
А вообще комбинация \" -это только для arduino команды print (println), так как там кавычки играют свою роль. Если шлешь команды из терминала то знак \ надо убирать.НовыйUser писал(а):надо допилить этот баланс
Цитат с приведенной вами стать:
Команды приведены для текстового режима и в GSM кодировке.
AT+CUSD=1,"#100#" +CUSD: 0,"Balance:240,68r ",
USSD запрос
Первый параметр – режим обработки операции:
0 – выполнить запрос, ответ проигнорировать
1 – выполнить запрос, вернуть ответ
2 – отменить запрос
Второй параметр – запрос в кавычках.
ATD#100#; +CUSD: 0,"Balance:240,68r ",
Упрощенный USSD запрос (работает только при GSM
кодировке)
Отмечу, что есть 2 варианта USSD запроса: начиная с * и начиная с #. В первом варианте ответ приходит на русском языке, во втором в латинице, если оператор такой запрос поддерживает и не ответит так же, как и в первом случае.
Режим отображения такой же, как и для СМС.
Правда даташите М590 формат команды:
AT+CUSD=<n>,<str>,<dcs>
Syntax <n>:
-0:not display back code
-1:display back code
-2:cancel the request
<str>:
string type:USSD string,USSD string,please use ASCII code.
<dcs>:
integer type,it is suggesti to use 15.
По этому получается, что для терминал надо пробовать
AT+CMGF=1
AT+CSCS="GSM"
А затем уже
AT+CUSD=1,"#100#"
или
ATD#100#
А в блоке
AT+CUSD=1,\"#100#\"
или
ATD#100#
Лучше оставлю пока, может когда будет модуль, что пойму.
Добавлено (10.08.2016, 07:16)
---------------------------------------------
Ну это параметры в моей функции AT_CommandНовыйUser писал(а):не совсем понимаю для чего двойка ?AT_Command("ATD#100#",2 ) ;
1-передать команду функцией print()
2-передать команду функцией println()
3- передать команду функцией print(), а за тем отдельно передать println((char)26)
Блок пользователя для работы с GSM
Сегодня вечерком буду тестить! Сразу отпишу что как!
Добавлено (11.08.2016, 07:39)
---------------------------------------------
И так результаты следующие!
Надпись svonok stop появляется сразу после включения, при проверке баланса, баланс не прилетает. на смс, ответ присылает корректно, гудки считает, звонок сбрасывает. Не показывает текс сообщения. При отсутствии сим, все равно меряет сигнал, но надпись NET пропадает! Вместо надписи NET лучше выводить оператора мне кажется)) командой AT+COPS? Если вставить сим обратно в слот, появляется ошибка 3 и сразу 0. Почему сразу 0?? Мне кажется если 3 то 3 исли 0 то 0 если 5 то 5 до прихода следующей команды опроса на ошибки! NET так и не показал валилась ошибка 3 и сразу 0 пока не ребутнул дуину. Мне кажется блок работает только с заведенным модемом и чтоб тот уже поймал сеть, пробовал запустить модем и дуину одновременно, вываливается ошибка 3 и сразу ноль итак до бесконечности, хотя модем сеть уже поймал!
Но то, что происходит опрос модема на ошибки - это уже радует))!
Что еще хочу сказать по поводу баланса, когда делал свой проэкт, заметил, что при запросе баланса, сам баланс не всегда приходит, видимо сеть такая незнаю!
Добавлено (11.08.2016, 07:39)
---------------------------------------------
И так результаты следующие!
Надпись svonok stop появляется сразу после включения, при проверке баланса, баланс не прилетает. на смс, ответ присылает корректно, гудки считает, звонок сбрасывает. Не показывает текс сообщения. При отсутствии сим, все равно меряет сигнал, но надпись NET пропадает! Вместо надписи NET лучше выводить оператора мне кажется)) командой AT+COPS? Если вставить сим обратно в слот, появляется ошибка 3 и сразу 0. Почему сразу 0?? Мне кажется если 3 то 3 исли 0 то 0 если 5 то 5 до прихода следующей команды опроса на ошибки! NET так и не показал валилась ошибка 3 и сразу 0 пока не ребутнул дуину. Мне кажется блок работает только с заведенным модемом и чтоб тот уже поймал сеть, пробовал запустить модем и дуину одновременно, вываливается ошибка 3 и сразу ноль итак до бесконечности, хотя модем сеть уже поймал!
Но то, что происходит опрос модема на ошибки - это уже радует))!
Что еще хочу сказать по поводу баланса, когда делал свой проэкт, заметил, что при запросе баланса, сам баланс не всегда приходит, видимо сеть такая незнаю!
Последний раз редактировалось stapmoff 11 авг 2016, 10:02, всего редактировалось 1 раз.
Блок пользователя для работы с GSM
Ну по порядку, надписи которые сыпятся в терминал, это уже внешняя обвязка блока, и тут надо ее под себя настраивать. Например в том файле что я вам послал, вывода текста смс в терминал вообще нет.stapmoff писал(а):Надпись svonok stop появляется сразу после включения, при проверке баланса, баланс не прилетает. на смс, ответ присылает корректно, гудки считает, звонок сбрасывает. Не показывает текс сообщения. При отсутствии сим, все равно меряет сигнал, но надпись NET пропадает! Вместо надписи NET лучше выводить оператора мне кажется)) командой AT+COPS? Если вставить сим обратно в слот, появляется ошибка 3 и сразу 0. Почему сразу 0?? Мне кажется если 3 то 3 исли 0 то 0 если 5 то 5 до прихода следующей команды опроса на ошибки! NET так и не показал валилась ошибка 3 и сразу 0 пока не ребутнул дуину. Мне кажется блок работает только с заведенным модемом и чтоб тот уже поймал сеть, пробовал запустить модем и дуину одновременно, вываливается ошибка 3 и сразу ноль итак до бесконечности, хотя модем сеть уже поймал!Но то, что происходит опрос модема на ошибки - это уже радует))!
Что еще хочу сказать по поводу баланса, когда делал свой проэкт, заметил, что при запросе баланса, сам баланс не всегда приходит, видимо сеть такая незнаю!
Надпись NET, означает, что модем "Зарегистрирован в домашней сети", и сигнал битовый.
Меряет сигнал это странно, хотя если значение -120, то это тоже значит нет сигнала.
Да сейчас все ошибки выскакивают ровна на один программный цикл, вот их перечень
0- норма;
1 - Ошибка в ответ на команду
2 - Нет ответа от модуля при отправки команды
3 - Неверный ответ
4 - модуль не готов
5 - нет регистрации в сети
10 - недопустимый номер для отправки СМС
Зеленым еще не реализовано.
Пока решил, что появилась ошибка, выдал код ошибки, и сразу ее сбросил, но может и не верный подход, надо думать.
И да сейчас инициализация модуля сделана через секцию Setup, а это значит, что питание на модуль и ардуину надо подавать одновременно. Но уже сейчас начал доработку чтобы можно было его инициализировать по команде.
Вот сейчас собрал модуль включил, на команды отвечает, но в сети пока что не регится.
Отогнул антенну вертикально и заработал.
Буду дальше его мучить.
Последний раз редактировалось Слимпер 11 авг 2016, 12:24, всего редактировалось 1 раз.
Блок пользователя для работы с GSM
Не надо сбрасывать! Вылезла ошибка, я ее сравнил и например на дисплей вывел что это за ошибка!Слимпер писал(а):и сразу ее сбросил
Это понятно, я написал все что наблюдал)Слимпер писал(а):Надпись NET, означает, что модем "Зарегистрирован в домашней сети", и сигнал битовый.
Нет -120 не было, как на скрине -83 -85 и так далееСлимпер писал(а):Меряет сигнал это странно, хотя если значение -120, то это тоже значит нет сигнала.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость