본문 바로가기
ESP32

ESP32 기반 Wi-Fi 날씨 시계 프로젝트

by 모빌리티키즈 2024. 9. 20.
728x90
반응형

ESP32 기반의 Wi-Fi 날씨 시계는 시간과 현지 날씨를 정기적으로 업데이트하는 멋진 프로젝트입니다. 이 프로젝트는 오픈 소스 펌웨어를 사용하지만, 몇 가지 문제로 인해 많은 사람들이 쉽게 만들지 못했습니다. 이 글에서는 이러한 문제를 해결하여 누구나 쉽게 날씨 시계를 만들 수 있도록 하는 방법을 소개합니다.

 

문제 1: 하드웨어

원래 펌웨어는 맞춤형 하드웨어에서 실행되도록 설계되어 있어 구매 비용과 배송 비용이 높았습니다. 이를 해결하기 위해 저렴한 Aliexpress 부품에서 작동하도록 코드를 다시 작성했습니다.

문제 2: 펌웨어 복잡성

펌웨어 자체가 매우 복잡하여 Python, Visual Studio, Platform IO에 익숙하지 않은 사용자는 펌웨어를 로드하기 어려웠습니다. 이를 해결하기 위해 코드를 다시 작성하고 컴파일하여 사용자가 ESP32로 쉽게 플래시할 수 있도록 했습니다.

해결책

  1. 하드웨어 문제 해결: 저렴한 Aliexpress 부품에서 작동하도록 코드를 수정했습니다.
  2. 펌웨어 문제 해결: 사용자가 쉽게 플래시할 수 있도록 코드를 다시 작성하고 컴파일했습니다.
  3. 사용자 설정 메뉴 추가: 사용자가 Wi-Fi, 시간대, 일광 절약 시간, 위치, 언어 등을 설정할 수 있는 새 메뉴를 작성했습니다. 이 설정은 내부적으로 저장되며 전원이 차단된 후에도 유지됩니다.

프로젝트 세부 사항

이 프로젝트는 원본 오픈 소스 코드 및 프로젝트 세부 사항을 기반으로 합니다. 원본 코드는 ThingPulse의 ESP32 WiFi 컬러 디스플레이 키트 Grande를 참고했습니다.

참고 사항

제 버전에 사용된 펌웨어 코드는 빌드 및 사용이 훨씬 간단하도록 크게 수정되었습니다. 원래 오픈 소스 코드를 시도하려는 경우, 모든 사용자 자격 증명이 하드 코딩되어 있으므로 편집이 필요합니다. 또한 코드 또는 하드웨어에서 TFT 핀 구성을 변경해야 합니다.

필요한 부품

  • ESP32 마이크로컨트롤러
  • 3.5인치 TFT 디스플레이
  • PCB (ESP32와 TFT를 연결)

하드웨어 빌드

  1. ESP32 보드를 PCB에 연결합니다.
  2. TFT 디스플레이를 PCB에 연결합니다. 이때, 올바른 방향으로 연결해야 합니다.

펌웨어 플래시

  1. 수정된 펌웨어 코드를 다운로드합니다.
  2. ESP32에 펌웨어를 플래시합니다.

공급

필요한 부품은 ESP32 마이크로 컨트롤러, 3.5인치 TFT 스크린 및 둘을 함께 연결하는 PCB로 구성된 하나의 완전한 모듈로 구입할 수 있습니다.

자세한 내용은 아래를 참조하세요.

1단계: 기상 관측소 부품

필요한 부품은 아래 링크에서 하나의 완전한 모듈로 구입할 수 있습니다. 현재 가격은 £ 12입니다.

3.5인치 TFT 화면, ESP32 마이크로프로세서 보드 및 PCB로 구성되어 두 개를 연결하므로 ESP32와 TFT를 함께 배선할 필요가 없습니다.

물론 TFT 디스플레이와 ESP32 보드를 별도로 구입하여 Dupont 전선으로 연결할 수 있습니다.

세 부분으로 구성된 모듈을 사용하지 않거나 세 부분으로 구성된 모듈을 가지고 있고 자신의 코드를 작성하려는 경우 배선을 보여주는 회로도가 포함되어 있습니다.

ILI9488 버전을 구입해야 합니다.

3.5 인치 TFT SPI LCD 디스플레이 모듈 320RGBx480 ILI9488 터치 ESP32 화면 포함/미포함| 502

2단계: 하드웨어 빌드

이것은 간단합니다, ESP32 보드를 PCB에 연결 한 다음 TFT 화면과 동일한 작업을 수행하되 올바른 방법으로 넣어야 합니다. 그렇지 않으면 손상이 쉽게 발생할 수 있습니다.

위의 사진을 참조하여 녹색 PCB는 왼쪽 하단 핀이 VIN이고 오른쪽 하단 핀이 3V3으로 표시되어 있는 글씨가 거꾸로 되어 있어야 합니다. 이는 ESP 모듈에 그려진 범례와 일치합니다.

보드를 삽입할 때 핀이 구부러지지 않도록 주의하십시오.

보드 (어쨌든 내가 구입 한 보드)에는 이미 테스트 펌웨어가 있습니다. USB 전원에 연결하면 키패드가 나타납니다. 5단계 Arduino IDE 소프트웨어로 이동하여 직렬 모니터를 로드하고 열고 tft 화면에서 & Send 키를 누르면 컴퓨터 화면에 숫자가 나타납니다.

3단계: 배선 가이드

3개 부품 세트를 사용하는 경우 배선이 필요하지 않습니다.

자신의 부품을 사용하는 경우 적절한 Dupont 와이어를 사용하여 ESP32 및 TFT 보드를 연결할 수 있습니다.

배선을 보여주는 회로도가 포함되어 있습니다.

 

tft_pcb_bb.pdf
0.34MB

4 단계 : 컴퓨터에 ESP32 드라이버 추가

 

ESP 보드에는 USB 포트가 내장되어 있어 컴퓨터에 쉽게 연결할 수 있습니다.

드라이버를 컴퓨터에 설치해야 할 수 있습니다. PDF 가이드를 따라 컴퓨터에 이미 드라이버가 있는지 확인하고, 그렇지 않은 경우 로드하는 방법을 확인하십시오.

4_ESP32_CH9102_CP2102+or+CH340+USB+Driver.pdf
0.38MB

5단계: Arduinio IDE 소프트웨어 로드.

아두이노 IDE라는 컴퓨터 프로그램이 컴퓨터에 설치되어 있어야 합니다. 우리 프로젝트의 경우 설정 세부 정보를 입력하기 위한 터미널로만 사용됩니다.

이 작업을 수행하는 방법에 대한 가이드를 따르십시오.

5_ESP32+Arduino+IDE+software+load.pdf
0.76MB

6단계: 펌웨어 로드

펌웨어는 ESP32 보드에 직접 다운로드됩니다. 이렇게하면 Python, Visual Studio, Platform IO를 컴퓨터에로드 한 다음 모든 소스 코드를 로드하고 모든 사용 방법을 배울 때 발생하는 모든 문제를 줄일 수 있습니다!

펌웨어를 다운로드하려면 작은 독립 실행형 프로그램이 필요합니다.

가이드에 따라 설치하고 펌웨어를 Weather Clock에 업로드하십시오.

펌웨어는 아래 링크에서 찾을 수 있습니다.

6_ESP32+Firmware+load.pdf
0.68MB
Weather-Clock-main.zip
4.03MB

7단계: 사용자 설정을 수집하여 날씨 시계 설정

날씨 시계를 사용하려면 사용자 데이터를 입력해야 합니다.

예를 들어 WIFI SSID 및 비밀번호와 같은 알아야 할 일부 데이터.

다른 데이터는 훌륭한 Interweb에서 찾아야 합니다.

아래 문서에서는 이 정보를 찾는 방법에 대해 설명합니다.

수집된 모든 정보를 메모장 또는 이와 유사한 것을 사용하여 텍스트 파일에 넣습니다.

결과는 다음과 같아야 합니다.

------------------------------------------------------------------------

SSID = 귀하의 -WIFI-SSID

WIFI_PWD = 비밀번호

시간대 = GMT0BST, M3.5.0 / 1, M10.5.0

METRIC 또는 영국식 = 미터법

OPEN_WEATHER_MAP_API_KEY = 4b1234567890bf49d54c40a5b12345678

OPEN_WEATHER_MAP_LOCATION_ID = 2644559

DISPLAYED_LOCATION_NAME = 런던

언어 = en

-----------------------------------------------------------------------

참고: - 언어가 선택되어 있어도 openweather.org 에서 다운로드한 데이터에만 적용됩니다.

소스 코드는 영어로 하드 코딩되었습니다.

 

6_ESP32_Collect_User_Data.pdf
0.19MB
weatherstation_parameters_default.txt
0.00MB
728x90
반응형