• 검색 결과가 없습니다.

STEAM R&E 연구결과보고서

N/A
N/A
Protected

Academic year: 2022

Share "STEAM R&E 연구결과보고서"

Copied!
9
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

STEAM R&E 연구결과보고서

(보행자의 안정성을 고려하며 IT기술을 활용한 신호등 개선 방안)

2017. 11. 30.

성보고등학교

< 연구 결과요약서 >

과 제 명 보행자의 안정성을 고려하며 IT기술을 활용한 신호등 개선 방안 연구목표

기존 도로교통 신호 제어기(이하 신호등)에 대하여 보행자들이 느꼈던 불편함과 그로 인해 발생할 수 있는 위험 상황에 대해 설문조사를 진행하여 조사하고 기존 신호등에 Bluetooth 무선 통신 기술을 접목시켜 Android 스마트폰과의 연동을 유도함으로써 문제를 해결하기

연구내용

□ 유사 선행연구

○ 일부 시에서 설치한 바닥신호등

- 일부 시에서 설치하였으나 지방자치단체와 경찰 사이의 관할 문제로 사용할 수 없어 무용지물인 상태이다

○ 시각장애인 신호등 알림 앱

- 연구 초기 선행연구 관련 검색 도중 유사한 연구를 발견하였다. 해당 선행연구는 시각장애인을 대상으로 제작된 기기로, 본 연구에서는 시각장애인이 아닌 스몸비를 대상으로 연구를 진행하였기에 연구의 목적 면에서 해당 선행연구와는 거리가 있다.

□ 연구 주제 선정(목적 및 필요성)

○ 현재 실생활에서 쉽게 찾아볼 수 있는 사회적 문제점

- 연구를 진행하기 위해 주제를 정하던 시기에 ‘포켓몬 고’라는 증강현실 게임이 출시되 었다. 그와 동시에 ‘포켓몬 고’ 게임을 플레이하며 길을 걷다가 사고를 당하는 비율이 폭증하기 시작했고, 뉴스에까지 이 문제의 심각성이 보도되며 팀원 한명이 이를 접하 게 되었다. 보행 중 사고의 심각성을 접한 팀원이 이를 예방할 수 있는 애플리케이션을 제작하자고 제안하였고 스마트폰을 보며 걷던 도중 교통사고를 당했던 경험이 있는 다른 팀원이 이를 적극 추천하여 이 연구를 진행하게 되었다.

□ 연구방법

○ Android 스마트폰 Application 프로그래밍

- Google Play 스토어에서 다운로드 할 수 있는 AIDE 애플리케이션을 활용하여 프로그 래밍 하였다. AIDE의 무료 버전은 기능에 제약이 많기에 이전에 구매하여 사용 중이던 유료 버전(약 \11,500가량)을 사용하였다.

○ Android Application과 Arduino 신호등 기기를 이어주는 php 서버 프로그래밍 - Ubuntu OS가 설치된 컴퓨터에서 Eclipse PDT를 활용하여 프로그래밍을 진행하였다.

- 서버의 경우 직접 운영하기에는 무리가 있어 Dothome이라는 외부 호스팅 업체에서 제공하는 무료호스팅 서비스를 활용하였다.

○ Arduino 신호등 기기

- 실제 도로의 신호등을 사용하여 이 연구를 진행하기에는 무리가 있기에 Arduino를 활용하여 신호등과 동일한 기능을 하는 기기를 제작하여 연구를 진행하였다.

- Windows OS가 설치된 컴퓨터에서 Arduino Sketch 프로그램을 사용하여 프로그래밍 을 진행하였다.

○ Pedetector 신호등 기기 하드웨어

- 도로의 신호등과 동일한 기능을 하는 기기는 Arduino를 이용하여 프로그래밍하고 하드웨어는 여러 소재를 이용하여 제작하였다.

- 신호등 기둥에 Arduino 기기를 부착하기 위한 커버를 제작하였는데, 고등학생 선에서 다루기가 비교적 쉬운 물라스틱을 활용하였다. 물라스틱은 80도 이상의 물에서 녹아

(2)

점토처럼 변하는 플라스틱으로, 원하는 모양을 제작한 뒤 굳히면 단단한 플라스틱이 되는 신소재이다.

- 처음 소재를 정하는 과정에서 3D프린터 등도 고안했으나, 단기간에 다루는 법을 학습하여 자유자재로 사용하기에는 무리가 있다고 판단하여 사용하지 않았다.

□ 연구 활동 및 과정

○ 연구 초기에 Arduino를 활용하여 Bluetooth 통신을 활용하면 사용자와 신호등 기기 사이의 거리를 측정하는 기능을 쉽게 구현할 수 있을 것으로 예상하였다. 이러한 가설을 설정한 후 곧바로 연구에 착수하였으나 예상치 못했던 여러 가지 문제점들이 나타나게 되었고, 여러 번의 시행착오를 거쳐 8월 말 본격적으로 최종적인 작업이 시작되었다.

○ Android 애플리케이션을 프로그래밍하며 알림수신이라는 이전에는 다루어본 경험이 없는 부분을 다루게 되면서 여러 번의 시행착오를 거치게 되었다. 처음에는 효율적인 작동보다는 원하는 대로 작동하는 것을 목표로 하였으나 원하는 기능들이 대부분 구현 되고 연구가 마무리에 가까워지면서 효율적이고 깔끔한 코드로 개선하는 작업을 수행하 였다.

연구성과

□ 연구 결과

○ Android 스마트폰 Application 프로그래밍

- 연구 초반에 계획했던 구조도와 거의 유사하게 구현을 하였다.

Application 내의 버튼을 눌러 서비스를 시작하게 되면 Bluetooth를 사용하여 주변 신호등 탐색을 시작하고, 주변에서 Pedetector 신호 등이 탐색되면 그 신호등의 기기 명(ex-Pedetector 001)을 받아온 다. 그 다음에는 기기 명을 String 변수로 지정하여 Firebase 알림 서비스에 등록하는 작업을 수행하고 다시 신호등으로부터 멀어지 면 등록을 해제한다. 알림 서비스에 등록된 신호등으로부터 알림이 수신되면 상단 알림 바에 알림을 띄워주고, 알림 바를 내리지 않더라도 바로 확인이 가능한 경고 창을 띄워주며, 이어폰을 착용중인 경우에는 Text-To-Speech 기능을 이용하여 읽어 주는 작업을 수행한다.

○ Arduino 신호등 기기 프로그래밍

- 이 연구에서 신호등 대신 사용한 기기이다. Arduino UNO 보드에 LED와 Bluetooth, WiFi 칩셋을 장착하여 스마트폰과의 통신 이 가능하도록 하였다. 전원을 넣으면 빨간불이 켜지며 버튼을 누 르게 되면 녹색불이 켜지고 10초간 깜빡인 뒤 다시 빨간불로 돌아 온다. 이때 녹색불이 켜지면서 동시에 php 서버로 알림전송요청과 동시에 기기의 고유번호(ex-Pedetector 001)을 전송한다.

Bluetooth 칩셋은 스마트폰이 신호등과의 거리를 측정하기 위해 사용되며, WiFi 칩셋은 php 서버와의 연결을 위해 사용된다.

- LED의 경우, Arduino에서 기본으로 제공되는 소형 LED 대신 주문제작을 통해 제작한 특수 LED를 활용하였다.

○ php 서버 프로그래밍

- 이전에 다루어 본적이 없던 php라는 언어를 사용하는 것이 연구 초기에는 무리라고 생각되어 서버를 사용하지 않고 연구를 진행하려 했으나, 서버를 사용하지 않고는

완성이 불가능하다는 것을 알게 되어 가장 뒤늦게 프로그래밍이 시작된 부분이다.

- Firebase 알림 서비스와 연동하여 php 서버를 개발하는 것이 생각보다는 간단했기에 가장 뒤늦게 시작했지만 비교적 빠르게 진행하여 다른 프로그래밍과 거의 동시에 마무리할 수 있었다.

- php 서버는 Arduino에서 전송 요청을 보내면 수신된 요청을 Firebase 알림으로 변환 하여 Google Firebase 알림 메시징 서비스로 전달하는 역할을 한다.

- 연구 초기에는 기기의 Firebase 고유 토큰을 서버에 저장하고 이를 활용하여 알림을 전송하려 했으나 이러한 방법보다는 Firebase Topic을 활용하는 것이 훨씬 효율적이 라는 것을 알게 되어 Topic 전송으로 방식을 변경하였다. Pedetector 프로젝트에서는 신호등의 고유번호가 Topic으로 설정되어 동작한다.

○ 신호등 기기 하드웨어 제작

- 블루투스 장치를 신호등에 장착하기 위해 블루투스 장치를 안전하 게 감싸주는 커버가 필요하다. 팀원들과의 회의를 통해 디자인을 정하게 되었는데, 연구 초기에 계획했던 대로 일반적인 밋밋한 디자 인 보다는 환경 친화적인 디자인을 적용하기 위해 무당벌레 모양이 라는 디자인을 선택하게 되었다. 물라스틱을 이용하여 반구 형태의 무당벌레 디자인이 적용된 커버를 제작하였다. 연구 초반에는 처음 다루는 소재이다 보니 실수도 많았고 여러모로 부족한 점이 많았으 나, 시간이 지나고 소재에 익숙해지면서 원하는 모양을 제작할 수 있게 되었다.

- 무당벌레 디자인이 적용된 커버는 몸체와 두 날개로 분리하여 각각 제작한 뒤 경첩을 이용하여 접합시키는 방식으로 제작하였다.

-Arduino 기기와 애플리케이션을 모두 종합하여 제작한 Pedetector 신호등을 테스트하기 위해서는 모의 신호등이 필요하다. 이에 따라

신호등과 최대한 유사한 모양이 되도록 기둥을 세우고 LED를 부착하여 신호등과 유사 한 기기를 제작하여 테스트를 진행하였다.

□ 시사점

○ Bluetooth 통신을 활용한 Android Application과 Arduino 기기를 제작하며 이전에는 알지 못했던 Bluetooth 통신에는 Classic Bluetooth와 BLE 두 가지가 있으며, 최근에는 여러 가지 웨어러블 기기들이 출시되며 전력소모가 비교적 적은 BLE가 많이 사용되는 추세라는 것을 알게 되었다.

○ Arduino 기기의 커버를 제작하며 여러 가지 소재에 대해 알아보는 계기가 되었다.

이 과정에서 플라스틱, 철 등 일상생활에서 쉽게 발견할 수 있는 여러 소재들의 물리적인 특성들을 확인해볼 수 있었다.

□ 향후 계획

○ 실제로 도로에 이러한 기기를 설치할 수 있도록 아직 해결하지 못한 단점들을 모두 해결할 수 있도록 노력할 것이다.

○ 신호등 이외에도 범죄가 자주 발생하는 지역에서는 범죄 다발 지역이므로 주의하라는 내용의 알림을 전송하는 서비스도 구현해 볼 것이다.

주요어 (Key words)

-스몸비 -스마트폰 -교통사고 -신호등 -Bluetooth -FCM -도로교통 -Android -포켓몬고 -교통사고 다발지역 -Arduino

(3)

< 연구 결과보고서 >

1. 개요

□ 연구목적

○ 최근 우리나라의 스마트폰 보급률은 계속해서 증가 하고 있는 추세이다. 이는 전 세계의 스마트폰 보급률의 최고 수준으로, 특히 청소년들의 스마트폰 이용률이 급 증함에 따라 여러 가지 문제들의 발생률 역시 급증하고 있다.그 중 보행중 스마트폰 이용으로 인한 교통사고 발생률은 지난 1월 포켓몬 고 증강현실 게임이 출시된

이후 더욱 큰 폭으로 증가하고 있다. 길을 걸으며 캐릭터를 수집하는 게임의 특성상 보행 중에 주변 상황보다는 스마트폰의 화면에 집중하게 되는데, 이로 인해 주변에서 다가오는 차량을 확인하지 못해 교통사고를 당하는 보행자들의 수가 적지 않다. 스마트폰을 보며 좀비처럼 걸어 다닌다는 의미에서 스몸비라는 신조어까지

생겨났다. 이러한 스몸비들을 스마트폰을 보지 않도록 하는 방법은 없다고 판단하였고, 이에 따라 스마트폰의 화면, 그리 고 이어폰을 착용중이라면 음성을 통해 교통사고에 대한 경 각심을 깨워줄 수 있는 방법을 찾아보았다.

또한 최근 4차 산업혁명이 이슈화 됨에 따라 IT기술을 활용하 여 이 문제를 해결해보고자 하였다. 문제의 시발점인 스마트 폰에 특정 애플리케이션을 설치함으로써 스몸비 교통사고 발생률을 조금이나마 줄일 수 있도록 하고자 한다.

본 연구에서 제작하고자 하는 프로젝트는 Pedetector 프로젝트이며, Pedetector라는 단어 는 ‘보행자를 뜻하는 Pedestrian’과 ‘보호자를 뜻하는 Protector’를 합성한 단어로, 팀원들이 지어낸 보행자 보호기를 뜻하는 단어이다. Pedetector 프로젝트는 Android 애플리케이션, Arduino 신호등 기기, 그리고 php 서버로 이루어진다.

□ 연구범위

○ 어떻게 문제를 해결 할 것인가

- 본 연구에서 해결하고자 하는 문제의 대상은 스마트폰을 보며 길을 걷는 보행자이다.

이들이 주변 상황보다는 스마트폰에 집중하고 있다는 점을 고려하여 스마트폰 애플리 케이션을 이용해 문제를 해결하고자 한다.

- 스마트폰에 집중한 보행자가 교통사고를 당하는 경우는 대부분 횡단보도 앞에서이다.

횡단보도 앞에서 스마트폰을 보고 있다가 주변 사람들의 움직임만을 보고 횡단보도를

건너게 되면서 교통사고를 당하는 경우가 대다수이다. 본 연구에서는 도로에 설치되어 있는 신호등을 IT기술과 접목시킴으로써 개선하여 횡단보도에서의 보행자 교통사고 발생률울 줄일 수 있도록 할 것이다.

2. 연구 수행 내용

□ 이론적 배경

○ Bluetooth 통신의 분류 – Classic BT와 저전력 BT

- 최근 출시되는 스마트폰과 태블릿PC에는 대부분 Bluetooth 통신 기능이 탑재되어 있다. 이 Bluetooth 통신은 크게 ‘기존 Classic Bluetooth’와

‘저전력 Bluetooth(BLE)’로 나눌 수 있다. 기존 Bluetooth는 Bluetooth 이어폰, 파일 전송, 자동차와 스마트폰 사이의 연결 등에 사용되는 방식으로, 배터리 소모량이 매우 큰 편이다.

- 반면에 BLE는 기존의 Bluetooth보다 데이터 전송속도는 느리지만 전력소모가 매우 적기에 최근 스마트워치와 같은 웨어러블 디바이스에서 많이 쓰이는 방식이다. 본 연구에서는 Arduino 기기에서 BLE칩셋을 장착하여 이용하게 되는데, Android 애플리케이션과의 통신에 사용될 데이터는 신호등의 일련번호로 약 10자리의 숫자로 구성되기에 1Mb 미만으로 저장된다. 이에 따라 적은 데이터 전송에도 전력 사용량이 큰 기존의 일반 Bluetooth 기술을 이용하기 보다는 비교적 전력 사용량이 작은 BLE기술을 이용하는 것이 효율적이라고 판단하였다.

○ Android 애플리케이션의 구조 – Activity와 Service

- Android Application의 구조는 다양하다. 그중 가장 대표적인 두 가지는 Activity와 Service이다.

- Activity는 사용자가 홈 화면에서 애플리케이션을 실행하는 등의 동작을 통해 실행되는 사용자의 눈에 보이는 화면이다. 그 예로는 카카오톡 애플리케이션의 채팅목록, 친구목록 화면을 들 수 있다.

- Service는 사용자의 눈에 보이지 않고 백그라운드에서 실행되는

작업으로, 그 예로는 카카오톡 애플리케이션을 실행하지 않더라도 메시지가 도착하면 알림이 뜨는 것을 들 수 있다. Service는 거의 항상 백그라운드에서 실행되기 때문에 메모리 점유와 배터리 소모에 대한 최적화가 중요하게 여겨진다.

- 본 연구에서는 Activity와 Service 두 가지를 모두 활용하는데, 사용자가 Activity를 실행하고 버튼을 클릭하여 Service를 시작하거나 종료하는 구조로 제작할 예정이다.

(4)

○ RSSI값을 이용한 거리 측정

   × log  

   × 

  

공식 1 공식 2

d = 비콘까지의 거리, n = 전파손실도

- RSSI값은 Bluetooth등의 비콘 통신에서의 신호 세기를 나타내는 값으로, 이를 적절히 활용하면 비콘까지의 거리를 측정할 수 있다.

- 위 표의 공식1은 비콘의 TxPower값과 비콘까지의 거리를 이용하여 신호세기 RSSI를 구하는 공식이다. 이 공식을 변형하면 d를 구하는 공식 2로 변형시킬 수 있다. 본 연구에서 비콘 역할을 할 Arduino 신호등 기기에는 HM-10 BLE 칩셋을 장착하였고, 이 칩셋의 TxPower는 기본적으로 –59로 설정되어 있다. 전파손실도의 경우 특별한 장애물이 없는 일반적인 공간에서는 2로 계산하면 된다. 공식 2에서 TxPower에 –59를,

n에 2를 대입하면   

   

와 같은 식이 구해지는데, 이 식에 RSSI값만 대입해주면 비콘까지의 거리를 구할 수 있다. 애플리케이션에서는 Service를 통해 주변 BLE기기를 하고, 이 기기의 RSSI 신호 값을 받아와 위 공식에 대입하여 거리를 구하는 방법을 이용할 것이다.

□ 유사 선행 연구

○ 시각장애인 신호등 녹색불 점등 알림 애플리케이션

- Arduino를 활용하여 기존의 신호등을 개선하고자 했다는 점에서는 본 연구와 유사하 나, 스몸비를 대상으로 하는 본 연구와는 다르게 시각장애인을 대상으로 한다는 점에서 차이가 있다. 기존 신호등에 대해 시각장애인이 갖는 문제점과 스몸비가 갖는 문제점은 다르기에 본 연구는 이 선행 연구와는 거리가 있다.

○ 스마트폰에 집중하는 보행자를 위한 바닥신호등

- 해외에서는 스몸비의 교통사고 문제를 해결하기 위해 기존의 전봇대 신호등 대신 바닥 점자 보도블럭에 신호등을 내장하는 바닥신호등을 설치하기도 한다. 우리나라 역시 일부 지자체에서 이러한 바닥신호등 을 설치하였는데, 관할 경찰서와의 협의 없이 지자체에서 임의로 설치 한 장치이기에 관할 문제로 인해 현재 사용이 불가능하여 꺼둔 상태라 고 한다. 이처럼 스몸비들을 위한 바닥신호등이 설치되어있더라도 실제로 동작하지 못한다면 그 효과를 볼 수 없다.

□ 연구주제의 선정

○ 사회적으로 이슈가 되는 실생활 속의 문제 찾기

- 지난 1월, 포켓몬 고 증강현실 게임이 출시되었다. 길을 걸으며 캐릭터를 수집하는 게임의 특성상 스마트폰에 집중하며 길을 걷게 되는데, 이에 따른 교통사고 역시 발생률 이 증가하고 있다. 연구 주제를 선정하기 위해 팀원들과 회의를 하던 시기에 이러한 교통사고에 대한 뉴스를 많이 보게 되었고, 팀원 중 한명이 실제로 유사한 원인의 교통사고를 당했던 경험을 떠올리게 되면서 ‘보행 중 스마트폰 이용으로 인한 교통사고’

라는 문제를 더욱 심각하게 받아들여 이 문제를 해결하는 것을 이 연구의 목적으로 삼게 되었다.

○ 팀원들의 관심사와 연계하여 문제 해결하기

- 팀원들의 관심사는 IT, 컴퓨터, 물리 등 공학에 관련되어 있다. 그래서 최근 사회의 이슈가 되고 있는 ‘스몸비 교통사고 발생률 증가‘라는 문제점을 공학을 이용해 해결할 방법을 찾아보는 것을 본 연구의 목표로 정하였다.

□ 연구 방법

○ 본 연구의 필요성을 파악하기 위한 설문조사

- 본 연구를 진행하기에 앞서 ‘보행 중 스마트폰을 이용하는 것’에 대한 설문조사 2가지를 진행하였다. 조사 지역은 학교 주변의 유동인구가 많은 신림역, 서울대입구역 일대이며, 조사 대상은 스마트폰을 이용하는 10~30대 남녀이다.

○ Pedetector 프로젝트의 동작 구조

- Pedetector 프로젝트는 Android 스마트폰 애플리케이션, Arduino 신호등 기기, php 서버로 나누어진다. 이 세 요소가 서로 상호작용 하여 스몸비들의 스마트폰으로 교통사고에 대한 경각심을 일깨워 줄 수 있는 기능을 하도록 하는 것이 Pedetector 프로젝트의 목표 이다.

○ Android 애플리케이션 프로그래밍

- 본 연구의 목표는 ‘스몸비들의 교통사고 발생률 낮추기’이다. 이에 따라 스몸비들의 공통점인 ‘스마트폰에 집중한다’는 점을 고려하 여 스마트폰 애플리케이션을 제작하여 본 연구의 목표를 이루고자 한다.

- 애플리케이션 프로그래밍은 Google Play 스토어에서 다운로드가 가능한 AIDE 애플리케이션을 이용하였다. 무료버전의 경우 사용

가능한 기능에 제약이 많기에 이전에 구매하여 사용중이던 유료버전(약 \11,000)을 이용하여 프로그래밍을 진행하였다.

(5)

○ Arduino 신호등 기기 제작

- 본 연구에서는 기존 신호등을 개선하여 스마트폰과의 통신을 통해 스몸비들의 교통사고 발생률을 줄이는 것을 목표로 하였다. 그러나 도로에 설치되어 있는 신호등을 활용하여 연구를 진행하기에는 현실적으로 무리가 있기에 Arduino 를 활용하여 신호등과 유사한 기능을 하는 기기를 제작하고 이를 사용하여 연구를 진행하였다.

- 신호등 기기는 크게 ‘하드웨어’와 ‘Arduino 보드와 그 소프트웨어’로 나누어진 다. Arduino UNO R3보드에 ESP8266 WiFi칩셋과 HM-10 BLE칩셋을 장착하고 Arduino Sketch 프로그램을 이용하여 신호등과 유사한 기능을 하는 기기를 제작하여 연구에 사용하였다.

- 최근 지구온난화의 진행 속도를 낮추고 환경오염을 줄이기 위한 여러 가지 노력들이 많이 보이고 있다. 이에 따라 Pedetector 프로젝 트에서도 Arduino 기기를 신호등에 장착할 때 사용할 커버에 환경 친화적인 디자인을 적용할 것이다. 옆 사진은 연구 초반에 환경 친화 적인 디자인을 위해 구상했던 무당벌레 모양 커버의 스케치이다.

○ php 서버 프로그래밍

- php 서버는 본 연구에서 Android 애플리케이션과 Arduino 신호등 사이를 이어주는 역할을 하게 된다. 그런데 이 서버를 직접 운영하기에는 금전적인 무리가 있기에 Dothome 웹 호스팅 업체의 무료 호스팅 서비스를 신청하여 본 연구에 사용하였다.

- php 프로그래밍은 Eclipse PDT를 활용하여 진행하였으며, FTP 기능을 이용하여 서버로 업로드 하였다. php 서버에서 Android 애플리케이션으로 알림을 보내는 과정에서는 Google Firebase 서비스를 활용하였다. Firebase 서비스는 직접 개발한 애플리케이션 으로 푸시알림을 전송하는 등의 서버가 필요하고 구축이 비교적 어려운 기능들을 쉽게 활용할 수 있도록 Google에서 운영하는 서비스이다.

□ 연구 활동 및 과정

○ 초반에 계획했던 애플리케이션/서버/신호등 기기의 동작 구조

애플리케이션 신호등 기기 php 서버 동작 구조 동작 구조 동작 구조

- 왼쪽부터 순서대로 Android 애플리케이션, Arduino 신호등 기기, php 서버의 대략적인 동작 구조도를 그린 것이다.

- 이 3개의 각 구성 요소들이 통합되어 서로 상호작용하며 동작하는 구조는 다음 그림과 같다.

(6)

3. 연구 결과 및 시사점

□ 연구 결과

○ 연구의 필요성 파악을 위한 설문조사

- 연구를 진행하기에 앞서 유동인구가 많은 지 역에서 10~30대 스마트폰 이용자들을 대상으 로 설문조사를 진행한 결과 그래프이다. 설문 조사는 ‘스마트폰을 보며 횡단보도를 건넌 경 험이 있는가?’와 ‘스마트폰을 보며 길을 걷다 가 교통사고를 당할 뻔 한 경험이 있는가?’의 두가지 질문으로 진행하였다.

- ‘스마트폰을 보며 횡단보도를 건넌 경험이 있는가?’에 대한 조사 결과, 총 답변자 136명 중 99명(약 73%)가 스마트폰을 보며 횡단보도를 건넌 경험이 있다고 답변하였다.

- ‘스마트폰을 보며 길을 걷다가 교통사고를 당할 뻔 한 경험이 있는가?’에 대한 조사 결과로는 총 148명 중 33명(약 22%)가 교통사고를 당할 뻔 한 경험이 있다고 답변하였 다. 22%라는 수치는 실제 교통사고 발생률과는 조금 차이가 있겠지만, 100명 중 20명은 교통사고를 당했거나 당할 뻔 한 경험이 있다는 것을 의미한다. 이 수치는 결코 작은 수치가 아니기에 이 설문조사를 통해 본 연구의 필요성을 다시 한 번 인식할 수 있었다.

○ Android 애플리케이션 프로그래밍

- 본 연구에서 개발한 애플리케이션에는 1개의 Activity와 2개의 Service가 포함되어 있다.

MainActivity에서는 Service 두 개를 켜고 끄는 작업을 수행하며, BTService에서는 주변 BLE 신호등 검색작업, FirebaseMessageService에 서는 알림이 수신되면 이 알림을 토스트알림,

상단바 알림, 이어폰을 착용중이라면 추가로 음성알림까지 3가지 방법을 통해 사용자 에게 횡단보도 신호등에 녹색불이 켜졌음을 알려주는 작업을 한다.

- 왼쪽 코드는 BTService.java의 일 부이다.

- 주변 BLE 기기를 검색하고 반경 3m 이내에서 Pedetector 신호등 이 검색될 경우 해당 신호등의 기 기명이 알림 라벨로 지정된 알림 을 수신할 수 있도록 Firebase 서 버로 설정 변경 요청을 진행한다.

- 왼쪽 코드는 알림을 수신 하여 사용자에게 표시하는

작업을 하는

FirebaseMessageService.j ava의 일부이다. Firebase 서버로부터 알림이 수신되 면 이 메시지를 상단바 알 림, 토스트 알림, (이어폰을 착용중인 경우에만) 음성 알림의 세가지 방법으로 사용자에게 표시해준다.

왼쪽 스크린샷은 토스트 알림을 통해 녹색불이 켜졌음이 표시된 화면을 캡처한 것이다. 토스트 알림은 잠시동안 화면에 나타났다 가 사라지는 알 림이다.

왼쪽 스크린샷은 상단바에 알림이 나타난 화면을 캡처한 스크린샷 이다.

(7)

○ php 서버 프로그래밍

- 먼저 php 서버의 간단한 구조이다. 서버에는 현재 push_notification.php파일과 config.php파일 2개가 저장되어 있다. push_notification.php를 Url 뒤에 파라미터를 입력하여 실행하면 push_notiicaton.php에서는 해당 파라미터를 알림 라벨로 지정한 Firebase 알림 메시지를 작성하여 Google FCM 서버로 알림 전송 요청을 진행한다.

이때 Google FCM 서버로 요청을 보내는 과정에서 필요로 하는 Google API Key는 config.php에 저장되어 있으며, push_notification.php에서 이를 참조하여 FCM 서버로 요청을 보낸다.

- 서버는 현실적으로 직접 운영하는 것이 불가하다고 판단하여 외부 호스팅 업체인 Dothome사의 무료 호스팅 서비스를 활용하여 구축하였다.

- 왼쪽 코드가 push_notification.php 파일의 코드 이다. Google FCM 서버에 요청을 보내는 부분에 서는 HTTP Post를 활용하였다.

- 위 코드는 Google API key가 저장되어 있는 config.php 파일이다. 해당 API Key가 있어야만 연동된 FCM 서버로 알림 전송 요청이 보내진다.

○ 신호등 기기 제작 – Arduino 프로그래밍

- 제작한 Arduino 신호등의 소프트웨어 작동 구조도이 다. 평상시에는 적색등을 켜 고 있다가 버튼이 클릭되면 WiFi 네트워크를 통해 php 서버로 알림 전송 메소드를 실행하라는 요청을 전송하고, 녹색불을 점등한다.

- Arduino 기기에는 HM-10 BLE칩셋과 ESP8266 WiFi칩셋이 장착되어 있는데, WiFi 칩셋 은 php서버와의 통신에서 사용되며 이 통신 과정에서는 TCP통신을 활용한다.

- BLE 칩셋은 따로 사용하지 않고 단지 주변 기기가 Pedetector 신호등을 검색할 수만 있게 해 두었는데, 이는 Android 애플리케이션이 주변 BLE기기를 검색할 때 Pedetedector 신호등임을 감지하여 알림 수신을 활성화할 수 있도록 하기 위함이다.

- 위 코드는 Arduino 소프트웨어를 프로그래밍한 코드 중 버튼이 클릭된 경우 실행되는 if 조건문만을 캡처한 사진이다. ESP8266칩셋과의 시리얼통신을 통해 php 서버로 HTTP Post를 활용한 알림 전송 메소드 실행 요청을 전송한다. 전송이 완료된 후에는 녹색불을 점등하고 5초 뒤부터는 점멸신호로 변경한 뒤 다시 5초 뒤에는 적색등으로 다시 되돌아오 도록 하였다.

○ 신호등 기기 제작 – 하드웨어 디자인

- 연구 계획을 진행할 당시 논의했던 대로 환경 친화적인 디자인을 적용 하기로 하였고, 그 디자인으로써 무당벌레 디자인을 채택하였다. 무당 벌레는 반구 형태로 생겼기에 제작하기 위한 소재를 선정하는 과정에 서 여러 가지 시행착오가 있었다. 처음에는 플라스틱 상자를 잘라 제작 하고자 하였으나, 플라스틱 상자의 경우 유연성이 떨어지고 평면으로 되어있기에 반구 형태를 제작하기에는 적합하지 않았다. 다음으로 선

(8)

정했던 소재는 3D프린터를 이용하는 방법이었다. 그러나 이는 여러 가지 이유로 활용하지 않게 되었는데, 그중 가장 큰 이유는 난이도였다. 전문가를 통해 사용법을 익 힌 뒤 우리가 원하는 모양을 제작하고자 하였으나, 주변 선생님들이 6개월이라는 연구기간 내에 우리가 원하는 모양을 제작할 수 있을 정도로 3D프린터에 익숙해 지는

것이 힘들 것이라는 말씀을 하셔서 3D프린터를 활용하는 방법 역시 제외하게 되었다.

- 그러던 중 알게된 소재가 물라스틱 이었다. 물라스틱은 3D프린터에 쓰이기도 하는 소재로, 끓는 물에 넣으면 녹아서 점토처럼 변해 다루기가 쉬워지지만 상온에서는 완전히 굳어 단단한 플라스틱으로 변하는 신소재였다. 우리는 이 물라스틱을 최종 소재로 선택하였고, 이를 이용해 반구형태의 무당벌레 커버를 제작한 뒤 도색 작업을 마치고 제작을 완료하였다.

- Arduino 기기의 커버는 물라스틱을 이용하여 위와 같이 제작하였고, 신호등 전체 기기 하드웨어의 제작은 이전에 사용하려다 포기했던 플라 스틱 상자를 이용하였다. 쇠 파이프를 세워 신호등 기둥을 세우고 플라 스틱 상자를 잘라 LED를 부착할 신호등 부분을 제작하였다. 기둥 중간 위치에는 무당벌레 커버를 케이블타이를 이용하여 고정함으로써 신호 등 제작을 완료하였다.

○ 전체 Pedetector 프로젝트의 동작

- Android 애플리케이션, php 서버, 그리고 신호등 하드웨어 이 세가지가 연동하여 동작 하는 최종 목표에는 도달하였다. 연구 초기에 동작 구조도에서 크게 변경된 사항은 없었다.

-

전체 Pedetector 프로젝트의 동작 구조

▲Pedetector 동작 영상

□ 시사점

○ 이전에는 활용할 기회가 없어 다뤄보지 못했던 Bluetooth 통신을 활용한 프로젝트를 진행하며 Bluetooth 통신은 단순히 무선통신이 아니라 눈에 보이지 않는 부분에 내가 모르던 많은 것들이 존재함을 알게 되었다.

○ Google Firebase 서비스를 활용한 프로젝트 개발을 처음으로 해보게 되었는데, 만약 이것이 존재하지 않았다면 푸시알림을 구현하는 것이 얼마나 힘들었을까 라는 생각을 해보게 되었다.

4. 홍보 및 사후 활용

□ 스몸비 이외의 보호 대상

○ 현재 우리 사회에는 스마트폰 이용자 이외에도 도로 위에서 보호를 받아야 한다고 생각되는 대상들이 여럿 있다. 그중 하나로는 시각장애인을 예로 들 수 있다. 현재 시각장애 인이 횡당보도를 건너기 위해서는 타인의 도움을 받거나 신호등의 버튼을 직접 눌러 녹색불 음성 안내기를 활성화하는 방법을 이용해야 한다. 그런데 이 버튼을 누르는 과정에 서 교통사고가 발생하기도 해서 문제가 된다. 시각장애인이 본 연구에서 제작한 애플리케 이션이 설치된 스마트폰을 소지한 채로 횡단보도의 접근할 경우, 녹색불이 켜진다는 알림 을 진동이나 음성과 같은 방법을 통해 알려줌으로써 시각장애인의 횡단보도에서의 교통사 고를 조금이나마 줄일 수 있을 것으로 생각된다.

○ 시각장애인 이외에도 강력범죄의 주요 대상이 되는 여성과 어린이를 보호하는 기기로 써 활용이 가능하다. 강력범죄가 다수 발생한 지역의 가로등에 본 Bluetooth 기기를 설치함 으로써 스마트폰에 애플리케이션이 설치된 보행자가 이 지역에 진입한다면 '강력범죄 다수 발생 지역입니다. 주의하십시오.'와 같은 알림을 표시하여 주변에 조금 더 주의를 기울이도록 할 수 있다.

□ 보행자 보호 목적 이외의 길안내 목적으로의 활용

○ 현재 우리나라에는 다수의 길 찾기 서비스 제공 업체가 존재한다. 이 업체들의 공통점은 GPS나 무선통신을 이용해서 보행자의 위치를 파악한다는 점인데. GPS의 경우 터널이나 지하에서는 동작하지 않으며, 무선통신을 아용한 위치 측정의 경우 정확도가 떨어진다는 단점을 가지고 있다. 본 연구에서 제작한 기기를 활용한다면 길 찾기 서비스에서는 주변의 Pedetector 기기를 검색하고 그 일련번호를 이용해 위치를 파악함으로써 위치 정확성을 높일 수 있을 것으로 보인다.

5. 참고문헌

□ 스몸비, 보행자 교통사고 관련 뉴스기사

권기범(2017), 횡단보도 건너던 보행자와 ‘쾅’…‘포켓몬고’ 국내 1호 교통사고, 동아일보 https://goo.gl/RzXsd1

김준억(2016), “보행자 26% 횡단보도 건널때도 스마트폰 본다”, 연합뉴스

(9)

https://goo.gl/cXZys9

김현우(2016), 위험천만 도로 위 '좀비'...보행 중 스마트폰 그만!, YTN https://goo.gl/GU44Lc

박상률(2017), 스마트폰 때문에…교통사고 사망 ‘보행자 > 승차자’, 연합뉴스 https://goo.gl/jbP77f

송혜리(2017), 첨단 IT기술 기반 `대국민 서비스`… 재난 · 환경문제 해결로 확대 적용, 디지털타임스

https://goo.gl/JNVrPP

현승훈(2017), 포켓몬고, 안전사고 우려에 건강도 위협, KNN https://goo.gl/mgRyzp

황혜연(2016), [핫!핫!핫! 상식사전] 스마트폰의 노예 ‘스몸비’, 뉴스마켓 https://goo.gl/pQQ835

□ 선행연구 사례

사물인터넷 융합(2016), 시각 장애인을 위한 나만의 IoT 신호등 알림 서비스 개발기,it.

의료(간병). 물류의 시너지 https://goo.gl/ZPxeG1

전준홍(2016), 첨단 '바닥 신호등' 설치하고도 무용지물, 왜?, MBC https://goo.gl/5si9Rs

□ 이론적 배경

라이니(2015), What is BLE, BLE 가 뭘 까요?, Instain https://goo.gl/cPBmjo

초보코딩왕(2013), 서비스(Service)의 기초3-서비스의 생명주기, 초보코딩왕의 Powerdev https://goo.gl/wvfd5Z

ghatdev(2015), iBeacon(비콘)을 이용한 위치 측정, Koding https://goo.gl/f3zqmk

Limky(2017), 안드로이드 Activity 생명주기(Life Cycle), Limky의 삽질 블로그 https://goo.gl/X4ywnK

□ 기타 참고문헌

미래창조과학부(2017), 2016년도 무선통신서비스통계현황, 미래창조과학부 https://goo.gl/GuLQ4r

한국과학창의재단(2014), 아두이노 기초 - LED와 버튼 제어하기, 한국과학창의재단 https://goo.gl/LXjhac

Appfour(2017), AIDE 애플리케이션 설명 페이지, GooglePlay https://goo.gl/tm66Ws

Akid Soft(2017), AWD 애플리케이션 설명 페이지, GooglePlay

https://goo.gl/bGXJR2

Google(2017), Google Firebase Cloud Messaging, Google https://goo.gl/hpxsJR

Tortuga(2015), Serial WiFi 모듈(ESP8266) 활용편, HardCopyWorld https://goo.gl/g13KMn

연구 결과 전체 Pedetector 프로젝트 동작 영상 https://goo.gl/FTyzEH

연구에 사용한 php 서버 https://goo.gl/sRJ5pY

참조

관련 문서

기존에 연구가 진행된 혈액의 일반타액단백질의 농도 분석을 통해 나타난 결과 정상인에 비해 당뇨 환자의 일반타액단백질의 농도가 높은 것으로 나타났었고, 이번 실험을

이 연구를 통하여 학생들은 에너지 자원의 유한성에 대해 깨닫고 에너지 자립 운동을 하는 과정에서 전기와 관련된 물리개념, 태양 광 발전 시설과 빗물 재활용

이 때, 본 연구를 통해 개발한 천연 녹조 제거제의 경우 버려지는 밤 부산물을 재활용 하여 원자재 가격이 매우 저렴하고, 타닌을 함유하여 녹조 제거 효과가 매우

하지만 산업이 발달되는 과정에서 미세 먼지의 발생은 어쩔 수 없는 상황인 관계로 공기중에 발생한 미세 먼지들을 어떻게 하면 쉽게 집진하고, 제거 할 수 있는

빛이 최단경로를 찾음에 대한 여러 예를 찾아보고 일상생활에서 자연의 효율적인 예를 찾아보고 함수로 표현하며 자연의 행위에서 우리의 일상 생활를 대입해본다.외 기타등등

○ 에너지 절약 신호등 홍보 - 제작된 에너지 신호등을 활용하여 에너지를 더욱 효과적으로 절약할 수 있도록 교내 게시판과 에너지 절약 신호등 아래.. 에 우리학교

성보고등학교에서는 중식, 석식 후 양치를 많은 수의 학생들이 하는 편이다. 따라서 우리 팀원들이 연구를 하는 도중에 모르는 것이 생기거나 물품이 필요할 때 자문

결론적으로 띠를 심어 토양의 변화를 관찰한 결과 수분함량과 전기 전도 도는 증가하였고 pH는 감소하였으며 띠의 개체수는 대체적으로 빠르게 증가하는 모습을 보였다..