乐鑫技术交流
直播中

恐龙之家

9年用户 908经验值
私信 关注
[问答]

无法在两个CWMODE=3 ESP8266之间发送数据怎么解决?

连接两个ESP8266。两种设置 CWMODE_DEF=3

问题 - 如何在 CWMODE=3 中在两者之间发送数据。可以选择通过STAtiON连接或AP SERVER连接进行CIPSENDEX

可以将 CIPSENDEX 数据从 esp_a 发送到ESP_B,但ESP_B无法将数据发送回,因为我认为它为自己的 AP 创建 UDP 套接字

- 下面的失败示例。

(ESP_B连接到esp_a AP)

esp_a
cwmode_def=3
+CWSAP_DEF="A_SSID","A_PW",6,4  (ESP_B successful connect and get IP 192.168.4.2)
CIMUX=0
+CIPSTART="UDP","192.168.4.2",5001,5001,0 (Connect OK)
+CIPSENDEX=5 >12345� (SEND OK and ESP_B接收数据)

esp_a
cwmode_def=3
+CWJAP_DEF="A_SSID","A_PW" (ESP_B succesfull connect and get IP 192.168.4.2)
CIMUX=0
+CIPSTART="UDP","192.168.4.1",5001,5001,0 (Connect OK)
+CIPSENDEX=5 >12345� (SEND FAIL)

回帖(1)

h1654155216.9102

2024-7-17 11:29:14
在这种情况下,您需要确保两个ESP8266设备都正确配置并使用相同的通信协议。以下是一些建议和解决方案,以帮助您解决无法在两个CWMODE=3 ESP8266之间发送数据的问题:

1. 确保两个ESP8266设备的固件版本相同。不同版本的固件可能会导致通信问题。

2. 检查两个设备的CWMODE设置。CWMODE=3表示设备同时处于STA(客户端)和AP(接入点)模式。确保两个设备都设置为CWMODE=3。

3. 确保两个设备的SSID和密码相同。如果SSID或密码不匹配,设备将无法连接。

4. 检查两个设备的IP地址。在STA模式下,设备应从AP获取IP地址。确保两个设备的IP地址在相同的子网中。

5. 使用CIPCLOSE命令关闭任何已建立的连接,然后重新建立连接。这可以解决一些连接问题。

6. 在ESP_B设备上,尝试使用CIPSTART命令连接到ESP_A设备的IP地址和端口。例如:

```
CIPSTART="UDP","192.168.4.1",5001,5001,0
```

7. 在ESP_B设备上,使用CIPSEND命令发送数据到ESP_A设备。例如:

```
CIPSENDEX="Hello, ESP_A!"
```

8. 在ESP_A设备上,使用CIPRXGET命令接收来自ESP_B设备的数据。例如:

```
CIPRXGET=1
```

9. 如果问题仍然存在,请检查您的网络环境,确保没有其他设备干扰通信。

10. 如果以上方法都无法解决问题,您可以尝试使用其他通信协议,如TCP或MQTT,以实现两个ESP8266设备之间的通信。

通过遵循这些建议和解决方案,您应该能够在两个CWMODE=3 ESP8266设备之间成功发送和接收数据。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分