I have a reception problem in SIM900 data via web server. I establish a TCP / IP connection between the web server and SIM900, I'm sending data to the web server successfully but my problem is receiving data to SIM900. I'm testing in some trials SIM900 recovers data and in other tests SIM900 does not recover the data. I want to stabilize the receiving data to the SIM900.
SIM900 connected by Raspberry Pi 2, I use the programming language C and the wiringpi library.
fd =serialOpen ("/dev/ttyAMA0", 115200) ;
serialPrintf(fd,"AT+CIPSHUT\r",11);
delay(2000);
serialPrintf(fd,"AT+CIPMUX=0\r",12);
delay(2000);
serialPrintf(fd,"AT+CGATT?\r",10);
delay(2000);
serialPrintf(fd,"AT+CSTT=\"CMNET\"\r",16);
delay(2000);
serialPrintf(fd,"AT+CIICR\r",9);
delay(4000);
serialPrintf(fd,"AT+CIFSR\r",9);
delay(2000);
serialPrintf(fd,"AT+CIPHEAD=1\r",13);
delay(2000);
serialPrintf(fd,"AT+CLPORT=\"TCP\",2541\r",21);
delay(2000);
serialPuts(fd,"AT+CIPSTART=\"TCP\",\"197.2.207.198\",\"2541\"\r");
delay(2500);
serialPuts(fd,"AT+CIPSEND\r");
delay(1000);
serialPuts(fd,adressemac);
delay(500);
serialPuts(fd,"\r\x1A");
delay(6500);
n=serialDataAvail (fd);
for(i=0;i<n;i++){
sprintf(pt,"%c",serialGetchar(fd)) ;
strcat(at,pt);
}
printf("%s",at);
close(fd);