Hi there, i am a master student from Hong kong Polytechnic
University. Since i am now doing a research on on embedded
application by using GR47 + m2mpower package, i encountered
sorts of problems, may i ask u a few questions here?? May be
it juz take u a few minutes to answer my question.
I wanna set up TCP/IP connection since it it workable by
using GR47. SO, i try the source example code by using
m2mpower application. I download the code on to the GR47 and
it is not workable though.
the IP and Port i want to connect:
IP: 202.125.204.109
Port: 1500
And the another side i wrote a java program which is
listening the socket(i am sure the java program is
workable). And the java is gonna receive the data which is
sending from GR47. But i still cant receive response....
The question here i wanna ask is:
1) TCP connection is running based on GPRS on GR47??
i try to type these commands in hyper terminal:
AT+CGDCONT=1,"IP","3-DB-GPRS"
OK
*it seems tat GPRS is workable
2) Are there any problems in my m2mpower script??
(i juz copy them from example script, should be alright)
3) Do u have any suggestions on how can i connect my Gr47 to
the destination socket??
eg.IP: 202.125.204.109
Port: 1500
Sorry for spending ur time on my questions. Cuz it is very
urgent, so i do appreciate ur help. Anyway, i am looking
forward to ur reply. thx a lot!!
Best Regards,
Roy
THe C Script of m2mpower:
main()
{
int APPS_CALL_STATUSBYTE = 5;
int RINGING = 1;
char Buff[33];
char TCP_CONNECTED = 2;
int Port = 1500; /* 1500*/
int IPAddr = 0xCA7DCC6D; /*202.125.204.109*/
int DATASIZE =256;
char Data[DATASIZE] = "Send Packet";
int TCP_STATUS_BYTE = 14;
char SckNum;
int err;
char Timeout = 0;
int Size;
/*Waiting for request then sendind data start afterwards*/
while(1)
{
prtf("\nWaiting for incoming call...");
if(gtb(APPS_CALL_STATUSBYTE) == RINGING)
{
clip(Buff,32);
prtf("\n Ringing from %d",Buff);
break;
}
dlys(1);
/*TCP Connection and sendind data*/
err = pdpa(1,1);
if(!err)
{
err = ipo(1,1,&SckNum); /*PDP context 1, TCP Type*/
}
if(!err)
{
err = tcpc(SckNum,Port,IPAddr);
if(!err)
{
while((gtb(TCP_STATUS_BYTE) != TCP_CONNECTED) && (Timeout < 100))
{
prtf("\n waiting for connection!");
dlys(1);
Timeout++;
}
if(Timeout < 100)
{
Timeout = 0;
Size = DATASIZE;
err = tcps(SckNum,Data,&Size);
if(!err && Size == DATASIZE)
{
prtf("\n Sent OK!");
}
}
}
}
break;
}
}