TCP communication from NEOWAY M590E- Successful

Some of the GSM/GPRS chips do not support HTTP services and since the modems are controlled via AT commands, the AT command sets are very limited to HTTP commands in NEOWAY M590E.

The only option to communicate with any cloud based or locally hosted server was using TCP protocol. I have used HTTP services in many of my projects and experiments, it is easy and with few lines of code can manage an HTTP requests. For weeks i have been struggling with TCP request and every time it fails to connect or sometimes data is sent but from server side there is no new data fetched.

Basically TCP is transport layer in OSI model and HTTP is in application layer. TCP will do a socket based connection to servers predefined port. For example  test.com:8989. what i mean is it needs a listener to listen to port that you define or open to use.

After weeks of reading articles and AT command sets thoroughly, finally i managed to handle a TCP request from modem. But still it fails sometimes or unable to connect to server ....blah blah..

 

NEOWAY M590E chip connected to microcontroller

Finally figured out a way to send the commands with error checking and if fails it will retry the steps again until it is successful. The following AT commands are used for NEOWAY chips and for different vendors AT command sets are different so if you are trying TCP request flow that i have used in here please bare that in your mind. :P

at+xisp=0 
at+cgdcont=1,"IP","your APN"
at+xiic=1
at+tcpsetup=1,server-address,port
at+tcpsend=1,number of chars
> --- when this prompt comes up, you can send the data.
GET /test.html HTTP1.1
HOST:server-address,port
Connection:keep-alive
CTRL+Z ---once the data is loaded..send termination command to send data
at+tcpclose=1  --- disconnect IP connection
AT+CGATT=0  --- disconnect GPRS connection

I send all these commands from micro controller and mean time watching for prompts and error handling. Timing is very important to send the command and get the results back.

I have posted a video of how my code is handling the errors.



Please subscribe to my YouTube channel and Instagram. A very special thanks to Andrea's for supporting me. 


Post a Comment

Popular Posts