GitXplorerGitXplorer
o

python-emotiv

public
128 stars
59 forks
3 issues

Commits

List of commits on branch master.
Verified
86577b7236e6524e777e8766b9877eae09cc09e0

Update README.md

oozancaglayan committed 4 years ago
Unverified
44214d3434cd6088d816f484021a0258bd4ad2ae

Merge pull request #17 from ixjlyons/getstring

oozancaglayan committed 10 years ago
Unverified
a63c5d411c0dbe6ae9fcf08cb96c2421c3a7e4d1

Updated calls to `usb.util.get_string`, which had the `length` argument removed in commit dac789.

iixjlyons committed 10 years ago
Unverified
292e7630b4d839d84dc77cc9361dd6dfeade6abe

Update README

oozancaglayan committed 10 years ago
Unverified
c02082094cf6094a2318946cd22d7e82ab0f4dd8

epoc: 3rd attempt for consumer headsets

oozancaglayan committed 10 years ago
Unverified
d5158008ab00a069f9702b20638fcf4c3902176d

epoc: Attempt 2 for adding generic device support

oozancaglayan committed 10 years ago

README

The README file for this repository.

Emotiv EPOC Python Interface

Unmaintained as of January 2015

Please do not e-mail me for questions about this project. I no longer develop it, nor test or use it on Emotiv devices. I don't work in this field anymore. Thanks!

python-emotiv is an open-source library to acquire data from Emotiv EPOC headset. Although Emotiv recently provided 32-bit SDK for Linux, we have chosen to use the reverse-engineered protocol as the code will be finally deployed on a Raspberry Pi or BeagleBone Black ARM box.

The library uses libusb to detect and access the dongle instead of hidapi. The udev rules create a /dev/emotiv_epoc symlink in /dev tree, if you want to directly read from that node, pass method="direct" when you create your EPOC object.

Parts of the project are inspired from mushu and emokit which is the pioneer of the reverse-engineered protocol.

Dependencies

  • pyusb (Version >= 1.0)
  • pycrypto
  • numpy
  • scipy
  • matplotlib (For data analysis scripts under utils/)
  • BeagleBone Black GPIO (For SSVEP BCI in examples/)

"labstreaminglayer is a system for the unified collection of measurement time series in research experiments and handles both the networking, time-synchronization, (near-) real-time access as well as optionally the centralized collection, viewing and disk recording of the data."

python-emotiv has preliminary support in lsl/ folder to stream Emotiv EEG signals to labstreaminglayer nodes.

Saving your data

utils.py contains a save_as_matlab() function to export the acquired signals as a MATLAB file. This function saves the EEG data according to the FieldTrip specification to ease the process of analysing signals with FieldTrip.

Installation

Just run python setup.py install to install the module on your system.

Testing

When you run emotiv/epoc.py as a standalone application, it will dump sensor data to the terminal:

Terminal screenshot

Authors

Ozan Çağlayan, Galatasaray University, Computer Engineering Dept.