Sad*_*deq 5 arduino tcpserver esp8266
我想在 Arduino IDE 中通过 ESP8266 创建一个简单的 Wifi TCP 服务器。但是我有一个大问题:当我从客户端发送一个字符或字符串时,我无法在服务器上接收它。
事实上,我将 esp8266 连接到我的 PC,我想在 PC 终端中查看来自客户端的发送字符。我的发送端是 android 的 Socket 协议应用程序!我在服务器端编写的完整代码是:
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);
}
Run Code Online (Sandbox Code Playgroud)
两边的波特率都设置为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());
}
}
}
Run Code Online (Sandbox Code Playgroud)
当客户端未连接时,它会尝试连接客户端,当客户端连接时,它会读取传入的数据。