通过wifi将数据从ESP32发送到处理中

时间:2019-06-27 13:44:27

标签: arduino processing wifi esp32

我试图连接ESP32(客户端)-处理(服务器),我认为它可以工作,但服务器未接收或打印任何东西。为什么在客户端连接时无法识别处理?我是处理的新手,并试图不理解它的工作原理。

正在处理:

import processing.net.*;

Server myServer;

void setup() {
  size(400, 400);
  // Starts a myServer on port 5204
  myServer = new Server(this, 5204); 
  println(Server.ip());
}
void serverEvent(Server someServer, Client someClient) {
  println("We have a new client: " + someClient.ip());
}

ESP32:

#include <WiFi.h>

const char* ssid = "myNetwork";
const char* pass = "myPassword";

void setup()
{
    Serial.begin(115200);
    delay(10);
    WiFi.begin(ssid,pass);

    Serial.print("Connecting.");
    while(WiFi.status() != WL_CONNECTED) {
        Serial.print(".");
        delay(500);
    }

    Serial.print("WiFi connected - IP address: ");
    Serial.println(WiFi.localIP());
    delay(500);
}

void loop()
{
    const uint16_t port = 5204;
    const char * host = "10.0.26.xx";

    Serial.print("Connecting to ");
    Serial.println(host);

    // Use WiFiClient class to create TCP connections
    WiFiClient client;

    if (client.connect(host, port)){
      Serial.println("Sending data"); // printed on serial monitor
      client.print("Hello");
    }

    // This will send a request to the server
    client.print("Send this data to the server");

    Serial.println("Closing connection.");
    client.stop();
}

已编辑

IDE serial monitor

即使我不运行处理程序,它也会提供相同的打印效果。那么它是连接到其他地方而不是服务器吗?

在处理过程中,我只会得到“未使用参数someServer的值”

2 个答案:

答案 0 :(得分:1)

好吧,我想通了。这是一个防火墙问题。我禁用防火墙,然后防火墙正常工作。另外,在此之前,我为“处理和端口”创建了新规则,但由于某种原因,该规则不起作用,我也无法理解为什么。 禁用它可以解决我的问题。

答案 1 :(得分:0)

您的处理代码缺少从客户端检索数据的部分。

您需要添加以下内容:

T

Source

我没有看到其他明显的问题,但是我现在无法测试与您的设置类似的东西。也许您可以尝试一下。