Arduino portenta H7 como un simple Cliente TCP sencillo

Hola, se ha hablado mucho de como conectar el portenta H7 a la red, como un AP, pero no quiero eso, quiero saber como usarlo como un cliente TCP que se conecta a un servidor TCP a través de un Ip y un puerto y como enviar tramas de bytes entre ellos.
Ojo: No quiero que sea WEb ni que sea un AP, solo un cliente TCP y nada más.

Nota: He revisado cantidad de ejemplos y librerias y ninguna funciona o no dan con el tema.

Acabo de conocer que hay una IA que te genera el código y la probe, me dio este código:

// Include necessary libraries
#include <WiFi.h>
#include <WiFiClient.h>

// Set WiFi credentials
const char* ssid = "Your WiFi SSID";
const char* password = "Your WiFi password";

// Set IP address and port of server to connect to
IPAddress serverIP(192, 168, 1, 100); // Replace with your server's IP address
int serverPort = 80; // Replace with your server's port number

// Create WiFi client object
WiFiClient client;

void setup() {
  // Initialize serial communication
  Serial.begin(9600);
  
  // Connect to WiFi network
  WiFi.begin(ssid, password);
  
  // Wait for WiFi connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  
  // Print WiFi connection details
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
  
  // Connect to server
  if (client.connect(serverIP, serverPort)) {
    Serial.println("Connected to server");
  }
  else {
    Serial.println("Connection failed");
  }
}

void loop() {
  // Send packet of bytes to server
  client.write("Hello server!");
  
  // Wait for response from server
  while (client.available()) {
    // Read response from server
    char c = client.read();
    // Print response to serial monitor
    Serial.print(c);
  }
  
  // Wait 1 second before sending another packet
  delay(1000);
}

Resulta, que lo probe y funciona a la perfección, gracias.
El link es este.

Pero eso luce muy similar al ejemplo cliente que trae cualquier Arduino con capacidad WiFi en el IDE, con eso quiero decir queme llama la atención que ese ejemplo no este en el IDE como WifiClient.

No, no está.
Instalé la placa y resulta que no esta tal como lo tengo visto para otras placas.
Solo un comentario.

Tienes razón. Está ahí y debido a que no lo revise primero, no lo ví. O debio ser a que se llama ClientWeb y no queria nada de Web, solo Tx de bytes.


Aún así creo que la IA es muy útil, pese a todo lo que puede conllevar usarla en el futuro.
Probe esto y el resultado fue tal y como yo manejo el código entre Cliente y Servidor TCP. Y funcionó de lo mejor.

make my portenta h7 rev2 a simple tcp client hwo connect to port and ip read bytes in a buffer of bytes and send them back using a buffer of bytes with no delay

Pero solo te pasó un código que encontró seguramente en el GitHub de Arduino, no hizo nada más, no hay magia.

Eso quise decir, la IA no inventa, copia y usa todo lo que nosotros le enseñamos.

1 Like

Noo, todo lo contrario, me incluyo en el código cosas que necesitaba, el manejo y envio de bytes usando arreglos de bytes, que no lo hice a la primera, sino que se lo pedi luego y si me resolvio el problema.
Es verdad que la IA minea el internet y asca cosas de todos lados, por eso la solución final, irremediablemente, debe parecerse a algo que ya halla en internet, lo bueno es que no tienes que gastar horas buscando y armando una solución particular que puede estar respondida por pedazos en varios sitios de la red.
Por ejemplo, le puse que hiciera un código para encender una tira de leds como si fuera un nivel de audio y me lo hizo y quedo muy chulo, luego le agregue que utilizara una interrupción de reloj a unos 500ms para pasar de un led a otro, y lo hizo.
Solo hay que darle una oportunidad, entrar buenas palabras claves y sacar el mayor provecho de lo que te de a final.

Creo que tienes razón, debe ser un algoritmo de mineo de internet que tiene una red neuronal al final o alguna especie de espacio virtual donde poder comprobar codigos para los micros de arduino y tomando las soluciones disgregadas por la red y pesando las mismas, llega a una solución particular que le pides tomando como criterio las palabras claves que le pones.