Wiznet makers

Sunny_

Published April 30, 2026 ©

52 UCC

3 WCC

0 VAR

0 Contests

0 Followers

0 Following

Original Link

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

COMPONENTS
PROJECT DESCRIPTION

🚨 Problem

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

  • WiFi 연결 불안정 (끊김, 간섭)
  • 산업/현장 환경에서 네트워크 제약
  • 네트워크 초기 설정 및 유지보수 어려움

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


💡 Solution

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

  • W5500 기반 Ethernet 유선 통신
  • STM32를 이용한 데이터 처리
  • HTTP 기반 API 통신 (Open-Meteo)
  • JSON 데이터 파싱 후 LCD 출력

👉 핵심 아이디어:

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


🧱 System Architecture

[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 시스템의 전체 흐름을 구현할 수 있었습니다.

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

Documents
Comments Write