两个ESP8266 之间用TCP传输数据 间接性出现拥堵问题

danshi126
Posts: 35
Joined: Sat Mar 21, 2015 8:40 am

两个ESP8266 之间用TCP传输数据 间接性出现拥堵问题

Postby danshi126 » Sat Nov 14, 2015 9:15 am

SDK:RTOS V1.3/RTOS V1.1

esp8266速率:802.11n

应用场景:模块A做 AP模式,模块B做STA模式,模块B每15.6ms发送1000Byte数据到模块A(走TCP),折合传输码率为512kbps

问题现象:传输时(走TCP方式)过几分钟(有时过十分钟)就会出现模块A接收到不模块B的数据,过一会儿模块A又接收到模块B的数据了,且接收到很多像是刚刚没接收到的数据一下全过来了;感觉是网络出现拥堵,但模块A做AP模式是设了密码且除了模块B外没有其它设备接入;

然后考虑TCP是三次握手,于是改用UDP传输;发现UDP就经常出现丢包,现象一样也是过几分钟有时过十来分钟模块B连续一两秒内的数据全接收不到(丢了很多个包); 按理来说模块A与模块B组成局域网且网络较宽松不应该出现丢包现象才对


以上现象应该怎么去分析并解决呢?

ESP_Faye
Posts: 1646
Joined: Mon Oct 27, 2014 11:08 am

Re: 两个ESP8266 之间用TCP传输数据 间接性出现拥堵问题

Postby ESP_Faye » Mon Nov 16, 2015 11:55 am

您好,

能否使用 omnipeek 或者 wireshark 抓包,提供抓包数据以供分析?

感谢您对 ESP8266 的关注!

danshi126
Posts: 35
Joined: Sat Mar 21, 2015 8:40 am

Re: 两个ESP8266 之间用TCP传输数据 间接性出现拥堵问题

Postby danshi126 » Fri Nov 20, 2015 3:44 pm

Hi Faye,

数据包见附件
Attachments
wireshark 数据包.rar
(138.51 KiB) Downloaded 1183 times

danshi126
Posts: 35
Joined: Sat Mar 21, 2015 8:40 am

Re: 两个ESP8266 之间用TCP传输数据 间接性出现拥堵问题

Postby danshi126 » Sat Nov 21, 2015 12:10 pm

上面那个附件抓包可能有误,请参考这个附件的包,这个包抓到很多回拥堵现象

QQ图片20151121120840.jpg


gjhgjhg.png
Attachments
tcp 拥堵严重.rar
(536.08 KiB) Downloaded 1123 times
拥堵.rar
(591.67 KiB) Downloaded 1124 times

zsf518
Posts: 31
Joined: Thu Jul 30, 2015 3:24 pm

Re: 两个ESP8266 之间用TCP传输数据 间接性出现拥堵问题

Postby zsf518 » Mon Nov 23, 2015 1:12 pm

这里的版主动不动就要别人贴证据出来。难道你们自己都没有测试过TCP/UDP的吞吐率?
反正感觉ESP8266的吞吐率十分不理想。

ESP_Faye
Posts: 1646
Joined: Mon Oct 27, 2014 11:08 am

Re: 两个ESP8266 之间用TCP传输数据 间接性出现拥堵问题

Postby ESP_Faye » Mon Nov 23, 2015 5:19 pm

您好,

无线网络的信道是争用机制的,在开放环境下,我司测试的吞吐率大约在 2Mbps 左右,而在屏蔽箱中测试,速率为 TX 10Mbps,RX 20Mbps。

例如,您使用模块 A B 做局域网测试,但模块 A (softAP) 所在信道仍然会有其他 AP 也是同一信道,共用网络资源,可能造成拥堵问题。并不是模块 A B 建一个小型局域网,就能营造干净的网络环境。如果您没有屏蔽箱,建议可将信道设置为您实际环境中 AP 所在数量少的信道号,进行测试。

TCP 不能保证实时性,TCP 只保证可靠性。实时性取决于空气中的干扰。 如果您希望保证实时性,建议采用 ESP-NOW。

感谢您对 ESP8266 的关注!

danshi126
Posts: 35
Joined: Sat Mar 21, 2015 8:40 am

Re: 两个ESP8266 之间用TCP传输数据 间接性出现拥堵问题

Postby danshi126 » Tue Nov 24, 2015 4:13 pm

您好,faye

实际应用中2.4G热点都是很多的,同一个信道有一两个热点都太正常了;


你所说的能保证实时性的ESP-NOW是什么?有相关文档吗

danshi126
Posts: 35
Joined: Sat Mar 21, 2015 8:40 am

Re: 两个ESP8266 之间用TCP传输数据 间接性出现拥堵问题

Postby danshi126 » Wed Nov 25, 2015 8:55 am

你好 faye,

ESP-NOW是针对Smart-Light做的,请问ESP-NOW最大传输速率是多少呢?

ESP_Faye
Posts: 1646
Joined: Mon Oct 27, 2014 11:08 am

Re: 两个ESP8266 之间用TCP传输数据 间接性出现拥堵问题

Postby ESP_Faye » Thu Nov 26, 2015 7:10 pm

您好,

ESP-NOW 默认速率是 6Mbps。
您可以通过 rate control 的相关接口设置修改,但请注意,rate control 设置 ESP8266 的发包速率,并不是单独设置 ESP-NOW,也会影响其他包。
软件接口说明请参考文档 “2C-ESP8266__SDK__Programming Guide”

danshi126
Posts: 35
Joined: Sat Mar 21, 2015 8:40 am

Re: 两个ESP8266 之间用TCP传输数据 间接性出现拥堵问题

Postby danshi126 » Tue Dec 15, 2015 9:21 am

您好,

我测了ESP-NOW功能,两个ESP8266模块一个做ESP_NOW_ROLE_CONTROLLER角色(工作于STA模式),另一个做ESP_NOW_ROLE_SLAVE角色(工作于SoftAP模式),两个模块之间没有建立连接;ESP-NOW成功添加设备后,使用ESP-NOW发送数据,很容易丢包;每包数据为15Bytes,500ms发一包数据都会出现丢包现象;

Who is online

Users browsing this forum: No registered users and 19 guests