Difference between revisions of "BCI on Sockets"
NikoZarzani (Talk | contribs) m |
|||
(17 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= | + | |status=Closed |
|level=Bs | |level=Bs | ||
|type=Course | |type=Course | ||
}} | }} | ||
+ | Lo scopo del progetto BCI on Socket è quello di permettere l'acquisizione via rete dei segnali cerebrali. | ||
+ | ==Galileo Socket== | ||
[[Image:Bci on socket.png]] | [[Image: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 | ||
+ | <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
| |
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
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
Campo | STX | Tag | Length | msg | EDX |
---|---|---|---|---|---|
Dimensione | 1 byte | 1 byte | 2 byte | Length | 1 byte |