Coder Social home page Coder Social logo

simudream / emokit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openyou/emokit

0.0 3.0 0.0 1.31 MB

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

Home Page: http://www.openyou.org

License: Other

CMake 12.29% C 36.38% C++ 2.99% Pure Data 2.41% Makefile 0.38% Python 45.54%

emokit's Introduction

Emokit

Reverse engineering and original code written by

Contributions by

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.

The C library is backed by hidapi, and should work on any platform that hidapi also works on.

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

C Language

Usage

C library

See emokitd.c example

Python library

Code:

import emotiv
import platform
if platform.system() == "Windows":
    import socket
import gevent

if __name__ == "__main__":
  headset = emotiv.Emotiv()    
  gevent.spawn(headset.setup)
  gevent.sleep(0)
  try:
    while True:
      packet = headset.dequeue()
      print packet.gyro_x, packet.gyro_y
      gevent.sleep(0)
  except KeyboardInterrupt:
    headset.close()
  finally:
    headset.close()

Bindings

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

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

Recent OS versions no longer allow usb devices to become unclaimed by the kernel. You must use a HIDAPI library.

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.

emokit's People

Contributors

daeken avatar digma avatar fundamental avatar henrybond158 avatar jscastanoc avatar kanzure avatar kuz avatar mishugana avatar olorin avatar qdot avatar quixoticgithub avatar robintibor avatar zheng1i avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.