Option 1: SIM508
Option 2: Any other
we have launched a GPRS module for Arduino. It includes the Hilo SAGEM communication.
The module is available and you can order it directly here:
As usual schematics and tutorials are available in SquidBee project page:
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:
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?
I forgot say before, <ndata> is the length WITHOUT the pattern, so:
"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 <serverID> value
and also receive:
When a client connect.
But I don't know it.
I hope it would be useful.
and in addition how can I learn my module's ip adress?
i cant find the web site where is the document, there you have one:
but, it is not complete. If you want tell me your email and i will send you mine.
thnks for your helping.
my e-mail adress is :
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?
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 :)
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
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??
I haven't tried sending non ascii chars, but maybe its the same problem, I will upload the firmware later today.
Updated ATCommandSet (http://skruse.1go.dk/images/ATCommandSet.pdf)
firmware 5.05 (http://skruse.1go.dk/files/HiLo.rar)
If I remember right there is a problem with a dll :|
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 :(
See -2 posts for firmware
Thanks, i will try it!
Another question... when i try to transmit data to the source, sometimes it answer me : AT+KTCPNOTIF: 1,8. It means that it was waiting for more or less bytes. In my server how i tried to send 4 bytes, but it send only 3.
What can be the problem? perhaps the time between send AT+KTCPSND and the data??
I had huge problems to find out how to send in the beginning.
Now I send in this format:
AT+KTCPSND=session,nbytes+2 //data + CR LF
"CONNECT" //from module
<nbytes data> <CR LF> //Data + CR LF
--EOF--Pattern-- //Key pattern
"OK" //from module
If I forget to send CR LF after data I get session,8 error
Remember you may not send CR LF after Key Pattern :)
hope this helps, it toke me quite some time to find out that sometimes you may send CR LF and sometimes not.
see examples (appendix) in the AT Comman set if you need more.
CAn any one suggets me about SIM508 market report. I mean to ask about it`s industrial usefullness.Whether i have to go for some thing different module or stick with SIM508.
hi dear friends ,
I have a problem with connecting to an internet server when I have set up a client on it.i have physical with a valid ip address.i can connect to this server with my gprs module with port 8000(socket server) but i can't send & receive any data.can you help me?
thanks a lot.
Can you get the "CONNECT" message when you try KTCPSND or KTCPRCV ?
please post the exact commands you use and their response.
hi dear Sonped & another friends,
thank you for your attention.
i can't any connection with socket server (the socket is:18.104.22.168:8000 & socket API has installed on a srever 2003 with 192.168.1.2<local ip address> & 22.214.171.124 that is valid IP address for this server & 192.168.1.1 for default gatway<a adsl router> ).
i have set "192.168.1.2:8000" on socket server API.
my atcommand for sim300cz is:
thank you very much.
sorry but I can't help you with this module.
It seems to use different AT commands than the Hilo module I had used.
thanks Sonped. ;)
i have a problem with this module. when i send the command AT+KTCPSND=1,14 I can't write anything else in the hyperterminal until I'll get KTCP_NOTIFY error 6 or 4, it depens on some random reasons since i get both errors with the same server. what I could do?
When you send the command AT+KTCPSND=1,14, be sure that your that your module is upgraded because it's not, you must to start your message for 'A' character. Anyway, if you are using hiperterminal or similar, you can't see what are you sending, but this doesn't mean that you are sending nothing. The only way to check that the info is sending correctly, is having access to the server and listen in the socket.
Another recomendation: If you want to avoid problems with the EOF pattern, is recommended to change it to a only one character, for example with: AT+KPATTERN="#".
And now, my question: Anyone knows where I can find the famous firmware 5.05 for the module?? The links in this forum are broken. I need to make a TCP connection whitout sending the 'A' character in the first place... help please!
thanks for your answer. I have the new firmware in the module. I found it googling. I have it at home, I will send you it on friday if you want. I only need your email so get it to me by pm.
Sorry that the links to the software is broken.
I can see that the links is not valid anymore, but I can't remember deleting the files at the server so dunno why :(
I will try fix this later.
I have another question for you. I'm having many problems with the power supply. It's posible to use a external 9 V power supply to powering Arduino, GPRS and GPS module?? how I must connec it?
In this moment, I only can make it works with 12 V. And this voltage is excessive for a wireless device. what can I do? Thanks
hello, i only used the GPRS, if you look the schematics and the datasheet of the regulator, you can see that the maximun tension is 30 (i think, i dont remember exactly), so you can put 12, but the circuit will continue on 3.3.
As i told you, i dont know about the gps or the arduino, but, in gprs, you can power it changing the jumper, or directly in the same pins.
I hope it will helps you.
Thanks, but I believe that this information isn't helpful for me. Sorry.
My shield must to be powered by arduino, because I need that ATMega manage the GPS and GPRS modules. So I have to let the shield jumpers in "Arduino" and "5 V" position.
I think that the current is the problem. I have been measuring all the voltages in the shield and everything is OK. 3,3 in the HiLo and 5 V in the GPS. I soldered a 220uF capacitor between 5V and GND, but seems that isn't enough. Should I use larger capacitors? I need al least 2A to transmit data.
The links at page 2 is now working again
OK, that's great, thanks Sonped.
I just solve the problem with the power supply. I had to solder a capacitor between 5 V and GND bigger enough to generate 2 A for the transmision peak.
In my case, I'm using a 470uF capacitor and the voltage must to be al least 8 or 9 V.
If you are using less voltage, the capacitor must to be bigger and vice versa.
Did some of you know of a GPRS module which use something else than AT-commands, maybe a PPP interface or similar ?
Hi, I'm trying to develop a system with GPRS-hilo, and I'm not able to initialize the modem. I try to follow the instructions about the POK_IN pulse, and the modem does nothing, CTS is always '0'. In addition, VGPIO is always at 2.8V, although POK_IN low-pulse is not given.
Someone can help me?
Does anyone know if the Libelium GPRS shield ships with any given frequency band set by default? I am in the US, I may need to change the band (to 850/1900 MHz) if the module is preconfigured with 900/1800MHz.
If a change is necessary, how do I make set the band?
I would be grateful if someone could help me, I'm having some troubles using the Hilo sagem module to send messages thro gprs, I'm using this commands:
Now nothing is happening, jus a no carrier response, but last week I had a connected response but then de module freezes, I'm kind a newbie in that stuff, if anyone could help I ll be grateful.
Do you have a 5V 2A power supply direct to the shield? It´s very important to maintain the connection stable.
now im pluging arduino directly by electricity and im using a capacitor to maintain the power supply, i get the connect part but i can´t send anything
I solve the problem and Arduino it's working both in stand-alone mode and as USB gateway modem.
The antenna is essential; without the antenna a NO CARRIER message appears.
I use a power supply (ps) of 9V 3A first, feeding Arduino board using 2.1mm center-positive plug into the board's power jack.
To the following please consider the figure
Description of the components in the Libelium tutorial
If you consider the Arduino board oriented so the power jack is at 9h (your left) the shield jumpers are:
voltage jumpers right position - Arduino 5v
******************stand alone mode ***************
1) upload the program, for example lost call (Libelium tutorial)
2) serial com jumpers: left position (Arduino).
Now the sketch lost call may be executed for example, disconnecting the USB cable from computer, disconnect and connect the power jack.
******************USB gateway mode ***************
The only way I was succeed until now to use the GPRS shield as an USB gateway is using an Arduino board without the ATMEGA microcontroler; to work as a gateway, again with the 9v external supply:
voltage jumpers right position - Arduino 5v
serial com jumpers: right position - USB gateway
I use the hyperterminal program with the sets referred in Libelium tutorial.
To begin the comunication press about 2 s the shield on/off button; it appears a PSST message indicating that SAGEM module is ready to listen and execute the AT commands.
Now I 'm using a AC-DC ps with 9V 1000mA with the 220microFarads capacitor recommended in Libelium tutorial; the Windows hyperterminal connection remains stable after several hours.
Hi, unfaithfully I haven't solve my problem, now I'm getting something but it's not enough, after the connect message I can just send one char then the ktc notify appears and I have to set my at commands again, I know that the char is send because I'm listening the socket on a server
and I don´t know why just one char is sent.
I'm using AC-DC power supply with a 220uF capacitor, and I don´t know we I only sending one char? any ideas?
Is it only I that cant get the HiLO upgrader to work?
I have replaced the mfc42.dll tried to unregister and reregister it. rebooting computer downloading a new one same procedure and still gets
In English it says "Can't find order number"...
Any ideas? my hair is getting grayer and grayer^^
Found a solution to my problem...
I cant get the gprs module to work in standalone mode. I can send sms messages no problem using the hyperterminal and the code given in the libelium tutorial. I have the Arduino using a power adapter and the capacitor as shown but still no messages when the device is put in standalone configuration. Can anyone shed some light on this for me? :-?
I cant get the gprs module to work in standalone mode. I can send sms messages no problem using the hyperterminal and the code given in the libelium tutorial. I have the Arduino using a power adapter and the capacitor as shown but still no messages when the device is put in standalone configuration. Can anyone shed some light on this for me? Huh
Have u read this entire thread and is your module upgraded to a newer firmware? if not u can start by doing that, upgradeing info can be found @ www.libelium.com (http://www.libelium.com/squidbee/index.php?title=Uploading_the_firmware)
I had been trying to upgrade the firmware on the module but kept getting an error saying serial detect reached max loop (22) COM 3. and the upgrade fails.
wooooo hooooo..it suddenly started working for some reason.. happy days :), now if i can just get it to send sms in stand alone .... ::)
Ok Libelium isn't the best in documentations.
Have u put your module baud rate with command AT+IPR=115200 and is the shield in "USB mode" also is the hilo-upgrader the only program connected to your Arduino?
Ok nice :)[/edit]
Just wanted to say, I had a similar problem sending SMS from the arduino standalone and after the upgrade to Hilo version 7, the problem was solved. By the way, make sure that you follow the tutorial from libelium to perform the firmware upgrade. The module must be turned on rigth after connecting it to the PC, wait about 20 secs and then hit the upgrade button on the Hilo upgrade program.
Hi, I'm using the GPRS Module (Sagem Hilo) to connect me to a .php page and
get some information like a phone number, name etc. The problem is that I don't know how to read that
data. I tried to use Serial.read but the data that readed is not that I
want. Any help?
I try with no success to start initial communication with the libellium GPRS hardware. I use an hyperterminal with the rigth parameters but never receive any answer from the hardware ... (I removed the ATMega328) and the voltages (0, 3,3 and 5V are ok on the GPRS shield ) Have yoy an idea ?