Page 120 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 120
위의 [사진]에서 나타내고 있는 “기사님 잠시만요!” 프로젝트 작품의 Flow Chart를 간략하
게 설명해보면, 시작 후에는 전원을 켰을 때 버스에서 사용되는 ATmega128과 기사용 모니터
의 프로세서인 ARM프로세서가 블루투스로 연결이 되었는지 확인한다. 블루투스가 연결이 안
되어있을 경우 계속해서 블루투스 연결을 시도한다. 블루투스 연결이 성공하면, ATmega128에
연결되어 있는 RFID 리더기를 통해 현재 정류장의 위치를 인식하고, 정류장의 정보를 블루투
스 모듈을 통해 ARM프로세서로 전송한다. 정류장 인식에 실패되었을 경우 반복해서 정류장을
인식하게 한다.
App을 통해 승객의 목적지 정보를 서버 통신을 통해 메인 시스템 소스로 보내고 (1)승객의
스마트폰이 WIFI와 연결하고 승객이 도착지를 변경하였으면 승객의 도착지 정보를 승객 정보
데이터베이스에 변경된 내용으로 저장을 한다. 만약 하차를 하는 승객이 있을 시에 승객 ID와
하차 정류장의 대한 정보를 제외하고 다시 승객 정보를 데이터베이스에 Renew시킨다.
ARM프로세서는 라즈베리파이로 현재 정류장의 위치를 메인 시스템 java 소스에 저장한다.
다음 정류장으로 이동을 하였는지 판별하여, 이 후에는 계속 RFID 모듈을 통해 다음 정류장의
인식을 시도한다. 다음 정류장으로 이동을 하면 다음 정류장의 대한 정보를 RFID를 통해서 식
별하고, ARM프로세서에서 라즈베리파이로 전송하여 데이터베이스에 저장한다.
App을 통해 이번 정류장의 식별 ID를 목적지로 설정해 놓은 하차 승객이 있는지 없는지를
판별하고, 이번 정류장에 내릴 승객이 없을 경우는 다음 역까지 기다린다. 내릴 승객이 있을
경우 승객에게 하차 역에 도착 예정을 한 정거장 전에 알리고, BUZZER을 통해 이번 정류장의
하차 승객이 있음을 버스기사에게 알린다. 또한 버스 기사의 모니터에 하차예정 승객 인원을
표시한다.
버스가 정류장 ID를 인식하면 버스 정류장 ID 정보를 전송하고, 인식을 못하면 인식을 계속
시도한다. 이후 정류장 정보를 데이터베이스에 저장하고, BUZZER를 끄고, 역 도착을 승객들
에게 알린다.
승객이 승차를 하면 다시 데이터를 받고, 인식을 못할 경우는 인식을 할 때까지 계속 인식을
시도한다. 인식을 성공하면 승객의 정보를 다운로드받은 후에 승객의 스마트폰을 WIFI와 연결
하고 승객이 도착지를 변경하였으면 데이터베이스에 즉시 Renew시킨다.
승객이 하차하면 승객의 하차처리를 하고 하차 승객의 데이터를 삭제한다. 나머지 하차승객
의 정보를 표시하고, 그 정류장에서 내려야 할 승객이 남아 있을 경우 남은 승객의 수를 표시
하고, 승객이 남아있지 않을 경우는 하차 완료를 기사 모니터에 표시한다.
- 113 -