BCI on Sockets

From AIRWiki

Jump to: navigation, search
BCI on Socket
Image of the project BCI on Sockets
Short Description: Communication on TCP/IP between BCI Software modules
Coordinator: MatteoMatteucci (matteo.matteucci@polimi.it)
Tutor: MatteoMatteucci (matteo.matteucci@polimi.it)
Collaborator:
Students: MarioPolino (mpolino90@gmail.com), NikoZarzani (niko.zarzani@gmail.com)
Research Area: BioSignal Analysis
Research Topic: Brain-Computer Interface
Start: 2011/04/15
Status: Closed
Level: Bs
Type: Course

Lo scopo del progetto BCI on Socket è quello di permettere l'acquisizione via rete dei segnali cerebrali.

Contents

Galileo Socket

Bci on socket.png

Galileo Socket è un programma scritto in C che si occupa di leggere dalla named pipe creata dal Galileo Plugin, successivamente ciò che viene letto dal sistema di acquisizione viene poi inviato via socket in modalità server con chi si connette a lui sulla porta 9999. L'invio dei dati per ora è in formato raw e si dovrebbe trattare di un array di float.

Il programma ( galileo_socket.c ) è scaricabile dall'svn dell'airbat: https://svn.ws.dei.polimi.it/airbat/bci/polino+zarzani/Galileo%20Socket

How to compile

  • Cygwin:

gcc galileo_socket.c -mno-cygwin -lwsock32 -o galileo_socket.exe

  • Dev-C++:

Tools -> Compiler Options. Check Add these commands to the linker command line and write -lwsock32 in the textbox.

BeNet Driver

BeNet Driver è un programma scritto in Java per mediare l'acquisizione dei dati wireless con il dispositivo BENet.

Il progetto BeNet è scaricabile dall'svn dell'airbat: https://svn.ws.dei.polimi.it/airbat/bci/polino+zarzani/BeNet

Info

Le comunicazioni con il dispositivo avvengono su tre porte:

  • 7023 Boot (loading del firmware)
  • 7024 Control (Invio di comandi e settaggi)
  • 7025 Data (Ricezione dati)

Boot

Ogni messaggio di comunicazione deve avere il seguente formato.

STX 1 byte 0x02
Tag 1 byte
Length 2 byte short in BigEndian
msg  Lenght byte
EDX 1 byte 0x03
CampoSTXTagLengthmsgEDX
Dimensione1 byte1 byte2 byteLength1 byte