Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

SIM900 GPRS Webserver Problem

Status
Not open for further replies.

cpt_babur

Newbie level 5
Joined
Dec 24, 2010
Messages
10
Helped
8
Reputation
16
Reaction score
8
Trophy points
1,283
Location
ISTANBUL
Activity points
1,381
Hi all.
i have a problem with my SIM900 module. I use SIM900 as a Webserver in Multiconnection Mode. My project is almost done and working good. I tried to connect with Firefox, Explorer, Opera and Safari browser. SIM900's Webserver worked with all of them properly. But when i tried to connect via Google Chrome, module could'nt give a response. and more, after this time the module cannot be accessible over internet. (Hyper Terminal socket / Webbrowser / (sometimes Ping) )
and after this trouble. i tried to test it with other browsers again. and i noticed that; sometimes same problem happened.
Worst of all, after this error, SIM900 never send any "URC". and when i query the some states it says everything is okey. registration is okey, port listening, gprs state is okey.
i think the problem is related to SIM900's TCP-IP Stack. Maybe it can stall, and never response back to its microprocessor about actual state. so when i try to query the states, i give old states maybe.

is there anybody who uses sim900's gprs service properly.?
many thanks.


after a google chrome html request the situation like this. seems everything is working good. but not. (sometimes other browsers to cause this problem. one or two times a day, but chrome is everytime)

AT+CGREG?

+CGREG: 0,1

OK
AT+CIPSTATUS

OK

STATE: IP PROCESSING

S: 0,0,"80","LISTENING"

C: 0,0,"TCP","95.8.247.147","20920","CLOSED"
C: 1,0,"TCP","95.8.247.147","20923","CLOSED"
C: 2,,"","","","INITIAL"
C: 3,,"","","","INITIAL"
C: 4,,"","","","INITIAL"
C: 5,,"","","","INITIAL"
C: 6,,"","","","INITIAL"
C: 7,,"","","","INITIAL"
 

Hi, I have the same problem with a webserver of my project using Sagem Gprs module. Using Internet explorer, Sagem module not notify any call of browser. Firefox works fine. It's a problem of mobile IP, security level of Internet Explorer, etc ?? Tell me if you resolved your problem, please..
Thank, Bye

Andrea
 

Hi Abararam
I don't know anything about SAGEM Module. My module is SIMCOM's SIM900.
:)
Yes and No. I can't resolve this problem but SIMCOM.
In April, i tried to contact SIMCOM's Technical Department. After 10 peoples, i was able to contact real man. :)

We worked together for identify the problem on Google Chrome. Then we point one thing that related Module's TCP-IP layer. And they really resolved it. And released new firmware version. i think it was B10.

I suggest you must contact them. Because we are not customers, we are field testers for them :)

Note: The browsers requests very complex. I don't know WTH Google Chrome does. But it must different. For example;
IE wants favicon.ico file as soon as possible. So when you listen port 80. you can give 2 requests same time. One of index.html, another one favicon.ico.
Also nowadays, Firefox sends two requests. not favicon. but i ignored it. and nothing went wrong. page loaded succesfully.
 
  • Like
Reactions: acp27

    acp27

    Points: 2
    Helpful Answer Positive Rating
cpt_ You are right, I'm in direct contact of Sagem's designers and is not the first time they released firmwares modified for problems that i found with italian providers and comunicate to them. The only problem: their time for reception problem, test and resolve is very long. I want to first determine if the problem is due to my lack of knowledge of HTTP, but in any case, the module does not communicate to me the first browser request on port 80 and i'm powerless to answer anything if i have not questions (favicon, data etc). I think that Internet Explorer not send request to this type of IP (mobile). Maybe I should try another brand of module (I have Wavecom modules) for estabilish if it's a problem of stack TCP. I can implement TCP stack on my micro and use only pure GPRS connection of module, so i can use every module, with or without TCP or problem of this. I will check next days.. Thank you so much, it is the real first time i use forum for search help and i'm lucky to found the right person like you.
I will tell you news, bye

Andrea
 

Thanks Abararam;

In fact, 3 subjects not usable together.
1. GPRS technology,
2. WEBServer,
3. TCP-IP.

So i regret to choice this way.
In my country; GSM companies (ISPs) gives Static IP. (direct internet connection). But some countries gives Dynamic (local) IP. like (indonesia, israel etc.) So you can reach internet as a client but nobody can reach your mobile webserver from internet. Like company network. (You can look GPRS documents. There are two topology.)
Cause the structure gives service for mobile phone. not webserver. This is the idea.
My project's GPRS side is pending, due to this restriction.

I feel very bored, tired. I spent almost a year.
Bay :)
 
  • Like
Reactions: acp27

    acp27

    Points: 2
    Helpful Answer Positive Rating
Hi, can you please tell me how you are making TCP request? i tried making server with sim900 and able to create it, but when i put the IP address in browser given by sim900, connection always times out.
Thank you
 

Hi.

The IP that given SIM900 (AT+CIFSR) is a LOCAL IP.
It comes from GGSN(GPRS Gateway SupportNode) system and Radius server. Lots of countrie's GSM operator gives local ip. I think yours too.
Think a company network. Your PC takes an ip from your router. But this is your local ip (ex.192.168.2.56). Your real ip is given by ISP. (WAN IP)
So.

In this case; you can think that, how can i set port forwarding on "Base Station" :D Of course it is impossible. So all you need is a STATIC IP. I don't know what your GSM provider can give Static IP.

ip.jpg
 
thank you for the information.
but if this is the case then how different gps and gprs based tracking devices update their position? through polling?
 

this is possible as a client. (like, sending e-mail)

1 My device can connect any webserver directly. (AT+CIPSTART)
2 Then i the device able to send any information to webserver's application.
3 Then the application stores your id and your infos. (it keeps a small database)
4. Another client application (Tracker software), connects same server and calls database records. :)
 
thanks for the insight very helpful.
i also want to use sim900 to receive some configuration data which will be saved in SD card and later used. but if i start download data sim900 ruthlessly sends more and more data and over flow condition occurs. if i am using hardware RTS/CTS lines then can i indicate sim900 to pause so that previous data can be processed? i read the datasheet and it was written in that if sim900 buffers get full it uses the RTS/CTS line but i am just concern if my microcontroller buffer gets full then can i use RTS/CTS line to indicate a pause?

thank you
 

of course SIM900 supports full modem communication. (signal in/outs). This is typically FLOW CONTROL topic.

So;
I use circular buffer in microcontroller side. it is 256 bytes. This must greater than the biggest packet you can get.

If you are about GPRS and internet data. Give me a more info about your connection style. WEBSERVER, WEBCLIENT,TRANSPARENT, NON-TRANSPARENT ???
 

thanks for information now i'll use RTS/CTS line...
i am using this connection method:https://www.edaboard.com/threads/197080/
Transparent/Non-Transparent: i am not sure how to identify this, can you please tell me how to identify this? and what are the advantages/disadvantages?
 

umm
You are using Non-Transparent mode. And Multi-Connection.

I suggest "AT+CIPRXGET" command. This very helpful.
In Inıt state you must set CIPRXGET functionality to MANUAL. After this,
when GPRS takes some data, SIM900 send you just a URC not complete message. Like "+CIPRXGET:1,0"
This means, you can get data manually. From Connection 0.

Than you will use
AT+CIPRXGET=2,0,180 //this means; Give me 180 bytes from connection 0.
Than your data comes;

+CIPRXGET:2,0,180,3 //this = 180 bytes coming, 3 bytes left from conn 0.
HTTP/1.1 200 OK
Date: Thu, 15 Dec 2011 12:11:48 GMT
Server: Apache
Content-Type: text/plain
Accept-Ranges: none
Connection: close
Transfer-Encoding: chunked

7
badauth
0

OK


Try this
 
  • Like
Reactions: acp27

    acp27

    Points: 2
    Helpful Answer Positive Rating
hi
thanks for the command. i'll try it out.
do you know how to use GPIO pins in sim900 modules. i see there are 12 GPIO pins but how to use them? also can we use them for ADC sampling?
thank you
 
  • Like
Reactions: acp27

    acp27

    Points: 2
    Helpful Answer Positive Rating
No. u can't.
Because sim900's standard firmware doesn't support, GPIOs, ANALOG INPUTs, I2C communication option. You must contact distributor to buy new another version of firmware. i said "buy1. So i think it's not free to support optional things.

Sorry for Bad English :)
 
hi,
thanks for the information. i hope my questions are not bothering you :)

i tried using hardware flow control but it seems its not working. i connected CTS/RTS line to my microcontroller and enabled hardware flow control using AT+IFC=2,2 but when i put CTS line to low sim900 continues to transmit data and overflow occurs. am i missing something?

thumbs up for your english, i can completely understand it..

thank you
 

Sir
I am using SIM900D,
the command AT+cdnsorip is not working in my module. is there any other alternative command.
After that where can I check that my module is working. I mean the second party to my module for communication.
 
  • Like
Reactions: acp27

    acp27

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top