Отправить данные из ESP32 для обработки через Wi-Fi - PullRequest
1 голос
/ 27 июня 2019

Я пытался подключить 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();
}

EDITED

IDE serial monitor

Он дает те же отпечатки, даже если я не запускаю программу обработки. Так он подключен где-то еще вместо сервера?

При обработке я получаю только то, что "Значение параметра someServer не используется"

Ответы [ 2 ]

1 голос
/ 28 июня 2019

Ну, Я разобрался .Это была проблема firewall отключаю брандмауэр и тогда он работает.Кроме того, до этого я создал новое правило для обработки и порта, но по какой-то причине оно не сработало, я не понимаю, почему. Отключено было решением моей проблемы.

0 голосов
/ 28 июня 2019

В вашем коде отсутствует часть, в которой вы получаете данные от клиента.

Вам нужно добавить что-то вроде этого:

void draw() {
    // Get the next available client
    Client thisClient = myServer.available();
    // If the client is not null, and says something, display what it said
    if (thisClient != null) {
        String whatClientSaid = thisClient.readString();
        if (whatClientSaid != null) {
            println(thisClient.ip() + "t" + whatClientSaid);
        }
    }
}

Источник

Других очевидных проблем я не вижу, но сейчас не могу протестировать что-то похожее на ваши настройки. Может быть, вы можете попробовать.

...