gpt4 book ai didi

arduino - 如何通过 ESP8266 创建 TCP 服务器?

转载 作者:行者123 更新时间:2023-12-01 13:49:19 31 4
gpt4 key购买 nike

我想在 Arduino IDE 中通过 ESP8266 创建一个简单的 Wifi TCP 服务器。但是我有一个大问题:当我从客户端发送一个字符或字符串时,我无法在服务器上接收它。

事实上,我将 esp8266 连接到我的 PC,我想在 PC 终端中看到客户端发送的字符。
我的发送端是用于 android 的 Socket 协议(protocol)应用程序!我在服务器端编写的完整代码是:

WiFiServer server(8888);
void setup()
{
initHardware();
setupWiFi();
server.begin();
}
void loop()
{
WiFiClient client = server.available();
if (client) {
if (client.available() > 0) {
char c = client.read();
Serial.write(c);
}
}
}
void setupWiFi()
{
WiFi.mode(WIFI_AP);
WiFi.softAP("RControl", WiFiAPPSK);
}

void initHardware()
{
Serial.begin(115200);
}

两边的波特率都设置为115200。

最佳答案

在循环中,您将在客户端连接建立后立即关闭它,删除 WiFiClient目的。

为了保持连接打开,您可以像这样修改循环:

WiFiClient client;
void loop()
{
if (!client.connected()) {
// try to connect to a new client
client = server.available();
} else {
// read data from the connected client
if (client.available() > 0) {
Serial.write(client.read());
}
}
}

当客户端未连接时,它会尝试连接一个,当客户端连接时,它会读取传入的数据。

关于arduino - 如何通过 ESP8266 创建 TCP 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33177722/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com