Интернет через GPRS с использованием GSM / GPRS модема telit GL 865 - PullRequest
2 голосов
/ 13 июля 2011

Я работаю над набором модемов GSM / GPRS Telit GL-865 для исследовательских целей. Я подключил его к своему компьютеру через последовательный порт и получил доступ к терминалу через Putty.

Я могу успешно выполнить все AT-команды для отправки / получения смс, голосовых вызовов и т. Д.

Я также могу установить контекст GPRS, используя AT + CGDCONT, открыть соединение с сервером, используя AT # SKTD, и могу отправлять запросы GET и POST. Я также получаю HTTP-ответ со всеми заголовками.

Однако на некоторых сайтах я не получаю должного ответа. Например, - www.google.com Если я отправлю:

AT#SKTD=0,80,"www.google.com"
CONNECT
GET /<cr><lf>
<cr><lf>

Я получаю следующий ответ:

HTTP/1.0 302 Found
Location: http://www.google.co.in/
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Set-Cookie: PREF=ID=80125e212d950ff8:FF=0:TM=1310555250:LM=1310555250:S=lwD7-OUKPeiBwCri; expires=Fri, 12-Jul-2013 11:07:30 GMT; path=/; domain=.google.com
Date: Wed, 13 Jul 2011 11:07:30 GMT
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block

<HTML>
<HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE>
</HEAD>
<BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.co.in/">here</A>.
</BODY>
</HTML>

Также я не могу получить доступ к www.wiley.com для тестирования сценариев CGI. Я получаю CONNECT в ответ на AT # STKD, но прежде чем я могу завершить ввод заголовка запроса, я получаю сообщение NO CARRIER.

Ответы [ 2 ]

4 голосов
/ 21 июля 2011

Правильно ли вы установили контекст PDP?

Ниже приведены команды и ответы, которые я использовал при работе с Telit GM862, и они работали хорошо:

AT#USERID="username" //set username provided by mobile operator
AT#PASSW="password" //set password provided by mobile operator
AT+CGDCONT=1, "IP", "internet","0.0.0.0",0,0
AT#SKTSAV //save settings

AT#GPRS=1 //check if PDP context is established - if it is it should return the IP

+IP: 188.196.98.28

OK

AT#SKTD=0,80,"google.si",0,0

CONNECT

GET / HTTP/1.1<cr><lf> 
Host: www.google.si<cr><lf>
Connection: keep-alive<cr><lf>
<cr><lf>
HTTP/1.1 200 OK
Date: Fri, 27 May 2011 09:39:49 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-2
Set-Cookie: PREF=ID=2420df534f6e850f:FF=0:TM=1306489189:LM=1306489189:S=i3qJtsLHuyMMmV9q; expires=Sun, 26-May-2013 09:39:49 GMT; path=/; domain=.google.si
Set-Cookie: NID=47=VGbr367EMHD9yp5XA61kWaWL37G_zBAIhy1CbRlEr3br0rcdM-H93M3Imfhm1ccDZiKjV2GhK3gZrg_LIbuz2ycgAZsGOGU1a29VXt7UahnmEqxcXMsG2JJc8GfaNsoM; expires=Sat, 26-Nov-2011 09:39:49 GMT; path=/; domain=.google.si; HttpOnly
Server: gws
X-XSS-Protection: 1; mode=block
Transfer-Encoding: chunked

1000
<!doctype html><html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-2"><title>Google</title><script>...</script>
0

NO CARRIER
2 голосов
/ 14 июля 2011

Я почти решил проблему.

Первая проблема HTTP 302 - это просто HTTP-запрос перенаправления , поэтому мне нужно написать свой код через некоторое времяЦикл повторной отправки нового GET-запроса в ' location ', указанный в Response .

И вторая проблема, связанная с доступом к www.wiley.com, решенанемедленно вставив заголовок запроса и нажав клавишу ввода после того, как я получу CONNECT, вместо ввода вручную.Поэтому я думаю, что проблема связана с тайм-аутом, который возникает из-за задержки ввода.Когда я делаю это в программе, это происходит мгновенно, поэтому мне не нужно об этом беспокоиться.

...