Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: модем Cinterion MC52i + GPRS + http POST
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
yurmala
Приветствую!
Пробую работать с таким терминалом/модемом.
Вот лог установки GPRS соединения через оператора UTEL
Код
AT+CREG=1
OK
AT+CGATT=1
OK
AT+CGAUTO=0
OK
AT+CGDCONT=1,"IP", "internet.usi.ru"
OK
AT+CGDATA="PPP",1
CONNECT
~ÿ}#À!}!}#} }9}"}&} }*} } }'}"}(}"}%}&Õ-êé}#}%Â#}%D}2~~ÿ}#À!}!}#} }9}"}&} }*} } }'}"}(}"}%}&Õ-êé}#}%Â#}%D}2~~ÿ}#À!}!}#} }9}"}&} }*} } }'}"}(}"}%}&Õ-êé}#}%Â#}%D}2~~ÿ}#À!}!}#} }9}"}&} }*} } }'}"}(}"}%}&Õ-êé}#}%Â#}%D}2~~ÿ}#À!}!}#} }9}"}&} }*} } }'}"}(}"}%}&Õ-êé}#}%Â#}%D}2~~ÿ}#À!}!}#} }9}"}&} }*} } }'}"}(}"}%}&Õ-êé}#}%Â#}%D}2~~ÿ}#À!}!}#} }9}"}&} }*} } }'}"}(}"}%}&Õ-êé}#}%Â#}%D}2~~ÿ}#À!}!}#} }9}"}&} }*} } }'}"}(}"}%}&Õ-êé}#}%Â#}%D}2~~ÿ}#À!}!}#} }9}"}&} }*} } }'}"}(}"}%}&Õ-êé}#}%Â#}%D}2~~ÿ}#À!}!}#} }9}"}&} }*} } }'}"}(}"}%}&Õ-êé}#}%Â#}%D}2~
NO CARRIER


Как я понимаю, соединение устанавливается (раз есть CONNECT), и далее вступает в силу протокол LCP.
И вот тут у меня не хватает опыта. Подскажите, если возможно:
Данный модем/терминал позволяет AT-командами отправлять запросы http POST/GET. Это команды AT^SISS,SISO,SISW...
Но я так понимаю что модем после указанного лога не готов принимать эти команды?
Нужно ли мне разбираться с этим LCP протоколом? Или я какие-то параметры не определил для модема и он у меня их запрашивает?
Я вот на этом логе остановился и в тупике...
Заранее спасибо за помощь.
butthead2
Дока недокурена. Вот это
AT+CGDATA="PPP",1
не в ту степь. Нужна команда для открытия TCP/IP соединения
yurmala
Спасибо за подсказку. дело сдвинулось дальше.
Вот какой лог получается:
Код
AT+CREG=1
OK
AT+CGATT=1
OK
AT+CGAUTO=0
OK
AT+CGDCONT=1,"IP", "internet.usi.ru"
OK
AT^SCFG="Tcp/WithURCs",off
^SCFG: "Tcp/WithURCs","off"
OK
AT^SICS=1,conType,GPRS0
OK
AT^SICS=1,apn,"internet.usi.ru"
OK
AT^SISS=1,srvType,"Http"
OK
AT^SISS=1,conId,1
OK
AT^SISS=1,hcMethod,1
OK
AT^SISS=1,address,"http://сайт.ru:82/"
OK
AT^SISS=1,hcContLen,10
OK
AT^SISO=1
OK
AT^SISW=1,10
^SISW: 1, 10, 0


OK
AT^SISI?
^SISI: 1,6,0,10,0,0
OK
AT^SISE=1
^SISE: 1,0
OK
AT^SISC=1


После команды SISW идет передача 10 байт:
Код
q=34567890

Со стороны центра в логах видно подключение HTTP POST, но сами данные не приходят.
В чем может быть загвоздка?

p.s. Попробовал реализовать HTTP GET - тут все получилось.
Код
AT^SISS=1,address,"http://сайт.ru:82/?q=43062&r=68nh7"
OK

И данные на сайт пришли.
yurmala
Поправил, как и говорилось в соседних ветках, чтобы были разные профили для GPRS и HTTP
Но POST запрос на сервере так и не прислал данные...
Код
...
AT^SICS=0,conType,GPRS0
AT^SICS=0,apn,"internet.usi.ru"
...
AT^SISS=1,conId,0
...


Updated:
Разобрался сам.
Добавил в настройку профиля строчку:
Код
AT^SISS=1,hcProp,"Content-Type: application/x-www-form-urlencoded"


Теперь все заработало! Спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.