---
title: "IoT Weather Station"
url: "https://maker.wiznet.io/Sunny_/projects/iot-weather-station/"
markdown_url: "https://maker.wiznet.io/Sunny_/projects/iot-weather-station/md"
type: "UCC: User Created Content"
author: "rubin-khadka"
author_url: "https://github.com/rubin-khadka/STM32_W5500_TCP_Client"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "rubin-khadka"
original_url: "https://github.com/rubin-khadka/STM32_W5500_TCP_Client"
published: "2026-04-30"
language: "en"
likes: 0
views: 234
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# IoT Weather Station

> STM32 TCP client that fetches live weather data from Open-Meteo API using W5500 Ethernet. Displays temperature, wind, and location on 16x2 LCD with button contr

Original author: rubin-khadka (source: https://github.com/rubin-khadka/STM32_W5500_TCP_Client)

## Article

## 🚨 Problem

일반적인 IoT 프로젝트는 대부분 WiFi 기반으로 구현되지만,
다음과 같은 문제가 존재합니다:

- WiFi 연결 불안정 (끊김, 간섭)

- 산업/현장 환경에서 네트워크 제약

- 네트워크 초기 설정 및 유지보수 어려움

👉 특히 실사용 환경에서는
**안정적인 통신이 더 중요한 경우가 많습니다.**

---

## 💡 Solution

이 프로젝트에서는 다음과 같은 방식으로 문제를 해결했습니다:

- W5500 기반 Ethernet 유선 통신

- STM32를 이용한 데이터 처리

- HTTP 기반 API 통신 (Open-Meteo)

- JSON 데이터 파싱 후 LCD 출력

👉 핵심 아이디어:

👉 **“유선 네트워크 기반의 안정적인 IoT 데이터 처리 시스템”**

---

## 🧱 System Architecture

![](https://maker.wiznet.io/upload/ckeditor5/362068135%5F1777546084%2Epng)

```plaintext
[Open-Meteo API Server]
            ↓
        (HTTP GET)
            ↓
        Internet
            ↓
     Ethernet (W5500)
            ↓ (SPI)
        STM32 MCU
            ↓
     JSON Parsing
            ↓
       16x2 LCD
```

👉 W5500은 내부 TCP/IP 스택을 가지고 있어
MCU의 부담을 줄이고 효율적인 네트워크 처리가 가능합니다.

---

## 🔄 Main Features

- DHCP를 통한 자동 IP 할당

- DNS를 이용한 서버 주소 변환

- TCP 기반 서버 연결

- HTTP GET 요청으로 날씨 데이터 수신

- JSON 데이터 파싱

- LCD 출력 및 버튼 UI

---

## 📸 Results

이 시스템은 다음과 같은 동작을 수행합니다:

- 부팅 후 DHCP로 IP 자동 할당

- API 서버 접속 및 데이터 요청

- JSON 형태의 날씨 데이터 수신

- 온도, 시간, 풍속 등을 LCD에 표시

- 버튼을 통해 화면 전환

👉 **네트워크 → 데이터 → 사용자 출력까지 전체 흐름이 구현된 시스템**

---

## 🔍 Key Points

- W5500을 이용한 안정적인 Ethernet 통신

- DHCP + DNS + TCP + HTTP 전체 네트워크 흐름 구현

- JSON 데이터 파싱을 통한 실질적인 데이터 활용

- 사용자 인터페이스(LCD + 버튼) 포함

---

## 🚀 Future Work

- HTTPS (TLS) 지원

- MQTT 프로토콜 적용

- FreeRTOS 기반 구조 개선

- OTA 업데이트 기능 추가

- Web Dashboard 구현

---

## 🧠 Conclusion

이 프로젝트를 통해
STM32와 W5500을 활용한 **Ethernet 기반 IoT 시스템의 전체 흐름**을 구현할 수 있었습니다.

👉 단순한 통신 테스트를 넘어
**실제 데이터를 수집하고 사용자에게 전달하는 완성형 구조**를 확인할 수 있었습니다.

---

Source: https://maker.wiznet.io/Sunny_/projects/iot-weather-station/
