2016년 1월 28일 목요일

emokit

하드웨어는 그럴싸하게 잘 뽑아 놓고, 동작 자체도 어느정도 흥미롭게 되는 상황에서 고객 지원과 개발자 대응이 무성의해서 욕을 먹는 상황이라니...

2015년 12월 17일 이후에 linux 관련된 그 어떤 수정이나 지원이 없는 상황이다.
G+ 커뮤니티에서는 '쓸데없는 장난감을 중고로 내놓겠다'는 글들이 심심치 않게 보인다.
정말 대책없는 회사임에는 의심의 여지가 없나보다.

windows 용으로만 있는 test bench 와 control panel 이외에는 심지어 window sdk 조차도 제대로 동작 안하는 것은 마찬가지인 듯 하다. (비단 linux 만의 문제만은 아니라는 것)
이런 상황에서 공식 SDK 인 community-sdk 로 해 볼 수 있는 것이 거의 없기 때문에 뭔가 다른 시도를 해 볼 필요가 있어 보인다.

github 를 뒤져보면 이런 불친절한 대응을 못참고 reverse engineering 을 해서 공개한 코드를 찾을 수 있다. 그 이름은 emokit
1년 이상 code update 가 없는 것으로 보아 EPOC 을 대상으로 했고 insight 를 고려해서 만든 것은 아닌 듯 하지만, 일단 받아서 돌려 보기로 했다.

소스를 다운받아서 컴파일하면 bin 디렉토리에 contact 과 emokitd 두 개의 파일이 생긴다.
우선 daemon 인 emokitd 를 실행시킨 뒤 contact 을 실행 하면 아래와 같은 결과를 볼 수 있다.

$ ./contact
Press CTRL+C to exit

Contact quality:
F3  6208
FC6 6208
P7  6224
T8  8184
F7  6216
F8  6224
T7   120
P8  6216
AF4 7927
F4  6232
AF3 2232
O2  6232
O1    16
FC5 6232
gyro X   25
gyro Y   25

EPOC 을 고려해서 만든 것이기 때문에 Insight 보다 훨씬 많은 센서 정보를 기본으로 보여주고 USB 동글만 지원하던 시절의 코드라서 당연히 블루투스는 동작하지 않는다.
하지만 Insight 의 AF3, AF4, T7, T8, Pz (는 O1 으로 표시 되는 듯) 의 정보를 볼 수 있고 comminity-sdk 에서 동작하지 않는 gyro 의 정보를 볼 수 있다. 고개를 왼쪽으로 돌리면 X 값이 25보다 높은 수로 증가하고, 반대로는 감소한다. Y 는 고개를 위로 올리면 +, 내리면 -.

Emotiv 라이센스가 reverse engineering 을 허용하지 않는다고 명시되어 있어서 이제는 사장된 코드들은 것 같고 지속적인 수정/개선 이 되지 않고 있어서 영구적인 솔루션으로 사용하긴 무리가 있으나 '고객 대응'을 안해 주는 회사의 제품을 갖고 놀고 싶어하는 End user 의 호기심을 잠시나마 채워 줄 수 있는 재미는 충분한 듯 하다.

댓글 2개:

Daniel Hong :

안녕하세요, 이모티브사의 인사이트를 취미 개발용으로 구매하려 고민을 하던 학생입니다.
현재 epoc 하고 insight중에 고민이었는데 그것과 별개로 sdk 사후 지원 문제가 어느정도 있어보이네요.

혹 인사이트 이외의 유용한 뇌파 리시버 장비 혹 추천하시는게 있으신가요?

brian Park :

저는 insight 만 보유하고 있습니다. epoc 은 사용 해 본적이 없어서 비교를 해 드리기는 어려울 듯 하구요. insight 를 기준으로 community-sdk 는 3.3.1 이후 버전 부터는 기본적인 동작은 가능해 졌습니다. 글에서도 몇 번 언급했었지만 개발자 지원이 그렇게 친절하지는 않은 커뮤니티 입니다. 기한을 정해놓고 개발을 하시는 것이라면 그다지 추천하고 싶지는 않습니다. 많은 인내력이 필요하거든요. 그래도 뇌파 인식이라는 블루오션의 메릿이 있으니 취미 생활이라면 해 볼만 한 것 같습니다 ^^