-2

我想将一个 arduino 从 flex 传感器获得的数据发送到另一个 arduino,后者根据收到的数据采取行动,我想通过 wifi 执行此数据传输过程。你能帮我怎么做。我想在这些 Arduino 中的任何一个或其他任何东西上配置服务器吗?

如果我想配置服务器,那我该怎么做?

4

1 回答 1

1

WiFiClient 对象包装了一个 TCP 套接字。一个普通的 TCP 套接字连接到 IP 地址和端口。WiFiServer 在端口上启动一个监听套接字。如果远程客户端套接字与侦听套接字上的服务器联系,它会在空闲端口上创建一个与远程客户端套接字连接的本地套接字,并返回一个包装套接字的 WiFiClient 对象。您写入或打印到 WiFiClient 的所有内容都会发送到那个远程套接字。

如果您的其中一个客户端板创建了 WiFiClient 并将其连接到“服务器”板上的 WiFiServer 的 IP 地址和端口,那么您会从 server.available() 获得 WiFiClient 并且这两个 WiFiClient 对象已连接。您在一侧写入/打印的内容只能从另一侧的 WiFiClient 对象中读取。

客户端套接字

if (client.connect(serverIP, PORT)) {
  client.print("request\n");
  String response = client.readStringUntil('\n');
  Serial.println(response);
  client.stop();
}

服务器端

WiFiClient client = server.available();
if (client && client.connected()) {
  String request = client.readStringUntil('\n');
  Serial.println(request);
  client.print("response\n");
  client.stop();
}

有关 WiFiServer 示例,请参见 ChatServer 示例

于 2020-01-16T06:41:03.713 回答