Wiznet makers

irina

Published February 02, 2026 ©

152 UCC

5 WCC

102 VAR

0 Contests

0 Followers

0 Following

Original Link

ESP_Buderus_KM271

ESP32 bridges Buderus KM271 boilers to Ethernet via W5500, enabling stable MQTT monitoring, control, and data logging with Node-RED, InfluxDB, and Grafana.

COMPONENTS
PROJECT DESCRIPTION

Summary

이 프로젝트는 Buderus Logamatic 2107 / HS-2105 보일러의 KM271 직렬 인터페이스를 ESP32와 WIZnet W5500 이더넷 컨트롤러를 사용해 네트워크에 연결하는 오픈소스 솔루션입니다. 리버스 엔지니어링한 3964R 프로토콜을 통해 보일러 상태 모니터링, 부가 센서 지원, MQTT 연동, WebUI 제어를 구현하며, W5500은 유선 이더넷 통신으로 Wi-Fi 불안정 환경 문제를 해결합니다.


What the Project Does

이 프로젝트는 구형 Buderus 보일러 컨트롤러(Logamatic 2107, HS-2105)의 KM271 모듈 슬롯을 통해 내부 데이터를 읽고 제어 명령을 전송하는 임베디드 게이트웨이입니다.

1) 문제 배경

  • 해당 보일러는 스마트폰 제어나 표준 IP 기반 통신을 지원하지 않음
  • 보일러실은 콘크리트 벽, 금속 배관, 차폐 구조로 인해 Wi-Fi 신호가 약함
  • 기존 KM271 모듈은 RS232 기반 폐쇄형 인터페이스

2) 시스템 구성 요소

  • MCU: ESP32
  • Network: WIZnet W5500 (SPI Ethernet Controller)
  • Boiler Interface: KM271 슬롯 (3964R 프로토콜 기반 직렬 통신)
  • 상위 시스템: MQTT Broker → Home Assistant / Node-RED
  • 부가 센서: 배기가스 온도, 오일 미터, OneWire 센서

🔍 주요 기능

  • 보일러 리모트 제어
    운영 모드 변경, 온도 설정, 날짜/시간 동기화(자동 NTP) 등 서버/클라이언트 제어가 가능
  • 실시간 모니터링
    온도, 가동 상태 등 값들을 MQTT로 Home Assistant, Node-RED 등에 전송
  • WebUI
    내장 Web 인터페이스에서 값을 보고 설정을 변경할 수 있음
  • 확장 센서
    오일 미터, OneWire 센서, 배기가스 온도 센서를 추가적으로 지원
  • OTA 업데이트
    WebUI 및 기본 브라우저 기반 OTA 업데이트를 지원
  • Node-RED + InfluxDB + Grafana 데이터 분석

3) 데이터 흐름

  • ESP32가 KM271 포트를 통해 3964R 프로토콜로 데이터 수신
  • 보일러 상태(온도, 동작 모드, 버너 상태 등) 파싱
  • MQTT를 통해 이더넷으로 브로커에 게시
  • Home Assistant에서 자동 디스커버리로 엔티티 생성
  • 사용자 명령 → MQTT → ESP32 → 3964R 프레임 → 보일러 제어

즉, 

  1. KM271 → ESP32 (3964R)
  2. ESP32 → W5500 → MQTT Broker
  3. MQTT → Node-RED
  4. Node-RED → InfluxDB
  5. Grafana → InfluxDB (Flux Query)

로 데이터 흐름이 진행됩니다.

이 구조는 “레거시 산업용 직렬 장비를 IP 네트워크로 브리지하는 게이트웨이”와 동일한 아키텍처를 갖습니다.


Configuration & Features

⚙️ Setup Flow

  • Setup Mode
    • ESP32 리셋 2번으로 자체 AP 생성
  • WebUI 설정
    • WiFi 또는 Ethernet (W5500) 선택
    • MQTT Broker 정보 설정
    • NTP 서버 설정
    • Oil Meter, OneWire 센서 활성화
  • OTA Updates
    • GitHub OTA 포함 지원

 

MQTT로 수신한 모든 데이터를 Node-RED를 통해 InfluxDB에 저장하며, 전체 시스템은 Synology NAS의 Docker 환경에서 운영하고 있습니다.

InfluxDB에 저장된 Logamatic 데이터를 Grafana로 시각화하여, 정적인 대시보드보다 난방 시스템의 동작 특성을 더욱 심층적으로 분석하고 있습니다.


MQTT Topics & Values

  • config/... — 보일러 구성 값
  • status/... — 동작 상태 값
  • esp_heizung/wifi — 네트워크 상태 정보
  • esp_heizung/info — 디버그/로그 정보

Commands (예시)

Command Topic예시 Payload
setdatetime시스템 시간
heating circuit modes0 = Night, 1 = Day, 2 = Auto
oilcounter set수치 입력

Where WIZnet Fits

사용 제품: WIZnet W5500

W5500은 이 프로젝트에서 하드웨어 TCP/IP 오프로딩 네트워크 계층 역할을 수행합니다.

1) 아키텍처 내 역할

  • ESP32 ↔ W5500 (SPI)
  • W5500 ↔ Router (Ethernet PHY)
  • MQTT, Web Server, OTA 트래픽을 전담

즉, ESP32는:

  • 3964R 프로토콜 처리
  • 보일러 로직 파싱
  • 센서 데이터 처리

에 집중하고, TCP/IP 스택은 W5500이 담당합니다.

2) 왜 W5500이 적합한가?

보일러 제어 시스템은 다음 조건을 가집니다:

  • 네트워크 단절 시 제어 실패 위험
  • 장시간 24/7 동작 필요
  • EMI 가능성 존재 (버너, 점화 회로)

ESP32의 Wi-Fi 스택(LwIP 기반)은 다음과 같은 변수를 가짐:

  • RSSI 변동
  • 재연결 지연
  • AP 재부팅 시 세션 손실

W5500 기반 유선 LAN은 이러한 불확실성을 제거합니다.
이 프로젝트의 전략적 포인트는 Wi-Fi가 닿지 않는 보일러실을 유선 Ethernet으로 안정화 하는 것입니다.

 

Practical Tips / Pitfalls

  • KM271 인터페이스 전압 레벨 확인 (RS232/TTL 변환 필요 여부)
  • 보일러와 ESP32 사이에 절연 회로 고려 (옵토커플러)
  • SPI 배선 길이 최소화 및 접지 일관성 유지
  • W5500 PHY Link LED로 물리 계층 먼저 확인
  • MQTT Keepalive 설정을 짧게 조정 (산업 환경 권장)
  • DHCP 대신 고정 IP 사용 시 Home Assistant 통합이 단순해짐

 

FAQ

Q: 왜 ESP32 Wi-Fi 대신 W5500을 사용하나요?
A: 보일러실은 신호 감쇠가 심한 환경입니다. W5500은 유선 Ethernet 기반으로 RSSI 변동이나 재연결 지연 없이 안정적인 MQTT 세션을 유지합니다.

Q: ESP32에 어떻게 연결하나요?
A: SPI 인터페이스로 연결합니다. MOSI, MISO, SCK, CS 핀 4개와 전원, 인터럽트 핀이 필요합니다.

Q: 이 프로젝트에서 W5500의 구체적인 역할은 무엇인가요?
A: MQTT 통신, WebUI 제공, OTA 업데이트 등 모든 IP 기반 트래픽을 처리하는 네트워크 오프로딩 계층입니다.

Q: KM271 인터페이스는 어떤 프로토콜을 사용하나요?
A: Buderus 3964R 직렬 프로토콜을 사용하며, 프레임 기반 핸드셰이크 구조를 갖습니다.

Q: Wi-Fi와 비교했을 때 가장 큰 차이는 무엇인가요?
A: Wi-Fi는 환경 영향을 받는 공유 매체입니다. Ethernet은 전용 물리 계층을 사용하므로 지연 및 패킷 손실 변동이 훨씬 적습니다.

 


Summary

This project is an open-source solution that connects the KM271 serial interface of Buderus Logamatic 2107 / HS-2105 boilers to a network using an ESP32 and the WIZnet W5500 Ethernet controller. Through the reverse-engineered 3964R protocol, it implements boiler status monitoring, additional sensor support, MQTT integration, and WebUI control, while the W5500 resolves Wi-Fi instability issues by providing wired Ethernet communication.


What the Project Does

This project is an embedded gateway that reads internal data and transmits control commands through the KM271 module slot of legacy Buderus boiler controllers (Logamatic 2107, HS-2105).

1) Problem Background

The boiler does not support smartphone control or standard IP-based communication.
Boiler rooms often have weak Wi-Fi signals due to concrete walls, metal piping, and shielded structures.
The original KM271 module is a closed RS232-based interface.

2) System Components

MCU: ESP32
Network: WIZnet W5500 (SPI Ethernet Controller)
Boiler Interface: KM271 slot (3964R protocol-based serial communication)
Upper system: MQTT Broker → Home Assistant / Node-RED
Additional sensors: Exhaust gas temperature, oil meter, OneWire sensors


Key Features

Remote boiler control
Server/client control is possible, including operation mode changes, temperature settings, and date/time synchronization (automatic NTP).

Real-time monitoring
Values such as temperature and operating status are transmitted via MQTT to Home Assistant, Node-RED, etc.

WebUI
A built-in web interface allows viewing values and modifying settings.

Extended sensors
Supports additional oil meter, OneWire sensors, and exhaust temperature sensors.

OTA updates
Supports OTA updates via WebUI and standard browser-based methods.

Node-RED + InfluxDB + Grafana data analysis

Documents
Comments Write