Wiznet makers

gunn

Published July 03, 2026 ©

104 UCC

4 VAR

0 Contests

0 Followers

0 Following

Original Link

SMART K1 — an ESP32-based controller with REST, syslog, and lots of open source

SMART K1 — an ESP32-based controller with REST, syslog, and lots of open source

COMPONENTS Hardware components

WIZnet - W5500

x 1


PROJECT DESCRIPTION

 

This is a detailed summary of the article "UMNY K1 (Smart K1) — ESP32-based Controller Utilizing REST, syslog, and Open Source," published on Habr, a leading Russian IT/tech blog platform, along with a summary of the role the WIZNET W5500 played in the project.

1. Detailed Summary of the Habr IoT Article

This article is the development log of the 'Smart K1 (UMNY K1)' controller, which was designed and built by a developer (sazanof) as part of the 'UMNI' home automation (smart home) ecosystem to reliably control boiler rooms and household equipment. Feeling that existing widely used Home Assistant (HA) or Raspberry Pi 4-based systems were too heavy and complex, the goal was to create a lighter, standalone controller capable of distributed control. Key Hardware Specifications

* Main MCU: ESP32

* Control and Input Ports: 8 x 5A relays, 6 x digital inputs, 2 x open collectors, 1 x 12V detector input

* Sensor Interfaces: 2 x NTC 10K temperature sensors, 2 x ADCs for 5V analog sensors, 1-Wire (for DS18B20 temperature sensors), RF433 wireless receiver slot

* Network: Wiznet W5500 Ethernet chip

* Special Features: Integrated OpenTherm compatible adapter for heating boiler control (applied to actual Buderus Logamax boiler control)

Software and Architecture Features

* Based on ESP-IDF Framework: Performance has been optimized by programming in Espressif's native ESP-IDF environment rather than the Arduino IDE. * Moving Away from MQTT and Decentralization: We boldly removed the MQTT broker (dependency) commonly used in embedded web applications and adopted REST APIs and SSE (Server-Sent Events) to query controller status and issue commands in real time.

* Syslog (UDP)-based Log and Sensor Data Transmission: Sensor status changes or events are broadcast within the network in the form of standard Syslog (UDP packets). Users can easily collect data using Wireshark or simple Python scripts.

* Dedicated Management Tool (UMNI UNI TOOL): We developed PC and mobile apps using the Vue.js and Tauri frameworks. Controllers are automatically discovered within the network via mDNS and controlled via REST APIs.

2. The Role of the WIZNET W5500 in the Project

The ESP32 microcontroller inherently features powerful built-in Wi-Fi capabilities. Nevertheless, the reasons for implementing wired Ethernet by additionally incorporating the WIZNET W5500 in this project, and the core role of the W5500, are as follows:

** ① Ensuring Wired Stability in Boiler Room (Critical Infrastructure) Environments

This device is responsible for 'heating and boiler control,' which is the most critical function in a smart home. Wireless Wi-Fi carries the risk of connection drops due to the home environment, radio interference, or router malfunctions. The W5500 ensures absolute, uninterrupted network stability 24 hours a day via a physical cable (RJ45).

② Optimizing ESP32 Resources via a Hardware TCP/IP Stack

Handling Wi-Fi or general software TCP/IP (such as LwIP) consumes a significant amount of CPU computation and RAM. Since the W5500 has its TCP/IP protocol stack implemented as hardware logic within the chip, the W5500 handles network communication processing entirely on its own. Thanks to this, the ESP32 can concentrate 100% of its CPU resources on core control logic, such as controlling eight relays, processing data from multiple sensors, and OpenTherm boiler communication. ③ Stable Processing of High-Frequency UDP (Syslog) and Real-Time Streaming (SSE)

This controller continuously broadcasts UDP packets (Syslog) to the network to share sensor data changes in real time, and maintains a Server-Sent Events (SSE) streaming connection for real-time synchronization with the web UI. The W5500 exchanges data with the ESP32 via a high-speed SPI interface (supporting up to 80MHz) and acts as a communication pipeline that robustly handles this large volume of network traffic without packet drop by utilizing an internal 32KB buffer.

💡 In Summary

In this Russian IoT project, the Wiznet W5500 perfectly fulfills the role of a "core communication engine that safely and quickly connects the boiler control system—the core of the smart home—to the wired network, while eliminating wireless (Wi-Fi) instability and minimizing the resource burden on the MCU (ESP32)."

================

러시아의 대표적인 IT/기술 블로그 플랫폼인 Habr에 게재된 "УМНЫЙ К1(스마트 K1) — REST, syslog, 오픈소스를 활용한 ESP32 기반 컨트롤러" 글의 상세 요약과 해당 프로젝트에서 위즈네트 W5500의 역할을 정리한 내용입니다.

 

1. Habr IoT 기사 상세 요약

이 글은 개발자(sazanof)가 홈 오토메이션(스마트홈) 생태계인 'UMNI'의 일환으로, 보일러실 및 집안 설비를 안정적으로 제어하기 위해 직접 하드웨어와 소프트웨어를 설계·구축한 '스마트 K1(UMNY K1)' 컨트롤러의 개발기입니다. 기존에 많이 쓰이는 Home Assistant(HA)나 Raspberry Pi 4 기반 시스템이 너무 무겁고 복잡하다고 느껴, 더 가볍고 분산 제어가 가능한 독립형 컨트롤러를 목표로 만들었습니다.

주요 하드웨어 스펙

* 메인 MCU: ESP32
* 제어 및 입력 포트: 5A 릴레이 8개, 디지털 입력 6개, 오픈 컬렉터 2개, 12V 탐지기 입력 1개
* 센서 인터페이스: NTC 10K 온도 센서 2개, 5V 아날로그 센서용 ADC 2개, 1-Wire(DS18B20 온도센서용), RF433 무선 수신기 슬롯
* 네트워크: 위즈네트 W5500 이더넷 칩
* 특이사항: 난방 보일러 제어를 위한 OpenTherm 호환 어댑터 통합 (실제 Buderus Logamax 보일러 제어에 적용)

소프트웨어 및 아키텍처 특징

* ESP-IDF 프레임워크 기반: Arduino IDE가 아닌 에스프레시프(Espressif)의 순정 이드프(ESP-IDF) 환경에서 프로그래밍하여 성능을 최적화했습니다.
* MQTT 탈피와 탈중앙화: 임베디드 웹에서 흔히 쓰이는 MQTT 브로커(의존성)를 과감히 제거하고, REST API와 SSE(Server-Sent Events)를 채택해 실시간으로 컨트롤러 상태를 조회하고 명령을 내립니다.
* Syslog(UDP) 기반 로그 및 센서 데이터 전송: 센서 상태 변화나 이벤트를 네트워크 내에 표준 Syslog(UDP 패킷) 형태로 브로드캐스트합니다. 사용자는 Wireshark나 간단한 파이썬 스크립트로 데이터를 쉽게 수집할 수 있습니다.
* 전용 관리 툴(UMNI UNI TOOL): Vue.js와 Tauri 프레임워크를 이용해 PC 및 모바일용 앱을 제작했습니다. 네트워크 내에서 mDNS를 통해 컨트롤러를 자동으로 검색하고 REST API로 제어합니다.

 

2. 프로젝트 내에서 위즈네트 W5500의 역할

ESP32 마이크로컨트롤러는 기본적으로 강력한 Wi-Fi 기능을 내장하고 있습니다. 그럼에도 불구하고 이 프로젝트에서 위즈네트 W5500을 추가로 탑재하여 유선 이더넷을 구현한 이유와 W5500의 핵심 역할은 다음과 같습니다.

① 보일러실(Critical Infrastructure) 환경에서의 유선 안정성 확보

스마트홈에서 가장 중요한 '난방 및 보일러 제어'를 담당하는 장치입니다. 무선 Wi-Fi는 집안 환경, 전파 간섭, 공유기 오작동에 의해 연결이 끊길 위험이 있습니다. W5500은 물리적인 케이블(RJ45)을 통해 24시간 끊김 없는 절대적인 네트워크 안정성을 보장하는 역할을 합니다.

② 하드웨어 TCP/IP 스택을 통한 ESP32 자원 최적화

ESP32가 Wi-Fi나 일반 소프트웨어 TCP/IP(LwIP 등)를 처리하려면 CPU 연산과 RAM을 많이 소모합니다. W5500은 TCP/IP 프로토콜 스택이 하드웨어 로직으로 칩 내부에 구현되어 있어, 네트워크 통신 처리를 W5500이 완전히 짊어집니다. 덕분에 ESP32는 8개의 릴레이 제어, 다수의 센서 데이터 처리, OpenTherm 보일러 통신 등 본연의 제어 로직에 CPU 자원을 100% 집중할 수 있습니다.

③ 고빈도 UDP(Syslog) 및 실시간 스트리밍(SSE) 안정적 처리

이 컨트롤러는 센서 데이터 변화를 실시간으로 공유하기 위해 UDP 패킷(Syslog)을 계속해서 네트워크에 뿌리고, 웹 UI와의 실시간 동기화를 위해 SSE(Server-Sent Events) 스트리밍 연결을 유지합니다. W5500은 고속 SPI 인터페이스(최대 80MHz 지원)를 통해 ESP32와 데이터를 주고받으며, 내부 32KB 버퍼를 활용해 이 많은 네트워크 트래픽을 데이터 유실(Packet Drop) 없이 견고하게 처리하는 통신 파이프라인 역할을 합니다.

💡 요약하자면

이 러시아 IoT 프로젝트에서 위즈네트 W5500은 "무선(Wi-Fi)의 불안정성을 배제하고, MCU(ESP32)의 리소스 부담을 최소화하면서, 스마트홈의 핵심인 보일러 제어 시스템을 안전하고 빠르게 유선 네트워크에 연결해 주는 핵심 통신 엔진"의 역할을 완벽히 수행하고 있습니다.

 

[Q&A]

[Q]ESP32에는 Wi-Fi가 기본으로 내장되어 있는데, 스마트 K1 컨트롤러는 왜 굳이 WIZnet W5500을 추가해 유선 Ethernet을 사용했을까?

 

[A]

스마트 K1은 단순 센서 노드가 아니라 보일러·난방·릴레이·센서 데이터를 제어하는 핵심 설비 컨트롤러이기 때문에, Wi-Fi보다 안정적인 유선 연결이 필요했다. W5500은 하드웨어 TCP/IP 스택을 내장하고 있어 ESP32의 CPU와 RAM 부담을 줄여 주며, ESP32가 릴레이 제어, OpenTherm 보일러 통신, 센서 처리 같은 본래 제어 로직에 집중할 수 있게 해준다. 또한 Syslog UDP 전송과 SSE 실시간 스트리밍 같은 네트워크 트래픽을 안정적으로 처리해, 스마트홈의 핵심 인프라인 보일러 제어 시스템을 더 신뢰성 있게 운영하도록 만든다.

 

 

[Maker 사이트 비교 사이트들]

올해 제가 등록한 habr 글을 비교해 보겠습니다. 

URL1~2줄 요약
habr.com/ru/articles/220723/WIZnet W5500을 소개하는 2014년 글로, 소형 MCU/IoT 장비에 Ethernet과 TCP/IP를 붙이는 여러 방식(COM-to-Telnet, MAC+PHY, ENC28J60 등)을 비교한 뒤 W5500의 하드웨어 TCP/IP 오프로딩 장점을 설명합니다.
habr.com/ru/articles/1005920/Vaillant eloBLOCK/atmoTEC 보일러를 eBUS, ebusd, MQTT, Home Assistant로 연동하는 튜토리얼입니다. eBUS Adapter Shield v5와 옵션 Ethernet 모듈 **USR-ES1(W5500 호환)**을 사용해 Wi-Fi보다 낮은 지연과 지터로 보일러 데이터를 모니터링·제어하는 내용입니다.
habr.com/en/articles/1005920/위 러시아어 글과 같은 내용의 영문 페이지입니다. Vaillant 보일러를 Home Assistant에 연결하고, Ethernet/W5500 호환 모듈을 통해 USB·Wi-Fi 대비 안정적인 eBUS 통신을 구성하는 방법을 설명합니다.
habr.com/en/articles/982958/CAN 기반 스마트홈 로컬 네트워크의 각 컨트롤러에 들어가는 프로그램 구조를 설명하는 글입니다. 각 CAN 컨트롤러가 Ethernet 연결 장치 장애 시 외부 통신 역할을 대신할 수 있도록 설계하고, MQTT/WebSocket, CAN(TWAI), NVS 저장, 반복 전송·확인 로직을 다룹니다.
Documents
Comments Write