기상청 날씨누리 RSS 서비스를 활용한 X-SCADA AI 날씨 표현
기상청 날씨누리에서 날씨 정보를 구독 형태로 쉽고 빠르게 제공하기 위해 RSS 서비스를 운영하고 있습니다.
XML 데이터 형식을 기초로 만들어진 날씨누리 RSS 서비스를 X-SCADA AI 에서 어떻게 활용할 수 있을지 소개합니다.
날씨누리 웹사이트 : https://www.weather.go.kr/w
날씨누리 RSS 서비스 가이드 : https://www.weather.go.kr/w/pop/rss-guide.do
1. 날씨누리 RSS 서비스 확인 및 분석하기
1) 날씨누리 RSS 서비스에서 보고자 하는 동네를 선택한다.
· 동네는 자이솜 본사(대전)를 기준으로 설정했으며, [1시간별 RSS]를 기준으로 진행할 예정입니다.
2) [RSS] 버튼을 클릭하면 나타나는 팝업에 있는 주소를 기록(복사)한다.
· 해당 주소는 X-SCADA AI에서 장치 탐색기(Device Explorer)에서 장치 설정 시 사용할 예정이다.
3) 2번 과정에 얻은 주소에 접근하여 RSS를 분석한다.
· 해당 분석 과정을 거쳐 규칙을 알아야 태그 탐색기(Tag Explorer)에서 태그 설정을 통해 해당 데이터에 접근할 수 있다.
예시 1) 지역 정보를 받아오고 싶은 경우, 지역을 나타내는 category 항목이 있는 주소를 장치내 주소에 입력한다. 규칙에 따라 장치내 주소에 #rss/channel/item/category를 입력하면 된다.
예시 2) 강수량 정보를 받아오고 싶은 경우, 날씨누리 RSS 규칙에 따르면 pcp 항목이 강수량이다. 규칙에 따라 강수량 정보를 확인하고 싶으면 #rss/channel/item/description/body/data[@seq="0"]/pcp를 입력한다.
2. X-SCADA AI 설정하기
1) X-SCADA AI Designer에서 아래와 같이 날씨를 표현하기 위해 작화한다.
2) 장치 탐색기(Device Explorer)에서 새 장치 추가(New Device) 후 기타 연결 추가(New Other)를 진행한다.
3) 속성(Properties)에서 프로토콜(Protocol)을 "Web Request"로 설정한 뒤 Http > URL에 1. – 2) 과정에서 복사했던 지역 주소를 붙여넣기한다.
4) 태그 탐색기(Tag Explorer)에서 날씨누리의 정보 중 표현하고 싶은 정보들을 정한 뒤 태그를 추가한다.
· 다양한 날씨 정보들을 받아올 수 있지만, 이번 샘플에서는 지역(category), 온도(temp), 습도(reh), 풍속(ws), 날씨(wfKor) 정보만을 받아온다.
· 더 복잡한 조건 및 설정을 위해 연산식을 적용할 "category_split"와 "wfKor_code" 태그도 추가한다.
· RSS의 태그 값에 대한 자세한 설명은 우측 링크에 접속하면 확인할 수 있다. (https://www.weather.go.kr/w/resources/pdf/dongnaeforecast_1hr_rss.pdf)
5) 설정하고자 하는 태그 선택 후 속성(Properties) > 장치(Device) 항목에서 이전에 생성했던 장치를 설정한 뒤, 장치내 주소(DeviceAddress)에 1.-3)에서 분석했던 태그 주소를 입력한다.
· 지역 정보를 받아오고 싶은 경우, #rss/channel/item/category 입력
· 풍속을 알고 싶은 경우, #rss/channel/item/description/body/data[@seq="0"]/ws 입력
6) 더 디테일한 설정 및 변형을 하고 싶은 경우, 태그를 추가로 생성한 뒤 속성(Properties)에서 연산식(Expression)을 설정한다.
· 날씨누리에서 제공하는 category는 "대전광역시 유성구 관평동"과 같이 정확한 지역 정보를 제공해주지만, 이번 X-SCADA AI 샘플에서는 "대전광역시"와 같이 텍스트를 줄여서 표현하고자 한다.
· 스크립트(JavaScript)를 활용하는 방법도 있지만, 태그의 기본 속성 중 하나인 연산식을 아래와 같이 작성하여 텍스트를 분리/활용한다.
· 연산식에서 다른 태그를 참조해서 가져오고 싶은 경우, #{폴더명.태그명} 과 같은 규칙으로 작성하여 참조할 수 있다. (자기 자신 참조 불가)
7) 미리 생성한 객체를 선택한 뒤 속성(Properties) > 바인딩(Binding) > 태그(Tag)에서 바인딩하고자 하는 태그를 설정한다.
3. X-SCADA AI Viewer로 날씨 정보 확인하기
1) 프로젝트 저장 후 X-SCADA AI Viewer로 실행하여 날씨 정보를 잘 불러오는지 확인한다.
2) 첨부한 샘플을 다운로드 받아 자세한 설정을 확인할 수 있다.