New GPRS module for Arduino

hi libelium,

good to see you on the forum, and thanks for introducing the GPRS shield.

The examples in the tutorial are a great start, and I'm now developing an application using the TCP socket over GPRS.

I'm using a Terminal before I migrate the routine to Arduino code, and things seem to hang when I form the HTTP GET request. Some times I see a reply, but usually I get a stall and a GPRS error message.

Have you managed to use the TCP socket?

Here's an example AT terminal transcript leading to the stall:

AT
OK
AT+KCNXCFG=1,"GPRS","payg.talkmobile.co.uk"
OK
AT+KCNXTIMER=1,60,2,70
OK
AT+CGATT=1
OK
AT+KTCPCFG=1,0,"SOME_SERVER_URL",SOCKET_NUM
+KTCPCFG: 1
OK
AT+KPATTERN="--END--"
OK
AT+KTCPCNX=1
OK
AT+KTCPSND=1,24
CONNECT

Following on from the "CONNECT" response, here's how I'm forming the GET request, the 24 characters that I send are set above the in KTCPSND command, and includes the end of file pattern set above with KPATTERN:

HELLO WORLD 1234 --END--

If I send the request during a telnet session with the server, I see the data echoed back. When I use the GPRS module, I get a stall, and Terminal no longer accepts further AT commands...

Hello i had the same problem and i solved it. the problem is:

"HELLO WORLD 1234 --END--"

The " caracter is necesary.

I have another problem. It is important that the first character will be "A", so, you have to put:

"AELLO WORLD 1234 --END--"

I don't know why, and i want to change it. Does anybody know how i can do it?

Thanks. Regards

I forgot say before, is the length WITHOUT the pattern, so:

AT+KTCPSND=1,17
CONNECT
"AELLO WORLD 1234 --END--"

thnks for information.Can you help me about data sending and receiving as a server.
I failed tcp connection as a server...

I am sorry, I am using the module as a client.

I suppose it must be:

AT+KTCPCFG = <cnx conf>, 1, <tcp_port>

you configure as server. and you receive the value

and also receive:

+KTCP_SRVREQ: <session_id>,<subsession_id>

When a client connect.

But I don't know it.

I hope it would be useful.

Regards

and in addition how can I learn my module's ip adress?
Which command?

AT+KCGPADDR

i cant find the web site where is the document, there you have one:

http://www.libelium.com/tienda/catalog/images/arduino/AT_Commands.pdf

but, it is not complete. If you want tell me your email and i will send you mine.

Regards

thnks for your helping.

my e-mail adress is :

celal.unlu@hotmail.com

The 'A' problem is because you don't have the latest firmware.
Upgrade to 5.05 and the problem is solved.

When upgraded you get the IP with AT+KCGPADDR

how can i get it?

I have another cuestion, i am sending tcp packets, so, i send two messages to the tcp module, AT+KTCPSND and the values i want to transmit, but i dont know why sometimes the gprs doesnt "read" the second one, so, it doesnt send the packet to the server and doesnt answer the comand.

Do you know the problem? is it necesary some wait time? why does it work sometimes?

Thanks!

Regards

I don't have the arduino module, I have the development kit from Sagem.
I have access to a Sagem ftp server for new documentation and firmware when released. I can make the Hilo module firmware ready for download a my site if Libelium don't have any firmware upgrades.
Post again if you can't find a new firmware at libelium :slight_smile:

I have trouble connecting to the module when I have set up a server on it.
Do anyone have succes with this server ?

I can only connect to my server from a client I make on the same module. (not usable for much :D) Why can't I use telnet to get a +KTCP_SRVREQ ?

hello, i didnt do a server in the module, but i suppose that your ip isnt public, so, you only can access if you are in the same network, so, you can access to "localhost" but cant in other case.

I am not sure, but it could be the problem

Regards

I have checked that my ip is global.
As client I have connected to "myip.dk",80, and here I get the IP to be the same as the module tells me.

i think it is not sure, because, if you do a web page in a computer, but the router ports arent open it happens what are you describing, but nobody out the LAN can access

Damn, but have the hell can I then be sure my IP is global.

I dont know, perhaps if you call to the number of the operator you are using... but... it is the only possibility i can say you.

I have another problem similar to the "A" at the beginning of the packet, i am trying to send characteres 0x00, 0x03... all of them havent correspondence with any ascii character ( they are NULL, SOH...) and the module doesnt send them. is it also another firmware problem?

Could you say me where do you actualice your hilo??

Thanks. Regards

I haven't tried sending non ascii chars, but maybe its the same problem, I will upload the firmware later today.
Updated ATCommandSet
firmware 5.05
If I remember right there is a problem with a dll :expressionless:
It is in the rar, and I think it is sufficient to copy it to c:/windows/system32 or similar

I'm student and is working with the dev. kit so no specific use at the moment.

You were right about the global IP :frowning:

See -2 posts for firmware