两个ESP8266 之间用TCP传输数据 间接性出现拥堵问题
两个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组成局域网且网络较宽松不应该出现丢包现象才对
以上现象应该怎么去分析并解决呢?
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组成局域网且网络较宽松不应该出现丢包现象才对
以上现象应该怎么去分析并解决呢?
Re: 两个ESP8266 之间用TCP传输数据 间接性出现拥堵问题
Postby danshi126 » Fri Nov 20, 2015 3:44 pm
Hi Faye,
数据包见附件
数据包见附件
- Attachments
-
- wireshark 数据包.rar
- (138.51 KiB) Downloaded 1183 times
Re: 两个ESP8266 之间用TCP传输数据 间接性出现拥堵问题
Postby danshi126 » Sat Nov 21, 2015 12:10 pm
- Attachments
-
- tcp 拥堵严重.rar
- (536.08 KiB) Downloaded 1123 times
-
- 拥堵.rar
- (591.67 KiB) Downloaded 1124 times
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 的关注!
无线网络的信道是争用机制的,在开放环境下,我司测试的吞吐率大约在 2Mbps 左右,而在屏蔽箱中测试,速率为 TX 10Mbps,RX 20Mbps。
例如,您使用模块 A B 做局域网测试,但模块 A (softAP) 所在信道仍然会有其他 AP 也是同一信道,共用网络资源,可能造成拥堵问题。并不是模块 A B 建一个小型局域网,就能营造干净的网络环境。如果您没有屏蔽箱,建议可将信道设置为您实际环境中 AP 所在数量少的信道号,进行测试。
TCP 不能保证实时性,TCP 只保证可靠性。实时性取决于空气中的干扰。 如果您希望保证实时性,建议采用 ESP-NOW。
感谢您对 ESP8266 的关注!
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”。
ESP-NOW 默认速率是 6Mbps。
您可以通过 rate control 的相关接口设置修改,但请注意,rate control 设置 ESP8266 的发包速率,并不是单独设置 ESP-NOW,也会影响其他包。
软件接口说明请参考文档 “2C-ESP8266__SDK__Programming Guide”。
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发一包数据都会出现丢包现象;
我测了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 137 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.