February 22, 2018

디바이스마트 미디어:

[34호]손주야 톡해

33 아두이노  (1)

2015 ICT 융합 프로젝트 공모전 입선

손주야 톡해

글 | 단국대 이찬우, 조현우

심사평

펌테크 기획 의도와 완성도는 높은 출품작이나 실제 활용시 다양한 특성을 지닌 스마트폰에 공통적으로 적용하여 활용하기는 어려울 것으로 예상된다.

JK전자 보고서의 내용대로 우리나라의 엄청난 스마트폰 보급율과 실버 계층의 스마트폰 사용의 증가로 인해 실버 계층에도 스마트폰 사용교육의 필요성이 많아 지고 있다. 다양한 컨텐츠로 잘 구성을 한다면 굉장히 실용적으로 활용성이 높다. 스마트폰 사용 교육을 위해서 굉장히 편리하게 활용할 수 있겠고, 또한 저가의 라즈베리파이와 리눅스를 이용해서 구현을 하였기 때문에 굉장히 저렴한 비용으로 도입이 가능할 것으로 생각이 된다.

뉴티씨 노인분 혼자서 쉽게 따라할 수 있도록 차례 차례, 현재 상황을 실시간으로 연동시켜 학습에 대한 피드백을 받게 함으로써 학습 효율을 높이고, 학습한 것을 잊더라도 프로그램을 다시 실행하면 되도록 만들어져 있어 매우 실용적이다. 이 작품의 경우 약간의 수정 및 폰 꾸미기 등의 과정을 추가해 스마트폰 교육 솔루션을 제작해 판매하여도 큰 문제가 없을 정도이다.

칩센 노인 등 전자/정보기기에 친숙하지 않은 사람들에게 도움을 주는 아이디어는 좋으나, 실제 자료를 보면 도움을 주기 위해 오히려 더 혼란을 주는 느낌이다. 아이디어 컨셉은 TV나 스마트폰에 화면이 없는 단말기의 튜토리얼 가이드 등으로 활용하면 좋을 것 같다.

위드로봇 사회적 약자에 해당하는 노인층을 대상으로 ICT 기술을 접목하여 사회 적응력을 높이려는 시도는 무척 좋다. 특히 기존 교육 콘텐츠에 부족한 부분을 찾아내어 보완재로서의 기능을 구현한 것은 교육 효과를 올리는데 분명 도움이 될 것 같다. 아쉬운 부분은 전반적인 작품의 난이도는 타 작품에 비해 평이한 편에 속하며, 상품성을 지니기에는 어려운 부분이 있어 이 부분의 점수가 높게 나갈 수 없다는 점이다.

작품 개요

개발목적
현재 노인들을 대상으로 스마트폰 교육 봉사활동이 증가하고 있지만, 봉사인력이 부족하고 전문성도 떨어진다. 또한 스마트폰 교육 이후 금방 잊어 버린다는 것이 가장 큰 문제이다. 이 같은 이유로 라즈베리파이를 이용한 스마트폰 교육 컨텐츠를 제작하게 되었다.
전문성이 갖춰진 강사를 따로 고용하지 않고, 이 작품과 함께라면 동네의 스마트폰에 잘 적응한 20~30대 누구나 강사 역할을 할 수 있다. 그렇게되면 손쉽게 반복학습을 할 수 있고, 노인들의 스마트폰 사용률이 증가할 것이라 생각한다. 그러므로써 노인과 젊은이들 간의 소통이 원활해지고, 노인들이 주로 찾는 DMB를 통한 TV 시청, 길찾기 서비스등 이용이 쉬워지면서 복지에도 큰 도움이 되는 것이 목표이다.

작품개요
우리나라의 스마트폰 보급률은 세계 최고 수준이다. 하지만 노년층의 보급률은 저조하다. 그 이유는 스마트폰을 어떻게 활용해야 할지 모르기 때문이다. 하지만 스마트폰을 배우고자하는 노년층은 증가하고 있다. ‘손주야 톡해’는 IT환경에서 소외되어 있는 노인들을 위한 스마트폰 교육 컨텐츠를 제공한다.

주요특징
젊은 층이 노인 층 보다 device에 대한 습득력이 빠른 이유는 IT에 대한 배경 지식이 뛰어나고, 꾸준한 반복 학습을 통해서 익숙해지는 것이다.
큰 장점은 다른 기기없이 마을회관 같이 넓은 장소에 모니터 하나와 라즈베리파이, 스피커만 있으면 다수를 교육할 수 있다는 점이다. 장소마련이 쉬우니 쉽게 반복학습 할 수도 있다. 또한 애니메이션과 어플이 완벽히 동일한 화면으로 구성되어 있어, 애니메이션의 설명만 잘 보고 듣는다면 듀토리얼을 따라하기에 큰 어려움이 없다. 그리고 가장 기본적이고 필수적인 메뉴들로만 구성해 두었기 때문에, 이것만 배워도 스마트폰의 큰 기능들은 다 할 수 있게 된다.

작품 설명

주요 동작 및 특징
동작 방법

34 ict 손주야01 34 ict 손주야02

1. 명령어를 통해 애니메이션 실행

34 ict 손주야03

2. 플레이스토어에서 ‘손주야 톡해’를 다운받은 후 실행

34 ict 손주야04 34 ict 손주야05

3. 버튼을 통해 다음화면으로 접속하게 되면 어플로 접속해있는 총 인원이 애니메이션상의 ‘전체인원’에 나오게 되면서 진행된다.

34 ict 손주야06 34 ict 손주야07

4. 어플을 실행하게되면 자동으로 라즈베리파이 WIFI에 연결이 되며, 연결에 실패할 경우 어플이 실행되지 않는다. 정상적으로 연결이 되면 애니메이션상에는 접속한 인원의 숫자가 올라가고, 어플은 아래 화면과 같이 버튼이 나오게 된다. (다수의 인원이 함께 진행할 경우 개인적으로 시작되는 것을 막기위해 버튼을 통해서 접속한 인원과 버튼을 누른 인원이 동일할 경우 애니메이션과 어플 모두 다음 화면으로 진행이 된다.)

34 ict 손주야08

5. 애니메이션과 똑같은 행동을 어플상에서 진행했을 경우 이벤트가 발생하여 ‘성공 인원’ 카운트가 올라가게 되고, 다수의 인원이 동시에 진행할 시, ‘전체 인원’과 ‘성공 인원’이 같아지면 다음 애니메이션으로 넘어간다.

특징
사전기술 검토사항(참고사이트 및 유사 기술내용)
검토 결과, 스마트폰을 위한 교육 어플은 따로 없고, 주로 청소년들이 단체 봉사활동으로 어르신들을 찾아가서 잠깐 알려드린다던가, 특정 시간 어느 장소로 모이게해서 스마트폰 강사가 교육해주는 경우가 있다. 하지만 청소년들의 봉사활동 경우와 스마트폰 강사분들의 공통된 단점은 특정시간, 장소가 정해져 있다는 점과, 반복적으로 교육받기 어렵다는 점이다.
스마트폰에 익숙해지려면 무엇보다도 계속 만져보고 이것저것 눌려보면서 반복학습을 통해 익숙해지는 것이 가장 중요하다. 이러한 점을 보완할 수 있는 것이 바로 이 작품이라고 생각한다.

본 프로그램의 창의성
따로 스마트폰 교육 어플을 본 적은 없지만, 강사분들이 PPT 자료 등으로 교육하는 걸 본 적이 있다. 얼핏 보면 이 작품의 애니메이션 설명과 PPT가 뭐가 다르냐고 하겠지만, 굳이 라즈베리파이로 애니메이션을 만들고 실제 핸드폰과 유사한 어플을 직접 만든건 이벤트를 받기 위해서이다. 특정 행동을 하라고 노인분들에게 알려드렸을 때 쉽게 따라하는 분도 계실 것이고, 못 따라하는 분들도 계실 것이다. 또 잘못했는데 맞게 했다고 착각하시는 분들도 있을 것이다. 그런 점을 방지하기 위해 이 작품에서는 애니메이션에서 지시하는 행동을 했을 경우, 그리고 참가인원이 모두 다 행동을 했을 경우에만 이벤트가 발생해서 다음 화면으로 넘어가게 된다. 능숙한 어르신이 있어서 행동을 쉽게 했을 때는 먼저 다음 화면을 진행하는 것이 아니라, 옆사람을 알려주면서 어르신들만의 방식으로 서로 이해를 돕는 것이 큰 학습효과를 가져온다고 생각한다.

본 프로그램의 기술적 차별성
이 작품의 독보적인 차별성은 교육을 위해 강사를 초청한다던지, 따로 공간을 마련해서 모이는 것이 아니라 단순한 마을회관 같은 곳에서 라즈베리파이와 모니터만 있으면 쉽게 접근 할 수 있다는 점이다.
물론 스마트폰 시작 단계에서부터 노인 혼자선 할 수 없으므로, 처음에는 강사로부터 교육을 받는 것이 맞다. 하지만 그 다음부터는 애니메이션만 틀어져 있으면 따로 시간을 내지 않고 마실 나가듯이 마을회관에가서 장난처럼 연습해볼 수 있고, 반복학습을 하면서 스마트폰에 익숙해 질 것이다. 또 애니메이션 하나로 여러명이 함께 하면서 서로 모르는 부분을 채워주고 알려주면서 학습효과가 높아진다.

응용분야
응용 가능성
현재 WIFI 동글을 이용하여 통신을 하는 경우에는 데이터 연결이 되지 않아 인터넷 사용이 불가능하다. 이 점을 보완한다면, 노인분들이 사용하실만한 간단한 날씨정보라던지, 길찾기, 실제 카카오톡, DMB 이용법 등을 구현하면서 좀 더 실용적인 애니메이션 및 어플개발이 가능하다. 또한 현재는 명령어를 입력하여 애니메이션을 실행시키지만, 라즈베리 전원입력 후 GUI 화면이 실행되면서 곧바로 애니메이션이 실행되게끔 한다면, 훨씬 편리하게 이용이 가능하다고 생각한다. 그리고 스토어에서 Microsoft Remote Desktop이란 어플을 이용하면 핸드폰으로도 라즈베리파이에 접속할 수 있다. 그러면 반드시 모니터가 아니더라도 주변인의 핸드폰을 잠깐 빌려서 하나로는 어플을 실행하고 하나로는 라즈베리파이에 원격 접속을 하여 사용할 수도 있다.

기대효과
어르신들이 스마트폰을 가지고 있지만, 주로 사용하는 내용은 전화, 메세지 보내기 정도이다. 간단한 WIFI라던지 데이터에 대한 개념이 없고, 어려운 내용이 아님에도 불구하고 아무거나 누르기엔 무섭기 때문에 전화,메세지 보내기에서 더 이상 진도를 나가질 못하신다. 하지만 애니메이션에서의 교육대로만 따라 반복한다면 장난감처럼 부담없이 핸드폰을 이용할 수 있다. 이렇게 노인분들의 스마트폰 보급률이 늘어나고, 세대간의 소통이 원활해 진다고도 할 수 있다. 따라서 시골에서 홀로 지내시는 노인분들이나, 독거 노인분들의 외로움을 스마트폰으로 달랜다고 해도 과언이 아니라고 생각한다.

전체 시스템 구성
전체 구성

34 ict 손주2
Hardware 구성

34 ict 손주03
전원은 5V DC 전원 커넥터가 있는데 일반 핸드폰 충전기를 통해서 전원을 공급하였다. HDMI포트와 커넥터를 통해서 모니터에 애니메이션 출력 했고, Audio(3.5mm) 단자를 통해서 스피커와 연결했다. 핸드폰과의 통신을 위해 USB 2.0 포트에는 WIFI 동글(ipTiME N100mini)을 연결하였다. OS는 리눅스계열 라즈비안을 이용하였고, OS와 데이터를 담기 위해 16GB SD카드를 사용하였다.

34 ict 손주야10 34 ict 손주야11

 

Software 구성

34 ict 손주04

Software 기능
Application
가. Main
접속시 android WifiManager API를 이용 ‘RasAP’ wifi로 연결 후 서버에서 신호를 보내면 신호를 받고 시작화면으로 Server에서 보낸 시작 신호를 받으면 듀토리얼 시작 Log로 확인하여 테스트 하였다.

34 ict 손주05

Main 화면은 안드로이폰 런처와 비슷하도록 VIewpager로 구성하고 Hotseat 부분은 fragment로 구현하였다.

나.Socket 통신
각각 버튼마다 Listener를 설정하여 Socket 연결이 연결 되었으면 서버에서 보낸 Message를 Handler로 잡아내어 다음 이벤트를 주기 위한 준비를 시켰다.

다. 카카오톡 주소록 카메라 갤러리
주소록 전화 부분에서 TabHost를 사용해 전화와 주소록 부분으로 나눴다. 주소록의 사람 (이름) 검색에서 DB에서 저장된 목록을 ArrayList에 배치, 저장한 컬렉션에 접근하기 위해 Collection 인터페이스 Iterator로 접근 후 String 클래스 기본함수 contains로 이름이 없을 경우 바로바로 지우고 그리는 형식으로 만들었다. 전화부분에서 지역번호(02,041,031,010) 를 맞추어 ‘-’ 생기고 DB에 저장했던 사람들이 화면에 등장하여 실제 전화랑 비슷하게 만들도록 노력했다. 듀토리얼 하면서 실제로 저장한 사람에게 전화 영상통화 문자를 사용하여 실제로 본인들도 하여금 흥미를 가지도록 했다. 카카오톡 부분에서 ViewPagerIndicator Library를 사용하여 최대한 카카오톡과 비슷한 느낌을 주었다. 프로필 사진 이름 상태메세지 설정에서 가상으로 대화하는 것까지 구현화하여 노인들이 제일 어려워하는 카카오톡 부분을 잘 설명하려 노력했다.

34 ict 손주야15 34 ict 손주야16

카메라 갤러리는 내부 저장소에서 사진 경로를 가져와서 PagerView에서 Bitmap형식으로 이미지를 끼워주어 넘기는 형식으로 카메라로 찍은 사진을 바로 갤러리에서 확인할 수 있도록 했다.

라즈베리파이
화면을 담당하는 JFrame에서는 Toolkit의 getScreenSize()함수를 이용하여, 어느 모니터에서 실행하여도 전체화면이 나와서 크게볼 수 있도록 설정해 놓았다.
paint에서는 buffer를 이용하여 버퍼를 생성해 놓고, gContext를 이용하여 이미지를 저장한 후, drawImage를 통해서 이미지를 그린다. Frame 이미지는 고정 이미지여서 상관없지만, Finger 이미지 같은 경우 반복적으로 움직여줘야 한다. 따라서 x,y 위치 값을 변화시키고, repaint 함수를 이용하여 그리고, 지우고를 반복하여 움직이는 것처럼 보이게 할 수 있다. 또한 repaint의 버벅거리는 움직임을 방지하기 위하여 더블버퍼링을 update함수 및 buffer, gContext로 구현하였다.
애니메이션에서는 Finger의 움직임만 바꿔주면 되기 때문에 손가락의 움직이는 방향에 따라서 x축으로만 이동하는 xMOVE, y축으로만 이동하는 yMOVE, 손가락 움직임 없는 notMOVE 등, 방향에 따른 함수를 만들어 놓아서, 일정 값만 넣어주면 쉽게 애니메이션을 구현할 수 있다. xyMOVE, yxMOVE같은 함수는 x축과 y축 모두 이동하기 때문에 fingercount라는 변수를 만들어서 x축이나 y축으로 일정 횟수만큼 반복하면 y축, x축으로 움직이게 만들었다.
그리고 어플리케이션으로부터 전송받은 값(SuccessCount)이 총 인원수(CurrentCount)와 동일할 경우 현재 애니메이션이 종료되고, 다음으로 넘어가게 알고리즘을 짜두었다. 서버부분은 애니메이션이 시작됨과 동시에 서버쓰레드 쓰레드가 시작된다. 서버에 클라이언트가 한명씩 들어올때마다 getRandomString 함수를 이용하여 name을 정해주고, HashMap에 저장된다. 서버가 시작되면서 따로 클라이언트 쓰레드를 만들어 놓았고, 어플에서 일정값을 전송받으면, 그에 맞는 값을 다시 클라이언트로 보내서 CurrentCount(전체인원)과 SuccessCount(성공인원)를 증가시킨다.

개발 환경(개발 언어, Tool, 사용시스템 등)
주 언어는 JAVA이고 S/W로는 서버제작 및 애니메이션 구성에 이클립스, APP제작에는 안드로이드 SDK를 사용하였다. Adobe PhotoShop CS2, 그림판을 통해 기본 이미지를 편집하였고, 음성녹음은 TTS사이트 및 곰녹음기를 통해서 진행했다. 또한 라즈베리파이와의 파일전송을 위해 SAMBA를 설치하였고, putty프로그램을 이용해서 PC상에서 라즈베리파이에 접근할 수 있었다. 그리고 라즈베리파이상에서의 애니메이션 구동을 위해 java 및 Eclipse를 설치하였다.

완성

34 손자야 (2) 34 손자야 (3)
34 손자야 (6) 34 손자야 (1)

단계별 제작 과정
11.01 ~ 11.14 아이디어 회의 및 신청서 작성
11.14 ~ 11.30 개발환경구축 및 개발분야 공부
12.25 ~ 01.18 작품 개발 및 완성.
01.19 ~ 01.25 테스트 및 수정

기타(참고문헌 등)
남궁 성 , 『Java의 정석』 , 도우출판(2010)
천인국 , 『그림으로 쉽게 설명하는 안드로이드 프로그래밍』 , 생능출판(2014)
김상형 , 『안드로이드 프로그래밍 정복1』 , 한빛미디어(2014)
김상형 , 『안드로이드 프로그래밍 정복2』 , 한빛미디어(2014)

 

 

Leave A Comment

*