I am implementing a data transmission test on esp8266, and following are my question on this issue.
[Summary of the test]
As part of the test, the esp8266 works as a client, sending data, continuously, to the TCP server, we need to determine how fast esp8266 is to send the data. We set an expected data transmission rate using our software, for example, 2048 bytes/ms, the software will send a string of 2048 bytes every 1 ms via serial port, using AT Commands. Following are the questions that really puzzled me:
[1] what is the difference between AT+CIPSENDBUF and AT+CIPSENDEX, it seems both of them start to send data when the data length is meet. Besides what stated in the AT commands reference(the pdf file), can you explain a little bit further?
[2] for AT+CIPSENDBUF and AT+CIPSENDEX, which is faster?
[3] Is there any restrictions on time interval between two data packets, or two AT commands?
[4] In our test, the performance of data transmission is only 5-6 kbps, which is really slow. Is it possible to send data at a higher rate, say 18-20kbps, using AT command?
A couple of questions on the data transmission using esp8266
Re: A couple of questions on the data transmission using esp8266
Postby pratik » Fri Apr 07, 2017 2:42 pm
I think your speed issue is because of the UART speed bottleneck.
For sending 2048 bytes a millisecond, you need to send 20480 bits a millisecond, i.e. 20,480,000 bauds! without even considering a processing a overhead.
To send data faster, use transparent transmission mode or use the SDIO/SPI interface for AT commands. That allows much faster transfer speeds.
AT+CIPSENDBUF is faster as you can fill in buffers to send data when when data is being sent out. SENDEX actually adds processing overhead because the ESP8266 needs to look for the termination combination. However, SENDEX can be faster for smaller blocks of data. It really depends on the application...
For sending 2048 bytes a millisecond, you need to send 20480 bits a millisecond, i.e. 20,480,000 bauds! without even considering a processing a overhead.
To send data faster, use transparent transmission mode or use the SDIO/SPI interface for AT commands. That allows much faster transfer speeds.
AT+CIPSENDBUF is faster as you can fill in buffers to send data when when data is being sent out. SENDEX actually adds processing overhead because the ESP8266 needs to look for the termination combination. However, SENDEX can be faster for smaller blocks of data. It really depends on the application...
Who is online
Users browsing this forum: No registered users and 175 guests
Login
Newbies Start Here
Are you new to ESP8266?
Unsure what to do?
Dunno where to start?
Start right here!
Latest SDK
Documentation
Complete listing of the official ESP8266 related documentation release by ESPRESSIF!
Must read here!
- All times are UTC+08:00
- Top
- Delete all board cookies
About Us
Espressif Systems is a fabless semiconductor company providing cutting-edge low power WiFi SoCs and wireless solutions for wireless communications and Internet of Things applications. We are the manufacturer of ESP8266EX.