Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2022
498
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. /*
  2. This sketch shows the Ethernet event usage
  3.  
  4. */
  5.  
  6. #include <ETH.h>
  7.  
  8. static bool eth_connected = false;
  9.  
  10. void WiFiEvent(WiFiEvent_t event)
  11. {
  12. switch (event) {
  13. case SYSTEM_EVENT_ETH_START:
  14. Serial.println("ETH Started");
  15. //set eth hostname here
  16. ETH.setHostname("esp32-ethernet");
  17. break;
  18. case SYSTEM_EVENT_ETH_CONNECTED:
  19. Serial.println("ETH Connected");
  20. break;
  21. case SYSTEM_EVENT_ETH_GOT_IP:
  22. Serial.print("ETH MAC: ");
  23. Serial.print(ETH.macAddress());
  24. Serial.print(", IPv4: ");
  25. Serial.print(ETH.localIP());
  26. if (ETH.fullDuplex()) {
  27. Serial.print(", FULL_DUPLEX");
  28. }
  29. Serial.print(", ");
  30. Serial.print(ETH.linkSpeed());
  31. Serial.println("Mbps");
  32. eth_connected = true;
  33. break;
  34. case SYSTEM_EVENT_ETH_DISCONNECTED:
  35. Serial.println("ETH Disconnected");
  36. eth_connected = false;
  37. break;
  38. case SYSTEM_EVENT_ETH_STOP:
  39. Serial.println("ETH Stopped");
  40. eth_connected = false;
  41. break;
  42. default:
  43. break;
  44. }
  45. }
  46.  
  47. void testClient(const char * host, uint16_t port)
  48. {
  49. Serial.print("\nconnecting to ");
  50. Serial.println(host);
  51.  
  52. WiFiClient client;
  53. if (!client.connect(host, port)) {
  54. Serial.println("connection failed");
  55. return;
  56. }
  57. client.printf("GET / HTTP/1.1\r\nHost: %s\r\n\r\n", host);
  58. while (client.connected() && !client.available());
  59. while (client.available()) {
  60. Serial.write(client.read());
  61. }
  62.  
  63. Serial.println("closing connection\n");
  64. client.stop();
  65. }
  66.  
  67. void setup()
  68. {
  69. Serial.begin(115200);
  70.  
  71. ETH.begin();
  72. ETH.config(IPAddress(192, 168, 5, 100),IPAddress(192, 168, 5, 1),IPAddress(255, 255, 255, 0), IPAddress(4, 4, 4, 4));
  73. WiFi.onEvent(WiFiEvent);
  74. }
  75.  
  76.  
  77. void loop()
  78. {
  79. if (eth_connected) {
  80. testClient("google.com", 80);
  81. }
  82. delay(10000);
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement