If you develop on windows and need cr/lf files, see this:
    https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_formatting_and_whitespace
    Git can handle this by auto-converting CRLF line endings into LF
    when you add a file to the index, and vice versa when it checks out
    code onto your filesystem. You can turn on this functionality with
    the core.autocrlf setting. If you're on a Windows machine, set it
    to true - this converts LF endings into CRLF when you check out code:
    $ git config --global core.autocrlf true
		
	
			
		
			
				
	
	
		
			88 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/*
 | 
						|
    This sketch shows the Ethernet event usage
 | 
						|
 | 
						|
*/
 | 
						|
 | 
						|
#include <ETH.h>
 | 
						|
 | 
						|
#define ETH_ADDR        31
 | 
						|
#define ETH_POWER_PIN   17
 | 
						|
#define ETH_MDC_PIN     23
 | 
						|
#define ETH_MDIO_PIN    18
 | 
						|
#define ETH_TYPE        ETH_PHY_TLK110
 | 
						|
 | 
						|
static bool eth_connected = false;
 | 
						|
 | 
						|
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(115200);
 | 
						|
  WiFi.onEvent(WiFiEvent);
 | 
						|
  ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE);
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
void loop()
 | 
						|
{
 | 
						|
  if (eth_connected) {
 | 
						|
    testClient("google.com", 80);
 | 
						|
  }
 | 
						|
  delay(10000);
 | 
						|
}
 |