[아두이노#234] esp8266wifi (OPENAPI)서울시 지하철 실시간 도착정보 LCD에 한글로 띄워보기!(wemos d1r1/사물인터넷(iot)시리즈#63/녹칸다/포로리야공대가자)
프로그래밍/ESP8266 OPENAPI 2021. 1. 21. 22:29
esp8266wifi (OPENAPI)서울시 지하철 실시간 도착정보 LCD에 한글로 띄워보기!(wemos d1r1/사물인터넷(iot)시리즈#63/녹칸다/포로리야공대가자)
-녹칸다의 openapi 프로젝트이다!
-서울시에서 실시간으로 제공하는 API 서비스이다!
-서울시 교통정보과[TOPIS]에서 제공하는 정보를 이용한 지하철 실시간 도착정보 조회 API 이다!
-응답받는 데이터에는 아래와 같은 정보가 포함되어있다!
-지하철호선ID,상하행선구분,도착지방면,내리는문방향(오른쪽,왼쪽),이전지하철역ID,다음지하철역ID,지하철역ID,지하철역명,환승노선수,도착예정열차순번,연계호선ID,연계지하철역ID,열차종류(급행,ITX),열차도착예정시간(단위:초),열차번호(현재운행하고 있는 호선별 열차번호),종착지하철역ID,종착지하철역명,열차도착정보를 생성한 시각,첫번째도착메세지(전역 진입, 전역 도착 등),두번째도착메세지(종합운동장 도착, 12분 후 (광명사거리) 등),도착코드(0:진입, 1:도착, 2:출발, 3:전역출발, 4:전역진입, 5:전역도착, 99:운행중)
-open api를 이용하기 위해서는 private key가 필요한데 어떻게 발급하는지 살펴보자!(api 케바케로 등록)
-특히 서울시 OPEN API는 독자적인 인증키를 사용한다(주의)
-서울시 OPEN API 인증키는 일반인증키와 지하철전용 인증키 2종류가 있다(주의)
-OPENAPI restful 서버에 정보를 요청하고 json으로 응답데이터를 수신한다음 json으로 원하는 데이터를 출력해보자!
-일단 시리얼 모니터에 결과를 출력해보자!
-2.4인치 LCD에 결과를 출력해보자!
-2.4인치 LCD에 결과를 한글로 출력해보자!
예제 234-1 사물인터넷보드(wemos d1r1)을 이용한 openapi이다!
서울시 실시간 지하철 도착정보 openapi를 이용해서 시리얼모니터에 결과를 출력해보자!
일단은 메모리 문제가 있어서 모든 데이터를 취할 수 없기에 최대 17건의 기차정보를 가져와보자!
(가급적이면 전반적인 기차수가 적은 역을 선택하는게 좋을 것 같다..)
예제 234-2 직전예제에 시리얼모니터에 출력되는 결과를 LCD화면(ILI9341)에 한글과 특수문자로 이쁘게 출력해보라!
예제 234-3 직전예제에 유저가 시리얼모니터로 입력한 지하철역의 실시간 지하철 도착정보를 LCD화면(ILI9341)에 출력하라!
(샘플 query) http://swopenAPI.seoul.go.kr/api/subway/(인증키)/json/realtimeStationArrival/0/18/서울
서울시열린데이터광장(실시간지하철도착정보) http://data.seoul.go.kr/dataList/OA-12764/F/1/datasetView.do
관련라이브러리(Adafruit-GFX-Library)
https://github.com/adafruit/Adafruit-GFX-Library
관련라이브러리(Adafruit_ILI9341)
https://github.com/adafruit/Adafruit_ILI9341
관련라이브러리(arduinoJSON)
https://arduinojson.org/?utm_source=meta&utm_medium=library.properties
레퍼런스강의(ILI9341에서 한글+특수문자쓰기#227)