Hola ,
Estoy intentando conectar un ESP32-POE de Olimex a la plataforma a traves del puerto Ethernet sin exito
(Con la Wifi no hay problemas)
¿sabeis si Existe alguna liberia compatible para el ESp32 con el puerto Ethernet ?
los link de Olimex son estos
[https://github.com/OLIMEX/ESP32-POE]
CODIGO DE PRUEBA
#define THINGER_SERVER "My_Server"
#define _DEBUG_
#include <ETH.h>
#define ETH_CLK_MODE ETH_CLOCK_GPIO17_OUT
#define ETH_PHY_POWER 12
#include <ThingerESP32.h>
static bool eth_connected = false;
#define usuario "My_USER"
#define device_Id "GPS_OFI"
#define device_credentials "F5ug#CaHu4BS"
//VARIABLES LECTURA PIVOT
uint16_t NumSatelites=0;
float latitud=100.0 , longitud=200.0, RumboAlero=300.0;
float PrecisionHDOP=5.0;
float OFFSET=0.0;
float OFFSET_CALCULADO=0.0;
bool RESTART=false;
ThingerESP32 thing(usuario, device_Id, device_credentials);
void WiFiEvent(WiFiEvent_t event)
{
switch (event) {
case SYSTEM_EVENT_ETH_START:
Serial.println("ETH Started");
//set eth hostname here
ETH.setHostname("esp32-ethernet");
break;
case SYSTEM_EVENT_ETH_CONNECTED:
Serial.println("ETH Connected");
break;
case SYSTEM_EVENT_ETH_GOT_IP:
Serial.print("ETH MAC: ");
Serial.print(ETH.macAddress());
Serial.print(", IPv4: ");
Serial.print(ETH.localIP());
if (ETH.fullDuplex()) {
Serial.print(", FULL_DUPLEX");
}
Serial.print(", ");
Serial.print(ETH.linkSpeed());
Serial.println("Mbps");
eth_connected = true;
break;
case SYSTEM_EVENT_ETH_DISCONNECTED:
Serial.println("ETH Disconnected");
eth_connected = false;
break;
case SYSTEM_EVENT_ETH_STOP:
Serial.println("ETH Stopped");
eth_connected = false;
break;
default:
break;
}
}
void testClient(const char * host, uint16_t port)
{
Serial.print("\nconnecting to ");
Serial.println(host);
WiFiClient client;
if (!client.connect(host, port)) {
Serial.println("connection failed");
return;
}
client.printf("GET / HTTP/1.1\r\nHost: %s\r\n\r\n", host);
while (client.connected() && !client.available());
while (client.available()) {
Serial.write(client.read());
}
Serial.println("closing connection\n");
client.stop();
}
void setup() {
Serial.begin(74880);
WiFi.onEvent(WiFiEvent);
ETH.begin();
// THINGER.IO
// Inicialización de la lectura de datos desde la API
thing["DATOSGPS"] >> [](pson& out){
out["latitud"] = latitud;
out["longitud"] = longitud;
out["satelites"] = NumSatelites;
out["posicion"] = RumboAlero;
out["precision"] = PrecisionHDOP;
out["offset"] = OFFSET;
out["posicionOffset"] = OFFSET_CALCULADO;
};
thing["RESTARTesp32"] << inputValue(RESTART);
}
void loop() {
if (eth_connected) {
testClient("www.google.es", 80);
thing.handle();
}
delay(1000);
}
Gracias
La parte Ethernet prueba con éxito la conexion con google, pero no conecta con la plataforma