아두이노를 이용하여 인터넷에서 실시간으로 날씨와 온도정보를 받아와 아날로그형태로 날씨정보를 표현
1 of 3
Download to read offline
More Related Content
스마트 날씨시계 논문
1. 스마트 날씨시계
Smart Weather Watch
-------------------------------------------------------------------------------------------------------------------------
박태욱, 최백서, 이제원
아이비스 IVIS
E-mail : raven4221@gmail.com
■ 요 약 ■
최근에 사물인터넷이 대중화되면서 많은 제
품이 출시되었다. 실시간으로 날씨의 정보를
받아오기 위해서 WiFi Shield를 이용하여 날씨
정보를 제공하는 Open Weather map api를 이
용하고, 아날로그시계처럼 형태로 표현하기 위
해 Setpping Motor를 사용, 현재의 도시 정보
를 표현하기 위해 LCD Display를 사용하였다.
그리고 도시 정보를 바꾸기 위하여 6가지의
버튼도 설치하였지만 조금 더 많은 도시를 표
현하기 위하여 Bluetooth를 이용하여 Moblie
과 연동하여 Application으로 도시 정보를 변
경 가능하다.
I. 서론
Smart Phone의 사용이 급증하면서부터 날씨
에 관한정보를 TV나 컴퓨터를 통하여 정보를
얻지 않고 간단하게 볼 수 있는 Smar
t Phone으로 정보를 얻는 것이 대중화 되었습
니다. 이와 더불어 사물인터넷이 이슈화 되면
서 많은 가정 제품이 Smart Phone과 연동되면
서 사용되기 시작했다.
이렇게 사물인터넷과 Smart Phone이 대중화
대면서 이를 이용하여 날씨만을 볼 수 있는 제
품이 많이 등장 하였는데, 그 중에서는
"Weather Cube", “Weather Cloud" 등이 있다.
기존의 제품들은 실제 날씨를 표현하면서 현
재 날씨를 알려주기 때문에 정확한 날씨의 표
현이 되지 않는다.
그래서 아날로그 벽걸이 시계 형태를 이용하
여 날씨 정보를 표현해보고자 날씨 시계를 제
작하였다.
II. 시스템의 개요
[ 그림 1 ] 날씨 시계 시스템 개념도
[그림 1]과 같이 Arduino, WiFi Shield를 이용
하여 날씨 정보를 제공하는 Web Site에 접속
하여 실시간으로 날씨정보를 받아온다. 필요한
정보를 받아온 Master Arduino는 Motor를 제
어하는 Arduino와 LCD를 제어하는 Arduino에
각각의 필요한 정보를 전송한다.
날씨 정보를 제공하는 도시의 정보는 미리
설정해놓은 Switch를 이용하여 도시 정보를 바
꾸는 방법과 Blutooth를 이용하여 모바일
2. Application으로 원하는 도시 정보로 바꿀 수
있다.
III. 시스템 구현
III-1 Motor를 이용한 시계 시스템
Open Weather Map에서 제공하는 날씨정보
를 필요한 부분만 받아오기 위해서 Arduino를
Web에 접속을 시켜야 하는데 이것을 실행하
기 위해서 WiFi Shield를 이용하여 접속하고
필요한 날씨정보만 받아쓰기 위해 파싱을 해야
한다. 하지만 Arduino의 메모리가 한정적이기
때문에 파싱을 하다 보면 메모리 부족 현상이
생긴다. 이를 해결하기 위해 Serial Monitor에
표시되는 정보를 전부 Flash memory로 돌려
사용하였다.
[그림 2] WiFi접속 및 날씨, 온도, 도시 정보
[그림 2]에서 보는 바와 같이 Open Weather
Map api에 접속 성공 메시지를 출력 이후 원
하는 도시의 날씨, 온도, 현재 시간의 정보를
파싱한다. (도시의 정보는 처음 Open Weather
Map에 접속할 때 미리 정한다.)
접속에 성공하고 파싱을 하는데 처음에는 날
씨 정보를 실시간으로 받아오기 위해서 재접속
을 하는 딜레이 시간을 주지 않았다. 딜레이
시간을 주지 않으니깐 10번 정도의 재접속 이
후 소켓이 끊어지는 현상이 발생하였다. 이를
해결하기 위해서 재접속을 하는데 약간의 딜레
이를 주었다. 대략 5초 정도의 딜레이 이후에
재접속을 시도하는 방식으로 변경하였다.
파싱을 성공한 Master Arduino는 나머지 하
위 Arduino에게 필요한 정보들을 전송한다.
Motor를 제어하는 Arduino에게는 온도 정보를
int값으로 전송하고, 날씨 정보는 미리 날씨의
개수를 정해 놓고 번호를 매겨서 int 값으로
전송한다. Master Arduino로부터 받은 정보들
을 이용하여 각각의 수치에 맞게 미리 정해놓
은 각도로 Motor를 제어한다.
LCD에 표시할 정보들은 Open Weather Map
을 파싱하면서 받아온 정보들을 그대로 LCD
화면에 표시한다.
III-2 모바일 단말기를 통한 시계 제어
→
[Application 시작] [Seoul Button 선택]
[그림 3] 날씨 시계 작동
Blutooth 모듈을 이용하여 Mobile기기에 접
속한다. Mobile기기는 Application을 이용하여
시계의 정보를 변경한다. 시계가 Open
Weather Map에 접속하고 파싱이 성공적으로
이루어졌을 때 5초 이후에 재접속을 시도 한
3. 다. 재접속이 이루어지기 전이나 이후에 도시
정보를 변경하고 저장을 해버리면 재접속이 이
루어 질 때 변경된 도시로 접속을 시도 한다.
이렇게 원하는 지역을 변경 하면서 날씨 정보
를 제어한다.
Ⅳ. 결론
사물인터넷을 이용하여 많은 좋류의 악세사
리 및 기기들 중에서 날씨를 표현하는 기기들
도 여러 가지가 나오고 있다. 그중 실용적인
면에서 지금 만든 날씨 시계가 집안들 꾸며 줌
과 동시에 날씨를 보다 쉽게 알려 준다. 지금
까지 나온 날씨정보 기기들을 보면 현재 날씨
를 표현하는데 중점을 두고 있지만 날씨 시계
는 벽걸이 형태로 지나가다 지금 날씨 및 온도
등을 아날로그 형태로 보다 알아보기 쉽고, 원
한다면 다른 도시의 날씨들도 미리 알 수 있다.
■ 참 고 문 헌 ■
[1] www.arduino.cc 아두이노 공식 사이트
[2] http://kocoafab.cc/tutorial/view/102 아두이
노 WiFi 접속 예제 사이트
[3] http://www.openweathermap.org 날씨 정보
제공 사이트