mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-10-30 21:51:40 +01:00 
			
		
		
		
	
		
			
	
	
		
			82 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Arduino
		
	
	
	
	
	
		
		
			
		
	
	
			82 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Arduino
		
	
	
	
	
	
|   | /*
 | ||
|  |     This sketch shows the Ethernet event usage | ||
|  | 
 | ||
|  | */ | ||
|  | 
 | ||
|  | #include <ETH.h>
 | ||
|  | 
 | ||
|  | 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(); | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | void loop() | ||
|  | { | ||
|  |   if (eth_connected) { | ||
|  |     testClient("google.com", 80); | ||
|  |   } | ||
|  |   delay(10000); | ||
|  | } |