클라우드를 활용한 날씨 알림 장치
2제작 기록
개인 프로젝트진행중

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

h
2022.12.08에 시작
2
좋아요
606
조회
0
댓글
클라우드를 활용한 날씨 알림 장치

사용 기술

Environmental SensingInternet of ThingsRaspberry Pi

프로젝트 소개

사용 기술
Environmental SensingInternet of ThingsRaspberry Pi

진행 기록

1
1차 — 클라우드를 활용한 날씨 알림 장치-프로젝트 개요
2022.12.08

□ 아이디어 소개 및 개요 (개발 계획 및 과정 포함)

    출근 시간과 같이 바쁜 시간에 날씨 확인해야 할 때, 따로 조회하지 않고도

    날씨를 알려주는 기기가 있었으면 할 때가 있다.

    라즈베리파이 피코를 활용하여, 오픈API로 날씨 정보를 가져와서 LCD 화면에 날씨 정보를 보여주는

    날씨 알림 장치를 만들어본다.

 

□ 전체 구조를 표현하는 블록 다이어그램    

날씨 정보를 제공하는 클라우드 서비스는 open-meteo.com 을 활용한다. 전 세계 어느 지역이던지 활용 가능하도록, 지구 전역 날씨 예보 서비스를 하는 클라우드와 연동하여 날씨 정보를 실시간으로 수신한다.

 

□ 하드웨어 구성 다이어그램

     Raspberry Pi Pico의 SPI 인터페이스를 활용. Adafruit displayio 모듈 활용하여

     LCD에 아이콘, 텍스트를 표시한다.

 

□ 소프트웨어 구성 다이어그램

   

    개발 언어는 CircuitPython 사용하여 와이파이, LCD 표시, 텍스트/이미지 표시 기능을 활용한다.

2
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

아직 댓글이 없습니다. 첫 댓글을 남겨보세요!