클라우드를 활용한 날씨 알림 장치
클라우드를 활용한 날씨 알림 장치

사용 기술
프로젝트 갤러리
프로젝트 제작 과정과 최종 결과물을 담은 이미지 갤러리입니다.




프로젝트 소개
사용 기술
진행 기록
1차 — 클라우드를 활용한 날씨 알림 장치-프로젝트 개요
2022.12.08
□ 아이디어 소개 및 개요 (개발 계획 및 과정 포함)
출근 시간과 같이 바쁜 시간에 날씨 확인해야 할 때, 따로 조회하지 않고도
날씨를 알려주는 기기가 있었으면 할 때가 있다.
라즈베리파이 피코를 활용하여, 오픈API로 날씨 정보를 가져와서 LCD 화면에 날씨 정보를 보여주는
날씨 알림 장치를 만들어본다.
□ 전체 구조를 표현하는 블록 다이어그램
날씨 정보를 제공하는 클라우드 서비스는 open-meteo.com 을 활용한다. 전 세계 어느 지역이던지 활용 가능하도록, 지구 전역 날씨 예보 서비스를 하는 클라우드와 연동하여 날씨 정보를 실시간으로 수신한다.
□ 하드웨어 구성 다이어그램

Raspberry Pi Pico의 SPI 인터페이스를 활용. Adafruit displayio 모듈 활용하여
LCD에 아이콘, 텍스트를 표시한다.
□ 소프트웨어 구성 다이어그램
개발 언어는 CircuitPython 사용하여 와이파이, LCD 표시, 텍스트/이미지 표시 기능을 활용한다.
2차 — 클라우드를 활용한 날씨 알림 장치-설계 및 구현
2022.12.20
□ 소프트웨어 설계
o weather-client.py
- LCD와 SPI 연결 설정
- weather_client_openmeteo_cpy.py에서 받아온 날씨 표시
- 현재 날짜/시각/날씨 등의 글자 표시: adafruit_display_text 모듈 활용
- 날씨를 아이콘 형태로 표시: displayio 모듈 활용
o weather_client_openmeteo_cpy.py
- Wi-Fi 인증
- open-meteo.com 서버에 http 연결 수립
- http 연결 수립 후 open-meteo.com 에 날씨 정보를 요청하여 날씨 정보 취득: json 형태
- 입력값: 위도, 경도, TIMEZONE .env 파일에서 읽어옴.
□ 설정
o Raspberry Pi PIco를 USB로 연결하면 보이는 CircuitPy 드라이브의 루트 디렉토리에
.env파일 아래 형태로 저장
WIFI_SSID =
WIFI_PASSWORD =
LATITUDE = 위도 예) 37.57
LONGITUDE = 경도 예) 126.98
CITY='도시 표시 이름' 예) Seoul
TIMEZONE ='시간대 이름' 예) 'Asia/Seoul'
□ 동작 화면
- 상단 : 날짜와 시간 표시
- 중간 : 현재 날씨/기온 표시
- 하단 : 현재 이후 날씨/기온 표시

□ 동작 영상
댓글 0개
아직 댓글이 없습니다. 첫 댓글을 남겨보세요!
