서청협 - 클라우드에 접속 가능한 디스플레이 내장형 책상

MIE capstone
2012430034 (토론 | 기여)님의 2018년 6월 19일 (화) 21:18 판 (제약 사항)
이동: 둘러보기, 검색

프로젝트 소개

프로젝트 명

국문 : 클라우드에 접속가능한 디스플레이 내장형 책상(뉴스데스크)
영문 : Display-integrated desk with access to the cloud(NEW'S DESK)

프로젝트 기간

2018.03.02 ~ 2018.06.15

팀 소개

팀명 :

국문 : 서울청년혁신기술개발협동조합
영문 : Seoul Young Innovation Technology
Development Cooperative

팀원 :

서울시립대학교 기계정보공학과 20124300** 호*민 (팀장)
서울시립대학교 기계정보공학과 20124300** 정*식
서울시립대학교 기계정보공학과 20124300** 오*석

프로젝트 개요

요약

이 책상은 내부에 디스플레이가 내장되어 pdf, 동영상 출력으로 학습 자료를 대신하는 동시에 내장된 터치 디스플레이를 이용하여 필기 및 시스템 제어를 수행한다. 사용자 정보를 인식하여 개인 클라우드에 접속, 자료를 받아올 수 있고 작성한 필기 및 수정된 자료를 업로드할 수 있다. 디스플레이 위에는 강화유리와 필름을 씌워 일반 책상과 동일한 쓰임새와 외형을 갖도록 한다.

개발 배경

과거에 강의를 들으며 공부하는 방식은 두꺼운 전공 책을 가방에 넣고 다니며 수업 내용을 열심히 필기하는 것이 주를 이뤘다. 최근에도 이는 마찬가지이지만 스마트 기기 및 노트북의 대중화로 인해 두꺼운 전공 책을 pdf 파일로 대체하고 개인기기에 강의 내용을 정리하는 학생들이 점점 많아지고 있다. 이러한 추세에 따라 책을 완전히 대체하고 개인 학습 자료를 클라우드로 관리할 수 있게 하는 학습용 책상을 만들고자 한다. 비슷한 제품인 델의 SmartDesk, HP의 Sprout, MS의 Surface Studio가 창작 중심 활동에 초점을 맞추고 있고 상당한 고가품이다. 반면에 이 책상은 초점을 학습에 맞추고 있고 가격도 상대적으로 저렴하다. 또한 상기의 제품들은 디스플레이가 드러나는 구조를 하고 있어 책상의 기능을 할 수 없다.

프로젝트 목적 및 기대효과

이 책상은 개인자료를 클라우드에 저장하기 때문에 자료의 보관 및 관리가 쉽다. 또한 각각의 사용자 정보를 구별해서 인식할 수 있어서 사용자는 어떤 책상에서도 본인의 클라우드에 접근할 수 있다. 이와 같은 멀티유저 특성과 보급형 PC 한 대 가격보다 저렴한 가격 경쟁력을 바탕으로 교내 도서관이나 강의실, 라운지와 같은 공공장소에 보급을 기대할 수 있다. 책과 종이를 사용하지 않음으로써 종이 절약을 통해 환경에 이바지할 수 있는 점 또한 기대할 수 있다.

개발 목표

서청협개요.png
(가) User-Friendly Interface
사용자가 직관적으로 사용할 수 있도록 제작
(나) Smart Desk Platform
플랫폼을 통하여 사용자와 클라우드 간의 통신
(다) 외형적 특성
플랫폼을 사용하지 않을 때는 일반 책상처럼 사용가능


프로젝트 설계

개발 일정

11.jpg

시나리오

서청협시나리오.jpg

목적계통도

서청협목적계통도.jpg
  • 편의성
클라이언트 프로그램은 사용자가 ‘뉴스데스크’와 직접적으로 소통하는 부분이다. 따라서 사용자가 편리하게 사용할 수 있도록 제작해야한다. 로그인 한 번으로 자신의 클라우드를 이용할 수 있게 만든다. 그리고 조작에 있어서 생소할 수 있는 사용자들을 위해서 튜토리얼 모드를 제작한다. 또한, 최대한 직관적으로 사용할 수 있도록 만든다.
하드웨어 중 화면 출력을 담당하는 디스플레이는 사용자가 보기 편하게 조절 가능하다. 기울기를 조절할 수 있는 장치를 부착하여 조절할 수 있게 만든다. 또한 하드웨어 전체적으로도 사용자가 직관적으로 사용할 수 있도록 제작한다.
  • 보안성
서버에서는 사용자의 회원정보와 사용자가 사용하는 구글 드라이브의 이용정보를 저장하고 있다. 따라서 보안이 필수적으로 필요하다. 데이터베이스에 저장할 때 암호화 과정을 거쳐서 저장한다. 그리고 클라우드에 접속할 때 암호화해서 저장해놓은 정보를 복호화 과정을 거친다.
클라우드는 ‘구글 드라이브’를 사용할 예정이라서 ‘구글 드라이브’ 자체의 보안을 유지할 계획이다.
클라이언트 프로그램에서는 NFC 태그로 인식한 후 간단한 PIN번호 입력으로 로그인할 수 있게 만든다. 그리고 클라이언트 프로그램에서 클라우드에 데이터를 전송할 때는 ‘구글 드라이브’의 보안을 사용한다. ‘뉴스데스크’ 자체 서버와 통신할 때는 https 방식 통신을 채택하여 보안을 유지한다.
  • 시장성
‘NEW'S DESK’의 목적은 도서관이나 라운지 등 여러 사람들이 오고 가는 장소에 놓고 모두가 쓸 수 있는 학습용 책상이다. 따라서 공급 가격이 저렴해야한다. 전체 제작 비용을 25만원보다 적게 사용하도록 만든다.
  • 확장성
클라우드에 저장해놓은 데이터를 사용자가 어디서든 열람할 수 있도록 만든다. 그러기 위해서 클라우드를 모든 곳에서 편리하게 이용 가능한 ‘구글 드라이브‘로 채택한다. 또한 필기의 파일 형식을 pdf나 png, jpeg 파일로 제작하여 어디서든 편리하게 열람할 수 있게 한다.
  • 심미성
클라이언트 프로그램의 UI를 사용자가 보기 좋고 깔끔하게 제작한다. 하드웨어의 외관도 공공장소의 인테리어를 해치지 않게 깔끔하게 디자인한다.

설계사양

서청협설계사양.jpg

구체 설계안

서청협구체설계안.jpg

프로젝트 개발 과정

하드웨어

구조

서청협-하드웨어5.jpg 서청협-하드웨어7.jpg
일반 책상처럼 책상다리에 상판을 결합한 구조를 갖는다. 이때 상판은 여러 장치들을 내장해야 하므로 합판에 각재로 둘러싸인 박스형태를 갖는다.

구성

서청협-하드웨어8.jpg 서청협-하드웨어9.JPG
  • 파이1 : NFC모듈과 모니터와 연결되어 관련 기능을 수행한다.
  • NFC모듈 : 학생증, 스마트폰으로부터 사용자의 정보를 인식한다.
  • 모니터 : 디스플레이에 출력을 담당한다.
  • 파이2 : 터치스크린을 통한 제어부분을 담당한다. 파이1과 통신하며 관련 기능을 수행한다.
  • 터치스크린 : 사용자로부터 입력을 받아 필기 및 각종 제어를 담당한다.
  • 랜커플러 : 책상 외부에 랜커플러를 달아서 손쉽게 외부의 랜케이블을 사용가능하도록 한다.
  • 허브 : 외부로부터 끌어온 인터넷망과 시스템 내부망과의 연결을 담당한다.

각도 조절

서청협-하드웨어1.jpg 서청협-하드웨어2.jpg
사용자의 효울적인 학습과 편의를 위해 각도 조절 기능을 제공한다. 상판과 다리 사이에 각도 조절용 경첩을 달아 원하는 각도로 조절할수 있도록 한다.

책상 기능

서청협-하드웨어10.jpg 서청협-완성샷.jpeg
NEW'S DESK의 또다른 강점중 하나는 평상시에는 일반 책상처럼 사용가능한 것이다. 상판에 적당한 두께의 아크릴판을 결합한뒤 그 위에 쏠라필름을 부착해 심미성과 실용성을 갖는다.

소프트웨어

NFC 자동로그인

  • NFC

서청협-pn532.jpg

'PN532 NFC 모듈'을 라즈베리파이와 연결하여 학생증이나 스마트폰으로부터 사용자의 정보를 받아온다. 고유한 ID값(UID)을 갖는 학생증과 달리 스마트폰에서 사용자를 식별하기 위해선 HCE(Host Card Emulation)기능이 필요하다. HCE는 최근 모바일 결제나 금융 애플리케이션 등에 사용되는 기능으로, 전용 애플리케이션으로 NFC 컨트롤러를 통해 원하는 메시지를 전달한다.
Autologin.jpg
  • NFC 자동로그인 알고리즘
NFC가 태그됐을 때 읽은 UID를 서버 데이터베이스에 조회한다. 서버에서 UID를 조회한 후 등록된 정보가 있는지 없는지를 JSON 형식으로 전송한다.
이 때 스마트폰은 UID가 계속하여 바뀌기 때문에 핸드폰 어플리케이션을 이용하게 된다. 핸드폰 어플리케이션을 통해 회원 등록을 하면 회원가입할 때 작성하였던 아이디가 UID로 저장되어 NEW'SDESK에 전송된다.

Appreg.jpgApplogin.jpg Appuid.jpg

어플리케이션 화면
등록된 UID가 없다면 NEW'SDESK에서 회원등록 화면으로 넘어간다. UID로 회원을 식별하게 되며, 회원등록에서 받는 정보는 PIN번호, 이름, 사용할 클라우드, 클라우드 ID, 클라우드 비밀번호이다.
PIN번호와 클라우드 비밀번호는 php에서 제공하는 crypt함수를 통해 암호화해서 DB에 저장하게 된다.

Serverdb.jpg

PIN번호가 일치하면 DB에 저장되어 있던 사용하는 Cloud 정보, Cloud ID, Cloud 비밀번호를 프로그램에 JSON 형식으로 전달한다.
프로그램에서 사용자 Cloud의 정보를 받아오면 오픈소스프로그램인 rclone을 사용하여 클라우드에 로그인한다.
클라우드 안의 내용은 특정 폴더에 mount 시킨다. mount 시키게 되면 사용자가 사용할 파일을 열었을 때 다운로드를 하기 시작한다.
모든 클라우드 내용을 다운로드 받는 것은 비효율적이라 생각하여 이런 방식을 선택하게 됐다.

서버 통신

서버와 클라이언트 프로그램들간의 통신에서 사용자의 정보들이 오가기 때문에 보안이 중요하다.
하지만 많이 사용되는 통신방식인 http는 해킹이 쉽게 가능하다.

Https.jpg

따라서 암호화된 통신 방식인 https를 선택하게 되었다.

블루투스 제어

서청협-블루투스.jpg

블루투스 기능을 이용해서 출력기능만 있는 큰 화면의 모니터를 터치스크린 모니터로 제어한다. 정밀한 제어가 필요한 부분은 미러링 기능을 이용하고 간단한 제어 즉, 메뉴화면 제어나 필기의 세이브 기능 등을 블루투스 제어로 구현했다. QT의 블루투스 채팅 앱을 참조하였으며 제어부와 출력부는 양방향 통신이 가능하다. 이를 이용해 서로 정보를 주고 받으며 제어부의 상황에 따라 출력부의 상황이 변하고 마찬가지로 출력부의 상황에 따라 제어부의 상황 또한 변할 수 있다.

필기 기능

오픈소스 프로그램인xournal을 클라이언트 프로그램에 내장하여 필기 기능을 구현하였다.

Xournal.jpg

기존에 만들려고 했던 팜리젝션 기능은 터치스크린의 사이즈가 작아서 필요하지 않다고 생각되어 구현하지 않았다.

미러링

NEW'SDESK는 라즈베리파이 2개로 작동된다.
2개의 라즈베리파이가 다른화면을 보여줄 일이 거의 없기 때문에 미러링 기능을 활용하는 것이 유용하였다.
그래서 제어용 라즈베리파이에서 다른 라즈베리 파이를 제어하기 위해서 VNC 오픈소스를 사용하기로 했다.
VNC 오픈소스 프로그램을 클라이언트 프로그램에 내장하여 구현하였다.

파일:Mirroring.jpg

미러링한 모습

웹브라우징

오픈소스 프로그램인 chromium을 내장하여 구현

파일:Web.jpg

웹브라우저 구현 모습

서버

Server.jpg

서버 개략도

하드웨어 제작

서청협-하드웨어4.jpg 서청협-하드웨어6.jpg

소프트웨어 제작

서청협-소프트웨어3.png 서청협-소프트웨어4.png
서청협-소프트웨어1.png 서청협-소프트웨어2.jpg

프로젝트 결과

최종결과물 시연

파일:SeoulVideo.mp4

제약 사항

- 프로젝트 진행 중 10인치 터치스크린 고장으로 인해 7인치 터치 스크린 구매
- 기존 터치 스크린에 버츄얼 키보드를 넣으려고 했으나 7인치로 변경되면서 버츄얼 키보드 대신 실제 유선 키보드를 설치
- 단차를 맞추기 위해서 내부를 스펀지로 채우고 그 위에 아크릴판을 덮어서 문제를 해결코자 하였으나 통풍에 문제가 생기면서 발열 발생
- 예상한 가격보다 약 10만원 정도 초과하였으나 이는 대량 생산을 가정한다면 초기 예산을 만족할 수 있을 것으로 예상
- 초기 로딩 시간을 15초 이하로 설정하였으나 인터넷 환경 및 프로세서 성능 문제로 30초 가량 소모

프로젝트 평가

평가항목

요구사항

서청협-요구사항.jpg
사전에 계획한 필요/희망 요구사항 평가

설문조사

서청협-설문지.jpg
학우들에게 직접 NEW'S DESK를 소개한뒤 체험을 바탕으로 설문조사를 실시

평가결과

요구사항

서청협-요구사항결과.jpg

설문조사

서청협-설문결과.JPG
설문조사 결과 NEW'S DESK의 만족률이 70%로 나타났다. 사용자들이 가장 마음에 들어한 기능은 자동로그인이였으며 웹브라우징 기능이 70점으로 가장 부족한 기능으로 꼽혔다. 기타 의견은 아래와 같다.
  • 회원가입이 편리하고 자동로그인 기능이 마음에 든다.
  • UI가 세련되었다.
  • 파일의 로딩시간이 너무 길다.
  • 컴퓨터가 너무 버벅거린다.

느낀점

호*민

정*식

오*석