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

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




프로젝트 자료실
프로젝트를 재현하거나 학습하는데 필요한 모든 자료를 제공합니다.
등록된 자료가 없습니다.
프로젝트 소개
사용 기술
진행 기록
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개
아직 댓글이 없습니다. 첫 댓글을 남겨보세요!

.jpg)