emokit

Open source driver for accessing raw data from the Emotiv EPOC EEG headset

  • 所有者: openyou/emokit
  • 平台:
  • 許可證: Other
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Emokit

Reverse engineering and original code written by

Contributions by

Headset Support

Supported: Epoc, Epoc+(Pre-2016, limited gyro sensors)
Unsupported: Epoc+(2016+), other models.

Description

Emokit is a set of language for user space access to the raw stream
data from the Emotiv EPOC headset. Note that this will not give you
processed data (i.e. anything available in the Emo Suites in the
software), just the raw sensor data.

C Library

Please note that the python and C libraries are now in different
repos. If you would like to use the C version of emokit, the repo
is at

http://www.github.com/openyou/emokit-c

Information

FAQ (READ BEFORE FILING ISSUES): https://github.com/openyou/emokit/blob/master/FAQ.md

If you have a problem not covered in the FAQ, file it as an
issue on the github project.

PLEASE DO NOT EMAIL OR OTHERWISE CONTACT THE DEVELOPERS DIRECTLY.
Seriously. I'm sick of email and random facebook friendings asking for
help. What happens on the project stays on the project.

Issues: http://github.com/openyou/emokit/issues

If you are using the Python library and a research headset you may have
to change the is_research variable in emotiv.py's setup_crypto function.

Required Libraries

Python

2.x

  • future - pip install future

Windows

Linux / OS X

Running tests

You should be able to install emokit and the required python libraries using:

pip install emokit

OR

python setup.py install

hidapi will still need to be installed manually on Linux and OS X.

Usage

Python library

Code:

# -*- coding: utf-8 -*-
# This is an example of popping a packet from the Emotiv class's packet queue


import time

from emokit.emotiv import Emotiv

if __name__ == "__main__":
    with Emotiv(display_output=True, verbose=True) as headset:
        while True:
            packet = headset.dequeue()
            if packet is not None:
               pass
            time.sleep(0.001)

Bindings

Go: https://github.com/fractalcat/emogo

Running Unit Tests

From the python directory in your terminal type:

Code:

python -m pytest tests/

Platform Specifics Issues

Linux

Due to the way hidapi works, the linux version of emokit can run using
either hidraw calls or libusb. These will require different udev rules
for each. We've tried to cover both (as based on hidapi's example udev
file), but your mileage may vary. If you have problems, please post
them to the github issues page (http://github.com/openyou/emokit/issues).

Your kernel may not support /dev/hidraw devices by default, such as an RPi.
To fix that re-comiple your kernel with /dev/hidraw support

OS X

The render.py file uses pygame, visit http://pygame.org/wiki/MacCompile
Do not export the architecture compiler flags for recent 64bit versions of OS X.

Credits - Cody

Huge thanks to everyone who donated to the fund drive that got the
hardware into my hands to build this.

Thanks to Bryan Bishop and the other guys in #hplusroadmap on Freenode
for your help and support.

And as always, thanks to my friends and family for supporting me and
suffering through my obsession of the week.

Credits - Kyle

Kyle would like to thank Cody for doing the hard part.

He would also like to thank emotiv for putting emo on the front of
everything because it's god damn hilarious. I mean, really, Emo
Suites? Saddest hotel EVER.

Frequently asked questions

  • What unit is the data I'm getting back in? How do I get volts out of
    it?

One least-significant-bit of the fourteen-bit value you get back is
0.51 microvolts. See the
specification
for more details. (Broken Link)

  • What should my output look like?

Idling, not on someone's head it should look something like this:

Emokit - v0.0.8 SN: ActualSerialNumberHere Old Model: False
+========================================================+, Sensor, Value, Quality, Quality L1, Quality L2, +--------+----------+----------+------------+------------+, F3, 292, 24, Nothing, Nothing, FC5, 1069, Nothing, Nothing, AF3, 110, 8, Nothing, Nothing, F7, 63, 24, Nothing, Nothing, T7, 322, 8, Nothing, Nothing, P7, 166, Nothing, Nothing, O1, -62, 24, Nothing, Nothing, O2, 235, 24, Nothing, Nothing, P8, -63, 24, Nothing, Nothing, T8, 626, 16, Nothing, Nothing, F8, 1045, 16, Nothing, Nothing, AF4, 578, 8, Nothing, Nothing, FC6, 973, 16, Nothing, Nothing, F4, 780, 8, Nothing, Nothing, X, 2, N/A, N/A, N/A, Y, 1, N/A, N/A, N/A, Z, ?, N/A, N/A, N/A, Batt, 46, N/A, N/A, N/A, +--------+----------+----------+------------+------------+, Packets Received: 452, Packets Processed: 447, Sampling Rate: 2, Crypto Rate: 0, +========================================================+

主要指標

概覽
名稱與所有者openyou/emokit
主編程語言Python
編程語言Makefile (語言數: 2)
平台
許可證Other
所有者活动
創建於2011-02-25 22:55:42
推送於2019-07-05 19:55:49
最后一次提交2017-04-16 19:57:23
發布數2
最新版本名稱0.5 (發布於 )
第一版名稱0.1 (發布於 )
用户参与
星數545
關注者數49
派生數239
提交數336
已啟用問題?
問題數206
打開的問題數62
拉請求數70
打開的拉請求數5
關閉的拉請求數16
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?