Перейти к содержанию
    

Символ окончания сообщения SMS GPRS

Такая вот проблема.

Что с отправкой SMS, что с GPRS, все команды проходят нормально, включая команду ввода отправляемых данных, модуль возвращает скобку <, ввожу данные, а далее модуль отказывается воспринимать CTRL-Z.

Как я только не пробовал и большими буквами и маленькими, он все съедает, но данные не отправляет.

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

В чем может быть тут дело?

 

Последовательность команд.

AT+CGATT=1

AT+CDNSORIP=0

AT+CIPCSGP=1,"APN"

AT+CIPSTART="TCP","IP",port

AT+CIPSEND

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такая вот проблема.

Что с отправкой SMS, что с GPRS, все команды проходят нормально, включая команду ввода отправляемых данных, модуль возвращает скобку <, ввожу данные, а далее модуль отказывается воспринимать CTRL-Z.

Как я только не пробовал и большими буквами и маленькими, он все съедает, но данные не отправляет.

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

В чем может быть тут дело?

 

Последовательность команд.

AT+CGATT=1

AT+CDNSORIP=0

AT+CIPCSGP=1,"APN"

AT+CIPSTART="TCP","IP",port

AT+CIPSEND

AT+CIPCSGP=1,"APN" -> AT+CIPCSGP=1,"APN","user name","pass"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

AT+CIPCSGP=1,"APN" -> AT+CIPCSGP=1,"APN","user name","pass"

Ну а символ окончания текста какой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну а символ окончания текста какой?

Перевод строки если не ошибаюсь. Код 0x0A. (Может 0x0D. Можно попробовать если не получится).

 

AT+CIPSEND

AT+CIPSEND=число.

В этом случае не нужен признак конца блока передаваемого.

 

А контрал с др стороны клавы еще не испытан?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

AT+CIPSEND=число.

В этом случае не нужен признак конца блока передаваемого.

Спасиб, вот так получилось данные передать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что с отправкой SMS, что с GPRS, все команды проходят нормально, включая команду ввода отправляемых данных, модуль возвращает скобку <, ввожу данные, а далее модуль отказывается воспринимать CTRL-Z.

Как я только не пробовал и большими буквами и маленькими, он все съедает, но данные не отправляет

CTRL-Z это ASCII код 0x1A (26 decimal)

ESC это ASCII код 0x1B (27 decimal)

 

Всё прекрасно работает, смотрите азбуку кодирования :)

 

з.ы. сначала подумал - "дежавю", а потом поиском прошелся - нет, не "дежавю" :)

 

з.з.ы. поиск на CTRL-Z вообще кучу таких вопросов-ответов находит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) Упорные клоуны кувыркаются с SIM300 вместо того, чтобы взять нормальный модуль.

2) SMS и GPRS никак не связаны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) Упорные клоуны кувыркаются с SIM300 вместо того, чтобы взять нормальный модуль.

Ну так скажите, уважаемый, какой хороший модули чем же он лучше.

А то как то не убедительно :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мои девайсы отлично работают с TCP и СМС.

Я сделал функции типа tcp_send_start() и tcp_send_end();

Чем хорошо так делать для меня.

К примеру мне надо вывести ряд параметров и строк одним пакетом.

tcp_send_start();

printf("bla-bla-bla");

......

printf("%s",buffer);

tcp_send_end();

 

вот их реализация

tcp_send_start()
{
buffer_clear();
output_bit(led_gel,1);
printf("AT+CIPSEND\r");
rc=3;
rc_f=1;
while(rx_buffer[2]!='>') delay_ms(time_slot/3);
buffer_clear();
printf("\r\n");
secur=50;
fl_secur=1;
}

 

tcp_send_end()
{
if(fl_secur)
   {
   fl_secur=0;
   printf("\r\n\x1A");
   while(rx_buffer[2]!='S') delay_ms(time_slot/5);
   output_bit(led_gel,0);
   delay_ms(time_slot);
   buffer_clear();
   output_bit(led_gel,0);
   }
}

 

У вас повидимуму неточно сделана начало конекта с серваком и настройки для передачи

вот как я делал, согласно "быстрому страрту".

 

//***************************************************************************//
//                              включаем жопарез                             //
/*****************************************************************************/
gprs_start()
{
printf("AT+CGATT=1\r");   //регистрация в жопарезе
delay_ms(500);
buffer_clear();
printf("AT+CIPATS=0\r");  //включение автотаймера отсылки
delay_ms(time_slot);
buffer_clear();
printf("AT+CIPCSGP=1,\"%s\",\"%s\",\"%s\"\r", apn,user_apn,password_apn);
delay_ms(time_slot);
buffer_clear();
printf("AT+CIPSTART=\"TCP\",\"%s\",\"%s\"\r",ips ,port);
delay_ms(time_slot);
buffer_clear();
}

 

1) Упорные клоуны кувыркаются с SIM300 вместо того, чтобы взять нормальный модуль.

Да нет, упорные клоуны пытаются что-то показать из себя такими выражениями, походу рельно ничего не зная о работе сим300.

 

По сути отправка смс и пакета по попарезу мало чем отличаеться. начальной команды AT+CIPSEND для gprs и AT+CMGS="номер" для смс. Тоже ждем >, и тока получили отсылаем текст, завершение посылки \x1A. Но способ этот сработает только если перевести из режима PDU в режим ASCII командой AT+CMGF=1.

Изменено пользователем Lexi

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В первом сообщении даже не был указан модуль, но все поняли о чём речь, так как нет вариантов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну да, команды характерные. Хотя, в данном конкретном случае... ASCII-код Ctrl-Z от марки модуля не зависит ;)

Касательно выбора модуля - далеко не всегда разработчик принимает окончательное решение, и обзывать его за это клоуном как минимум неконструктивно :)!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Касательно выбора модуля - далеко не всегда разработчик принимает окончательное решение, и обзывать его за это клоуном как минимум неконструктивно :)!

+1 :)

Сорри за флуд in advance,

это было бы ещё пол-беды, но часто "большие дядьки" решают, что надо съэкономить как раз на gsm и gps модулях, раз они такие дорогие, и не задумывается о том, что тратит больше на зарплатах разработчиков, которые сношаются денно и ношно с модулями, ну никак не подходящими для решения поставленной задачи, без внятной документации и техподдержки :) Как это я политкорректно выразился :) Никого лично не имел в виду!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В первом сообщении даже не был указан модуль, но все поняли о чём речь, так как нет вариантов.

Ну так что, скажешь чем sim300 так плох?

А то пока выходит что клоун тут ты :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну так что, скажешь чем sim300 так плох?

А то пока выходит что клоун тут ты :)

Ну дык обсосали уже это вдоль о поперёк... :) Сами же знаете про все багофичи, зачем опять эту тему начинать?

Ну или давайте хоть разнообразим её маленько. Вы можете рассказать, чем же он так хорош, кроме цены?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну или давайте хоть разнообразим её маленько. Вы можете рассказать, чем же он так хорош, кроме цены?

"D" могу похвалить. Паяется намертво, в условиях тряски это немаловажно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...