We are in the process of writing an m2m solution on arduino. We use the sim900Enhanced TCP commands to post and read data to and from the server. At the moment our baudrate is fixed to 9600baud with AT+CBST=7,0,1 , which is enough. The problem is when we read the headers, they are most of the time mangled.
An example :
[0D]
[0A]
HTTP/1.1[space]200[space]OK[0D]
[0A]
Server:[space]Apache-Coyote/1.1[0D]
[0A]
SoftVersion:[space]1.6[0D]
te:[space]Thu,[space]01[space]May[space]2014[space]13:47:31[space]GMT[0D]
[0A]
[0D]
[0A]
start of body
should be:
[0D]
[0A]
HTTP/1.1[space]200[space]OK[0D]
[0A]
Server:[space]Apache-Coyote/1.1[0D]
[0A]
SoftVersion:[space]1.6[0D]
[0A]
MD5Checksum:[space]f68af9ae[0D]
[0A]
Content-Type:[space]application/octet-stream[0D]
[0A]
Content-Length:[space]16[0D]
[0A]
Date:[space]Thu,[space]01[space]May[space]2014[space]13:48:33[space]GMT[0D]
[0A]
[0D]
[0A]
start of body
SoftVersion:[space]1.6
We also sometimes get CLOSED after a while as a response from the sim900
Next to this header problem ,when we download firmware for the arduino this seems to have a bigger successrate than the headers and body responses. The firmware is now roughly 70 kb which it traverses without any problems and the data is all correct.
Could anyone shed some light on this behaviour?
Thanks