mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-11-03 07:31:39 +01:00 
			
		
		
		
	This is very much still work in progress and much more will change before the final 2.0.0 Some APIs have changed. New libraries have been added. LittleFS included. Co-authored-by: Seon Rozenblum <seonr@3sprockets.com> Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com> Co-authored-by: geeksville <kevinh@geeksville.com> Co-authored-by: Mike Dunston <m_dunston@comcast.net> Co-authored-by: Unexpected Maker <seon@unexpectedmaker.com> Co-authored-by: Seon Rozenblum <seonr@3sprockets.com> Co-authored-by: microDev <70126934+microDev1@users.noreply.github.com> Co-authored-by: tobozo <tobozo@users.noreply.github.com> Co-authored-by: bobobo1618 <bobobo1618@users.noreply.github.com> Co-authored-by: lorol <lorolouis@gmail.com> Co-authored-by: geeksville <kevinh@geeksville.com> Co-authored-by: Limor "Ladyada" Fried <limor@ladyada.net> Co-authored-by: Sweety <switi.mhaiske@espressif.com> Co-authored-by: Loick MAHIEUX <loick111@gmail.com> Co-authored-by: Larry Bernstone <lbernstone@gmail.com> Co-authored-by: Valerii Koval <valeros@users.noreply.github.com> Co-authored-by: 快乐的我531 <2302004040@qq.com> Co-authored-by: chegewara <imperiaonline4@gmail.com> Co-authored-by: Clemens Kirchgatterer <clemens@1541.org> Co-authored-by: Aron Rubin <aronrubin@gmail.com> Co-authored-by: Pete Lewis <601236+lewispg228@users.noreply.github.com>
		
			
				
	
	
		
			82 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/*
 | 
						|
    This sketch shows the Ethernet event usage
 | 
						|
 | 
						|
*/
 | 
						|
 | 
						|
#include <ETH.h>
 | 
						|
 | 
						|
static bool eth_connected = false;
 | 
						|
 | 
						|
void WiFiEvent(WiFiEvent_t event)
 | 
						|
{
 | 
						|
  switch (event) {
 | 
						|
    case ARDUINO_EVENT_ETH_START:
 | 
						|
      Serial.println("ETH Started");
 | 
						|
      //set eth hostname here
 | 
						|
      ETH.setHostname("esp32-ethernet");
 | 
						|
      break;
 | 
						|
    case ARDUINO_EVENT_ETH_CONNECTED:
 | 
						|
      Serial.println("ETH Connected");
 | 
						|
      break;
 | 
						|
    case ARDUINO_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 ARDUINO_EVENT_ETH_DISCONNECTED:
 | 
						|
      Serial.println("ETH Disconnected");
 | 
						|
      eth_connected = false;
 | 
						|
      break;
 | 
						|
    case ARDUINO_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();
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
void loop()
 | 
						|
{
 | 
						|
  if (eth_connected) {
 | 
						|
    testClient("google.com", 80);
 | 
						|
  }
 | 
						|
  delay(10000);
 | 
						|
}
 |