关于ESP8266WIFI转串口的速率问题(含测试数据)
来源:互联网 发布:数据流程图符号含义 编辑:程序博客网 时间:2024/05/01 18:31
最近在测试ESP8266WIFI转串口的速率时发现,设置的波特率到最高,但与理论上计算的传输速度相差甚远。目前仍没有找到准确合理的解释。
测试说明:
ESP8266通过USB TO TTL(芯片为CH340)连接到PC,在PC上用USR-TCP232-Test软件建立TCP Server(UDP也可),ESP8266通过WIFI与PC连接到同一网关的路由,用sscom5.12.1控制ESP8266,发送AT指令,如设置波特率(AT+UART_CUR=9600,8,1,0,0)(数据位8bit,停止位1bit,无校验,无流控),设置透传(AT+CIPMODE=1),建立连接(AT+CIPSTART="TCP","192.168.3.110",8000),开始发送数据(AT+CIPSEND),发送音频文件(大小6640305字节,6.33M,就是一首流行歌的大小,发送音频文件主要是方便查看稳定时的速度,避免文件过小,一下子就发送完了),用360流量防火墙查看下载速度。
各种波特率下的传输速度如下:
波特率为9600时,稳定时下载速度约为0.9KB/S;
波特率为19200时,稳定时下载速度约为1.8~1.9KB/S(平均值取1.85KB/S);
波特率为38400时,稳定时下载速度约为3.8KB/S;
波特率为76800时,稳定时下载速度约为6.2-8.2KB/S(此时下载速度经常变化,7.5KB/S为中间值);
波特率为115200时,稳定时下载速度约为8.5KB/S;
波特率为153600时,稳定时下载速度约为10.5-14.2KB/S(较多在11.4KB/S);
波特率为192000时,稳定时下载速度约为14.2-17.1KB/S(基本在14.2和17.1这两个速率变化);
波特率为230400时,稳定时下载速度约为14.2-17.1KB/S(基本在14.2和17.1这两个速率变化);
波特率为460800时,稳定时下载速度约为14.2-17.1KB/S(基本在14.2和17.1这两个速率变化);
由此可见,在波特率为9600~38400之间,波特率的增长倍数与传输速率的增长倍数基本相同,但是在波特率大于192000以上时,传输速率基本没有任何提高。
若以(起始位1bit(必须的,隐藏位,与之前计算有所更正),数据位8bit,停止位1bit,无校验,无流控)计算,
波特率为9600时,理论下载速度为9600/10/1024=0.9375KB/S;(实际与理论值基本相符)
波特率为19200时,理论下载速度为19200/10/1024=1.875KB/S;(实际与理论值基本相符)
波特率为38400时,理论下载速度为38400/10/1024=3.75KB/S;(实际与理论值基本相符)
波特率为76800时,理论下载速度为76800/10/1024=7.5KB/S;(实际与理论值基本相符)
波特率为115200时,理论下载速度为115200/10/1024=11.25KB/S;(实际与理论值相差较大)
波特率为153600时,理论下载速度为153600/10/1024=15KB/S;(实际与理论值相差较大)
波特率为192000时,理论下载速度为19200010/1024=18.75KB/S;(实际与理论值相差较大)
波特率为230400时,理论下载速度为230400/10/1024=22.5KB/S;(实际与理论值相差较大)
波特率为460800时,理论下载速度为460800/10/1024=45KB/S;(实际与理论值相差较大)
从115200开始,实际传输速率与理论上计算的传输速率相差较大,至于为什么波特率大于192000以上时,传输速率基本没有任何提高,目前仍没有找到准确合理的解释。怀疑是受到PC上接收串口数据的缓冲器大小所限制?
另外,若通过USR-TCP232-Test软件发送同样的音频文件(大小6640305字节,6.33M)到ESP8266接收,则最大上传速度为4KB/S,
波特率为9600时,则通常为接收16KB后即停止接收;
波特率为19200~192000时,通常为接收20KB后即停止接收;
但有时不会停止接收,若停止接收,已接收数据量均为4KB的倍数。
怀疑是ESP8266上接收数据缓冲器的大小为4KB?
(后经大神指点,原来是USR-TCP232-Test这个软件右下角有一个发送间隔XXX毫秒的设置,将其改短一点即可提高上传速度,在UDP传输时可以改得很短,例如3ms,但是在TCP传输时要注意模块是否来得及接收,若PC上传速度过快,模块来不及接收,将会停止接收。原以为这个发送间隔只是对循环发送相同的数据有效。)
若有大神知道个中道理请指点一二,谢谢!
QQ邮箱:81590509@qq.com
- 关于ESP8266WIFI转串口的速率问题(含测试数据)
- 关于测试数据的输入问题
- 关于silk的变速率
- 串口速率自动侦测
- 关于串口转485通信中丢字段的问题
- 串口通讯的传输速率与传输距离(转帖)
- 关于用分页提高查询速率的问题,是什么原理啊
- 关于串口操作的问题记录
- 关于串口问题的一次出差经历
- 关于串口发送数据的问题
- STM32关于串口发送缓冲的问题
- 关于视频解码的同步与速率
- 关于TCP传输速率的测量方法
- 【MySQL】关于批量增加测试数据的解决办法
- gnuradio 数据速率和输出的问题
- 关于iOS中设置UIButton的标题(含图)左右对齐的问题
- 关于map中含数字string的排序问题
- 关于map中含数字string的排序问题
- Android关于沉浸式状态栏总结
- Python高级教程之作用域
- js系列教程3-字符串、正则表达式全解
- POJ 3281 Dining(sap模板大法好)
- SQL CREATE TABLE 语句
- 关于ESP8266WIFI转串口的速率问题(含测试数据)
- HDU6092---Rikka with Subset(2017多校联赛:逆向dp)
- jQuery基础
- 神经网络和深度学习(二)——BP(Backpropagation Algorithm, 反向传播算法)
- 无刷直流电机
- http://blog.csdn.net/bolu1234/article/details/51867099
- 极大连通子图 + 极小连通子图 + 连通分量
- linux系统常用配置讲解
- oracle怎样修改表名、列名、字段类型、添加表列、删除表列