현대인의 일상에서 '공기 질'은 건강을 좌우하는 중요한 요소가 되었습니다. 특히 미세먼지 수치가 높아지는 계절에는 외출 여부나 운동 시간, 창문 여닫는 시간까지 미세먼지 상태에 따라 결정되는 일이 많습니다. 그러나 매번 별도의 앱을 열고 수치를 확인하거나 알림을 기다리는 과정은 번거롭습니다.
필자는 이러한 문제를 해결하기 위해 공공데이터포털에서 제공하는 미세먼지 API를 활용하여, 매일의 미세먼지 정보를 자동으로 수집하고 구글 캘린더에 자동 등록하는 시스템을 만들었습니다. 이 글은 미세먼지 확인 과정을 완전히 자동화하는 실용적 방법을 소개하며, 누구나 따라할 수 있는 형태로 구성되어 있습니다.
**공공데이터포털(data.go.kr)**에서는 ‘에어코리아’와 연계된 실시간 대기오염 정보 API를 무료로 제공합니다. 이 API는 다음과 같은 요소를 제공합니다:
이 자동화 시스템은 다음과 같은 구조로 동작합니다:
import requests
service_key = '발급받은_API_키'
url = 'http://apis.data.go.kr/B552584/ArpltnInforInqireSvc/getCtprvnRltmMesureDnsty'
params = {
'serviceKey': service_key,
'returnType': 'json',
'sidoName': '서울',
'ver': '1.0'
}
res = requests.get(url, params=params)
data = res.json()
items = data['response']['body']['items']
# 강남구 데이터만 필터링
dust_info = next((item for item in items if item['stationName'] == '강남구'), None)
pm10 = int(dust_info['pm10Value'])
from google.oauth2 import service_account
from googleapiclient.discovery import build
import datetime
SCOPES = ['https://www.googleapis.com/auth/calendar']
SERVICE_ACCOUNT_FILE = 'credentials.json'
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
service = build('calendar', 'v3', credentials=credentials)
today = datetime.date.today().isoformat()
summary = "🟢 공기질 양호 – 야외 활동 적합" if pm10 <= 50 else "🔴 미세먼지 주의 – 실내 활동 권장"
event = {
'summary': summary,
'start': {'date': today, 'timeZone': 'Asia/Seoul'},
'end': {'date': today, 'timeZone': 'Asia/Seoul'},
}
service.events().insert(calendarId='primary', body=event).execute()
이 시스템을 활용하면 매일 아침 스마트폰의 캘린더 앱을 열기만 해도 오늘 공기질 상태를 확인할 수 있습니다.
알림 대신 일정으로 등록되므로 앱 알림을 꺼놓은 사용자에게도 자연스럽게 전달됩니다.
또한, 아이나 반려동물이 있는 가정에서는 외출을 하거나 야외 활동 계획을 세울 때 큰 도움이 될 수 있을것입니다.
공공데이터는 일상생활을 편리하게 만드는 중요한 자원입니다.
특히 미세먼지 정보처럼 건강과 직결되는 데이터를 자동으로 수집하고 시각적으로 정리해주는 시스템은 정보의 유용성, 기술적 실현 가능성, 실생활 밀착성이라는 세 요소를 고루 갖추고 있습니다.
당신도 오늘부터 직접 활용 가능한 공공데이터 자동화 시스템을 만들어보세요.
공공 체육시설 예약 데이터를 활용한 헬스장 자동 추천 시스템 만들기 (0) | 2025.07.02 |
---|---|
오늘 문 연 병원, 자동으로 찾는 시스템 만들기 (공공데이터 기반) (0) | 2025.07.02 |
출근길 대중교통 혼잡도, 예측하는 자동 시스템 만들기 (버스+지하철 연동) (0) | 2025.07.02 |
실시간 버스 위치 데이터로 내 출근 시간을 자동으로 조절하는 방법 (0) | 2025.07.02 |
장마라고? 오늘 우산 챙겨야 할까? 날씨 공공데이터 API로 자동 알림 시스템 만들기 (0) | 2025.07.01 |