Forum: Mikrocontroller und Digitale Elektronik GPRS Sim900 Modem für OpenCellID - Abfrage


von Made M. (randomwireman)


Lesenswert?

Moin zusammen,

versuche mit meinem gprs modul eine Mobilfunkzellenlokalisierung auf 
www.opencellid.org zu machen.
Füge ich im Browser folgende Adresszeile ein:
"http://www.opencellid.org/cell/get?key=XXX&mnc=7&mcc=262&lac=11528&cellid=7393047";, 
dann erhalte ich die korrekte Antwort.
Nun habe ich mit www.hurl.it die Anfrage, die ich an den Server stellen 
muss geprüft.
Füge ich in 'URL' die obige Zeile ein, und sende eine Get-Anfrage, 
bekomme ich unter 'request' folgendes zu sehen
1
GET /cell/get?key=XXX&mnc=7&mcc=262&lac=11528&cellid=7393047 HTTP/1.1
2
Host: www.opencellid.org
3
Accept: */*
und erhalte folgende Anwort unter 'response':
1
HTTP/1.1 200 OK
2
Date: Sat, 25 Aug 2012 10:40:08 GMT
3
Server: Apache/2.2.16 (Debian)
4
X-Powered-By: 
5
Cache-Control: no-cache
6
Set-Cookie: _OpenCellID_session_id=8cd6888dc902dda85bf608f0dc3b20a1; path=/
7
Content-Length: 186
8
Status: 200 OK
9
Content-Type: application/xml; charset=utf-8
10
11
<?xml version='1.0' encoding='UTF-8'?>
12
<rsp stat='ok'>
13
  <cell lon='9.93282238756038' nbSamples='69' mcc='262' mnc='7' lac='11528' cellId='' range='50000' lat='53.542989133273'/>
14
</rsp>


Nun sende ich über mein Terminal folgende Befehlskette an mein sim900 
modem(immer mit CR abgeschlossen):

[code]
AT+CPIN="1234"
AT+CFUN=1
AT+CGDCONT=1,"IP","webmobil1"
AT+CSTT="webmobil1",,
AT+CIICR
AT+CIFSR;+CIPSTART="TCP","www.opencellid.org",80
AT+CIPSEND
[\code]

Dann warte ich auf '>' und sende

[code]
GET /cell/get?key=XXX&mnc=7&mcc=262&lac=11528&
Host: www.opencellid.org
Accept: */*
[\code]

Nach jeder Zeile sende ich 0x0D und 0x0A (in einem anderen Thread 
erwähnt), nach der letzten Zeile sende ich diese Zeichen 2x.
Den Abschluss bildet dann 0x1A
Dann kommt ein 'Send OK' und ich erhalte folgende Anwort:

[code]
HTTP/1.1 404 Page Not Found
Date: Sat, 25 Aug 2012 10:19:16 GMT
Server: Apache/2.2.16 (Debian)
Cache-Control: no-cache
Set-Cookie: _webwag2.0_session_id=0f61c2b2754b464f8d76ea8214a35e7d; 
path=/
Content-Length: 622
Status: 404 Page Not Found
Vary: Accept-Encoding
Content-Type: text/html; charset=utf-8

<html><head>  <title>Action Controller: Exception caught</title> 
<style>    body { background-color: #fff; color: #333; }    body, p, ol, 
ul, td {      font-family: verdana, arial, helvetica, sans-serif; 
font-size:   13px;      line-height: 18px;    }    pre { 
background-color: #eee;      padding: 10px;      font-size: 11px;    } 
a { color: #000; }    a:visited { color: #666; }    a:hover { color: 
#fff; background-color:#000; }  </style></head><body><h1>Routing 
Error</h1><p><pre>no route found to match &quot;/cell/get&quot; with 
{:method=&gt;:get}</pre></p></body></html>
[\code]

Auf hurl.it gibt es auch Beispielabfrage, die ich ausprobiert habe, z.B 
die von Twitter 
(http://hurl.it/hurls/05a259491331bae232a6d484ef381ad6c4d7d6d7). Wenn 
ich die Anfrage von hurl nehme und übers terminal sende, bekomme ich die 
gleiche Antwort wie über den Browser.
Probeweise habe ich die Adresse auch mal gegen die IP ausgetauscht, ging 
dann auch nicht. In dem Twitter beispiel scheint die DNS-Auflösung ja 
auch zu gehen.

Weiss jemand, was ich bei OpenCellID falsch mache?

Danke und Gruesse

RandomWireMan

von Made M. (randomwireman)


Lesenswert?

Moin zusammen,

ich hab zwar keine Lösung für das beschrieben Problem gefunden, aber 
einen Umweg entdeckt. Folgende Befehlsfolge erlaubt es mir die 
aufgerufene Seite komplett zu lesen:
1
AT+CPIN="XXXX"
2
AT+SAPBR=3,1,"CONTYPE","GPRS"
3
AT+SAPBR=3,1,"APN","webmobil1"
4
AT+SAPBR=1,1
5
AT+HTTPINIT
6
AT+HTTPPARA="URL","http://cellid.labs.ericsson.net/json/lookup?cellid=0000A225&mnc=07&mcc=262&lac=2775&key=XXXX"
7
AT+HTTPACTION=0
8
AT+HTTPREAD

Als Antwort erhalte ich dann:
1
+HTTPREAD:77
2
{"position":{"accuracy":"439.0","latitude":"52.56139","longitude":"7.96653"}}
3
OK

von Made M. (randomwireman)


Lesenswert?

Moin zusammen,

also da weiss ich auch nicht mehr, ob die Kopiererei nicht funktioniert 
hat, oder ich nur zu doof war. Folgendes hat funktioniert:

warten auf >
dann:
GET /cell/get?key=YOURKEY&mnc=7&mcc=xxx&lac=xxx&cellid=xxx HTTP/1.1
Host: www.opencellid.org
Accept: */*

Nach jeder Zeile CR und LF, nach der letzten Zeile doppelt.
Dann gibt's eine Antwort, wie oben beschrieben.

So long

RandomWireMan

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.