Difference between revisions of "BCI on Sockets"

From AIRWiki
Jump to: navigation, search
m (Galileo Socket)
 
(8 intermediate revisions by 2 users not shown)
Line 9: Line 9:
 
|restopic=Brain-Computer Interface;
 
|restopic=Brain-Computer Interface;
 
|start=2011/04/15
 
|start=2011/04/15
|status=Active
+
|status=Closed
 
|level=Bs
 
|level=Bs
 
|type=Course
 
|type=Course
Line 18: Line 18:
  
 
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.
 
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===
 
===How to compile===
 
*Cygwin:
 
*Cygwin:
Line 23: Line 27:
 
*Dev-C++:
 
*Dev-C++:
 
''Tools -> Compiler Options. Check '''Add these commands to the linker command line''' and write '''-lwsock32''' in the textbox.''
 
''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
 +
<table border = 1 cellpadding=0 cellspacing=0>
 +
<tr><th>Campo</th><td>STX</td><td>Tag</td><td>Length</td><td>msg</td><td>EDX</td></tr>
 +
<tr><th>Dimensione</th><td>1 byte</td><td>1 byte</td><td>2 byte</td><td>Length</td><td>1 byte</td></tr>
 +
</table>

Latest revision as of 23:47, 3 April 2012

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.

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