Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 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);
- ETH.begin();
- ETH.config(IPAddress(192, 168, 5, 100),IPAddress(192, 168, 5, 1),IPAddress(255, 255, 255, 0), IPAddress(4, 4, 4, 4));
- WiFi.onEvent(WiFiEvent);
- }
- void loop()
- {
- if (eth_connected) {
- testClient("google.com", 80);
- }
- delay(10000);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement