Skip to content

elnn/supersonic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

supersonic

2014 LG CNS Hackathon

  • 기간 : 2014. 11. 21 ~ 22 (약 12시간)
  • 팀명 : 윤하팬클럽

아이디어

지금 이 순간에도 버스와 지하철에서는 앉아서 가기 위한 암투가 벌어지고 있습니다. 우리는 **"앞에 앉은 사람이 어디서 내리는지 알려주는 모바일 어플리케이션"**을 만들어 바로 이어서 앉을 수 있는 스마트한 대중교통 라이프를 제공하고자 합니다. [앉아서 가고 싶은] [대중교통 이용객]들에게 [좌석정보 제공 서비스]인 [다음에내려요]는 [자리경쟁에서 승리할 수 있도록] 도울 것입니다.

핵심문제

아이디어를 구현하기 위해 "실내 공간에서 기기간 상호 위치를 알 수 있는 통신 방법"이 필요했습니다.

그동안 아이디어만 있고 적절한 솔루션을 찾지 못했습니다. 기기간 상대 위치를 계산하는 문제를 풀기 위해 GPS나 블루투스를 시도할 수도 있을 것입니다. 그러나 GPS는 실내에서 정보를 얻을 수 없다는 단점이 있어 버스나 지하철에서는 사용하기 어렵습니다. 그리고 블루투스의 신호세기를 사용하는 경우 거리 추정이 부정확하며 연결을 맺어야 원하는 정보를 전송할 수 있습니다. 소리를 이용하면 이런 단점들을 어느 정도 극복할 수 있습니다.

우리는 다양한 가능성을 검토해 본 후 초음파를 이용하기로 했습니다. 그리고 프로토타입으로 구현해 시연했습니다.

시나리오

좌석정보를 제공하기 위한 최소기능제품의 시나리오는 다음과 같습니다.

  1. 각각의 기기는 고유 ID 를 부여받습니다.
  2. 자신이 내릴 곳을 서버에 입력합니다.
  3. 일정 주기마다 자신의 ID 를 인코딩하여 주변에 소리를 발생합니다.
  4. 받은 신호를 디코딩하여 주변 사람들의 ID 와 상대 위치를 얻습니다.
  5. 수집한 ID 를 서버에 요청하여 해당 기기를 가진 사람이 내릴 곳을 얻습니다.

추가과제

최소기능제품에 붙일 만한 추가 과제로는 이런 것들이 있습니다:

  • 어떻게 자신이 내리는 위치를 자발적으로 입력하게 유도할 것인가
  • 서버로부터 좌석정보를 얻어오면 어떻게 가공하여 보여줄 것인가
  • 우리 서비스 이용자들 사이의 자리경쟁을 어떻게 해소할 것인가
  • 잡음이 많은 환경에서도 안정적으로 디코딩할 수 있는 방법
  • 이어폰을 사용 중인 상황에서도 UX를 해치지 않으며 통신할 수 있는 방법

구현결과

대회 기간 동안 구현한 결과는 다음과 같습니다.

  • 글자를 소리로 인코딩하는 방법 (사인파 생성)
  • 소리를 글자로 인코딩하는 방법 (FFT 이용)
  • REST API 서버 개발
  • 실내 공간에서 주변 기기의 ID 를 읽어 등록된 정보 조회
  • 주파수 분할을 통한 멀티 채널 전이중 통신 제공
  • 기기 사이의 거리 측정 기능

About

2014 LG CNS Hackathon

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published