Expanding Ethernet Applications with ESP32 + W5500: WebServer, MQTT, and More
WebServer, WebClient, MQTT, UDP, 인증 기능까지 한 번에 살펴보는 실전 예제 모음
ESP32 + W5500으로 확장하는 Ethernet Web & MQTT Applications
부제
WebServer, WebClient, MQTT, UDP, 인증 기능까지 한 번에 살펴보는 실전 예제 모음
Summary
이 프로젝트는 WebServer_ESP32_W5500 라이브러리의 examples를 기반으로, ESP32와 W5500을 이용해 Ethernet 환경에서 웹서버, 웹클라이언트, MQTT 클라이언트, UDP 통신, 인증, 파일 기반 웹서빙 등을 구현하는 방법을 보여주는 예제 모음입니다. 라이브러리는 ESP32용 LwIP W5500 Ethernet을 기반으로 동작하며, HTTP(S) GET/POST, MQTT(S), WebSocket 클라이언트, LittleFS/SPIFFS 기반 파일 서빙까지 지원하도록 소개되어 있습니다. 예제 폴더에는 AdvancedWebServer, HelloServer, HttpBasicAuth, MQTTClient_Basic, MQTTClient_Auth, UdpNTPClient, UdpSendReceive, WebClient, WebClientRepeating, WebServer 등 다양한 샘플이 포함되어 있어, 단일 기능 데모가 아니라 ESP32 + W5500 Ethernet 애플리케이션 개발의 출발점으로 활용하기 좋습니다. 또한 저장소는 2023년 2월 4일 기준 아카이브되어 읽기 전용 상태이므로, 최신 유지보수형 프로젝트라기보다 참고용 레퍼런스 예제 세트로 보는 것이 적절합니다.
Overview
ESP32와 W5500 조합은 흔히 “유선 Ethernet을 붙인 MCU” 정도로만 이해되기 쉽지만, 이 예제 모음은 그 활용 범위를 훨씬 넓게 보여줍니다. 저장소 설명에 따르면 이 라이브러리는 ESP32 기반 보드에서 LwIP W5500 Ethernet을 사용해 동작하는 WebServer 래퍼 라이브러리이며, 기존 ESP32 WebServer 및 ESP8266WebServer와 유사한 함수 구조를 제공해 포팅을 쉽게 하도록 설계되었습니다. 동시에 TCP/UDP 서버·클라이언트, HTTP(S) 서버·클라이언트, GET/POST 처리, MQTT(S), WebSocket 클라이언트, LittleFS/SPIFFS 기반 웹서빙까지 지원한다고 명시하고 있습니다. 즉, 이 프로젝트의 핵심은 단순히 “Ethernet 연결 성공”이 아니라, W5500 기반으로 실제 서비스형 애플리케이션을 구현할 수 있는 수준까지 확장한 구조라는 점입니다.
What’s in the Examples
예제 폴더에는 총 15개의 주요 샘플이 포함되어 있습니다. GitHub examples 디렉터리에는 AdvancedWebServer, HelloServer, HelloServer2, HttpBasicAuth, MQTTClient_Auth, MQTTClient_Basic, MQTT_ThingStream, PostServer, SimpleAuthentication, UdpNTPClient, UdpSendReceive, WebClient, WebClientRepeating, WebServer, multiFileProject가 정리되어 있습니다. 이 구성은 기능별 학습 흐름이 잘 잡혀 있다는 점에서 의미가 큽니다. 처음에는 HelloServer나 WebServer로 기본 Ethernet HTTP 동작을 확인하고, 이후 인증, POST 처리, UDP 기반 시간 동기화, MQTT 브로커 연동, 파일 기반 웹페이지 서빙으로 확장할 수 있기 때문입니다. Maker 콘텐츠 관점에서는 이런 구조가 특히 좋습니다. 단일 데모보다 **“한 라이브러리로 어디까지 확장 가능한가”**를 한 번에 보여줄 수 있기 때문입니다.
Key Technical Value
이 예제 세트의 가장 큰 장점은 ESP32 + W5500 조합을 웹 애플리케이션 플랫폼처럼 활용할 수 있게 한다는 점입니다. README에는 이 라이브러리가 TCP/UDP 서버와 클라이언트, HTTP(S) 서버와 클라이언트, GET/POST 요청 처리, MQTT(S)와 WebSocket 클라이언트를 제공한다고 설명되어 있습니다. 이는 단순 센서 데이터 업로드 수준을 넘어, 웹 대시보드, API 엔드포인트, 인증 기반 관리 페이지, 시간 동기화, 브로커 기반 메시지 전송 등 실제 IoT 제품에 가까운 구조를 구현할 수 있음을 의미합니다. 특히 MQTTClient_Basic과 MQTTClient_Auth 예제는 유선 Ethernet 기반 MQTT 통신의 실용성을 보여주고, AdvancedWebServer와 WebServer는 디바이스 자체를 Ethernet 기반 웹서버로 활용하는 방향을 제시합니다.
Why W5500 Matters
이 프로젝트의 차별점은 ESP32 단독이 아니라 W5500을 통해 Hardwired Ethernet 환경을 구성했다는 점입니다. README에는 지원 보드가 ESP32_DEV using LwIP W5500 Ethernet으로 기재되어 있고, W5500은 FULL_DUPLEX, 100Mbps로 소개됩니다. 또한 연결 예시에서는 W5500의 MOSI/MISO/SCK/SS/INT를 ESP32 GPIO23/19/18/5/4에 연결하며, 특히 INT 핀은 연결하지 않으면 동작하지 않는다고 명시하고 있습니다. 이런 정보는 단순 기능 소개보다 더 실용적입니다. 즉, 이 프로젝트는 “웹 기능이 많다”는 것뿐 아니라, 실제 ESP32 + W5500 하드웨어 구성에서 무엇을 주의해야 하는지까지 보여주는 실전형 자료입니다.
Hybrid Networking Perspective
이 콘텐츠는 직접적으로 Wi-Fi와 Ethernet을 동시에 쓰는 예제만을 다루는 것은 아니지만, maker 평가 기준에서 말하는 Hybrid Networking (ESP × Hardwired Ethernet) 관점과 잘 맞습니다. 이유는 분명합니다. ESP32라는 무선 MCU 플랫폼에 W5500 기반 유선 Ethernet을 결합해, 원래 Wi-Fi 중심으로 생각되던 개발 환경을 보다 안정적이고 산업 친화적인 Hardwired Ethernet 애플리케이션 플랫폼으로 확장했기 때문입니다. 다시 말해 이 프로젝트의 가치는 단순한 웹 예제가 아니라, ESP32 생태계 위에 유선 중심의 Web/MQTT/UDP 서비스 레이어를 올린 사례라는 데 있습니다. 특히 현장 장비, 산업용 게이트웨이, 공장 모니터링 노드, Ethernet 기반 설정 페이지가 필요한 디바이스에 잘 어울리는 방향성을 제시합니다.
TOE Usage
maker 사이트 기준으로 보면 이 프로젝트는 TOE 사용: Yes로 분류하는 것이 적절합니다. 근거는 이 예제 세트가 W5500 기반 Ethernet 구조 위에서 동작한다는 점입니다. W5500은 WIZnet의 Hardwired TCP/IP 계열 Ethernet 칩으로 분류되며, 이 저장소 역시 W5500을 전제로 한 LwIP W5500 Ethernet 기반 라이브러리로 설명됩니다. 다만 본문에서는 한 가지를 구분해서 적는 것이 좋습니다. 이 프로젝트의 핵심 가치는 “W5500의 TOE 자체를 설명하는 자료”라기보다는, 그 Ethernet 기반 위에서 WebServer, HTTP(S), MQTT(S), UDP 같은 애플리케이션 기능을 얼마나 폭넓게 구현할 수 있는지 보여주는 사례라는 점입니다.
Practical Use Cases
이 예제 모음은 실제 maker 프로젝트로 쉽게 확장될 수 있습니다. 예를 들어 AdvancedWebServer나 WebServer는 센서 상태를 웹 대시보드로 보여주는 로컬 관리 페이지의 기반이 될 수 있고, HttpBasicAuth나 SimpleAuthentication은 설정 페이지 보호에 활용할 수 있습니다. PostServer는 외부 시스템에서 데이터를 전송받는 제어 인터페이스로, UdpNTPClient는 시간 동기화가 필요한 로거나 게이트웨이에, MQTTClient_Basic 및 MQTTClient_Auth는 공장 설비나 환경 모니터링 데이터를 브로커로 전달하는 구조에 적합합니다. 즉, 이 저장소는 단순한 예제 묶음이 아니라 Ethernet 기반 IoT 장비를 설계할 때 필요한 핵심 기능들을 미리 분해해 보여주는 참고서에 가깝습니다.
Conclusion
이 링크는 단순한 코드 저장소가 아니라, ESP32 + W5500 기반 Ethernet 애플리케이션을 단계별로 확장해 볼 수 있는 실전 레퍼런스 모음입니다. HTTP 서버 하나에 그치지 않고, 인증, POST 처리, MQTT, UDP, 파일 서빙까지 폭넓게 다루고 있어서 maker.wiznet.io 관점에서 매우 활용도가 높습니다. 다만 저장소가 2023년 2월부터 아카이브 상태라는 점은 함께 적어두는 것이 좋습니다. 그래서 이 프로젝트는 “최신 유지보수 라이브러리”라기보다, W5500 기반 Web/MQTT/UDP 기능을 빠르게 이해하고 응용 방향을 잡기 좋은 참고용 예제 세트로 소개하는 것이 가장 정확합니다.
Expanding Ethernet Applications with ESP32 + W5500: WebServer, MQTT, and More
Subtitle
A comprehensive example set covering WebServer, WebClient, MQTT, UDP, authentication, and file-based web services
🧾 Summary
This project is based on the WebServer_ESP32_W5500 example collection and demonstrates how to build Ethernet-based applications using ESP32 and the W5500 controller. It includes implementations for WebServer, WebClient, MQTT client, UDP communication, authentication, and file-based web hosting (LittleFS/SPIFFS).
Rather than a single demo, this repository provides a complete reference set for developing Ethernet-based IoT applications, making it highly valuable for makers looking to extend ESP32 beyond Wi-Fi into reliable wired networking.
📌 Overview
While ESP32 is commonly used with Wi-Fi, this project shows how combining it with W5500 transforms it into a full-featured Ethernet application platform.
The library is designed to work with LwIP W5500 Ethernet on ESP32, and provides a familiar API structure similar to ESP32/ESP8266 WebServer libraries. It supports:
- TCP / UDP server & client
- HTTP(S) server & client
- GET / POST request handling
- MQTT(S) and WebSocket clients
- File-based web hosting (LittleFS / SPIFFS)
👉 This makes it possible to build real IoT services, not just connectivity demos
🧩 What’s in the Examples
The examples folder includes a wide range of ready-to-use samples:
HelloServer,WebServer,AdvancedWebServerHttpBasicAuth,SimpleAuthenticationPostServerMQTTClient_Basic,MQTTClient_Auth,MQTT_ThingStreamUdpNTPClient,UdpSendReceiveWebClient,WebClientRepeatingmultiFileProject
👉 These examples are structured progressively:
- Start with simple HTTP server
- Add authentication and POST handling
- Extend to MQTT and UDP
- Build full-featured IoT services
⚙️ Key Technical Value
This project demonstrates that ESP32 + W5500 can be used as:
✔ Ethernet-based Web Server
✔ MQTT Client (wired, stable communication)
✔ REST API endpoint
✔ UDP communication node (e.g., NTP sync)
✔ File-hosting IoT device
👉 It effectively turns ESP32 into a networked application server over Ethernet
💡 Why W5500 Matters
W5500 is not just an Ethernet add-on — it enables:
- Stable wired communication (10/100 Ethernet)
- Reduced MCU workload via hardware TCP/IP stack
- Reliable performance in industrial environments
The examples also highlight practical details such as:
- SPI pin mapping (MOSI/MISO/SCK/CS)
- Importance of INT pin connection
👉 This makes it a practical, real-world reference
🌐 Hybrid Networking Perspective
Although the examples focus on Ethernet, this project strongly aligns with:
👉 Hybrid Networking (ESP × Hardwired Ethernet)
Because it shows how:
- A Wi-Fi-based MCU (ESP32)
- Can be extended into a wired-first IoT platform
This is especially relevant for:
- Industrial IoT
- Monitoring systems
- Embedded web interfaces
⚡ TOE Usage
✔ Yes
This project is based on W5500, which provides:
- Hardware TCP/IP Offload Engine
- Reduced software networking overhead
- Improved stability and performance
📌 Note:
The focus of this project is application-level features (Web, MQTT, UDP),
while TOE acts as the underlying network infrastructure
🔧 Practical Use Cases
These examples can be directly extended to:
- IoT Web Dashboard (device monitoring)
- Industrial control panels
- MQTT-based data transmission systems
- Secure configuration interfaces
- Time-synchronized data logging systems
👉 It serves as a blueprint for Ethernet-based IoT devices
🏁 Conclusion
This project is more than just a set of examples —
it is a complete reference for building Ethernet-enabled IoT applications using ESP32 and W5500.
By combining:
- Reliable wired Ethernet
- Rich application-layer features
👉 It clearly demonstrates how ESP32 can evolve from a Wi-Fi device into a robust, service-oriented IoT platform

