[아두이노#225] esp8266wifi (OPENAPI)국토교통부 실시간 버스도착정보 LCD에 한글로 띄워보기!(wemos d1r1/사물인터넷(iot)시리즈#60/녹칸다/포로리야공대가자)
프로그래밍/ESP8266 OPENAPI 2021. 1. 14. 22:19
esp8266wifi (OPENAPI)국토교통부 실시간 버스도착정보 LCD에 한글로 띄워보기!(wemos d1r1/사물인터넷(iot)시리즈#60/녹칸다/포로리야공대가자)
-녹칸다의 openapi 프로젝트이다!
-국토교통부에서 실시간으로 제공하는 API 서비스이다!
-전국의 버스도착 정보를 실시간으로 제공하는 openapi이다!
-이번 open api는 사용하기가 조금 까다롭다!(유저가 알아내야 하는 추가정보가 좀 있다!)
-응답받는 데이터에는 아래와 같은 정보가 포함되어있다!
-정류소ID,정류소명,노선ID,노선번호,노선유형,도착예정버스 남은 정류장 수,도착예정버스 차량유형,도착예정버스 도착예상시간[초]
-open api를 이용하기 위해서는 private key가 필요한데 어떻게 발급하는지 살펴보자!(api 케바케로 등록)
-일단 시리얼 모니터에 결과를 출력해보자!
-2.4인치 LCD에 결과를 출력해보자!
-2.4인치 LCD에 결과를 한글로 출력해보자!
(조회가능한 버스정류장 지역 리스트 xml)
예제 225-1 사물인터넷보드(wemos d1r1)을 이용한 openapi 예제이다!
국토교통부에서 제공하는 전국 버스도착정보 openapi를 이용해서 시리얼모니터에 결과를 출력해보자!
예제 225-2 직전예제에 유저가 시리얼모니터에 입력한 지역번호와 정류소ID를 기반으로 정보를 출력해보시오!
시리얼모니터로 전송하는 데이터의 포맷예시
&cityCode=23&nodeId=ICB166000378
&cityCode=지역코드&nodeId=정류소ID
예제 225-3 직전예제에 LCD모듈(ILI9341)과 SD카드모듈을 연결해서
버스도착정보에 관련된 정보를 LCD화면에 한글로 출력해보자!
시리얼모니터에서 전송하는 데이터 샘플 2개..
&cityCode=23&nodeId=ICB165000773
&cityCode=23&nodeId=ICB166000378
버스정류장정보
https://www.data.go.kr/data/15067528/fileData.do
관련라이브러리(Adafruit-GFX-Library)
https://github.com/adafruit/Adafruit-GFX-Library
관련라이브러리(Adafruit_ILI9341)
https://github.com/adafruit/Adafruit_ILI9341
레퍼런스코드(LCD에 한글띄우기/#170)