Emotiv with Emotiv Toolbox and node-red

Hello everyone! I'm developing this project who consists in control an robotic arm using the Emotiv EPOC+. I found a toolbox here (https://flows.nodered.org/node/node-red-contrib-emotiv-bci) but it doesn't connect to the headset/BCI. The connection of the first and second node looks ok (node "emotiv" appears a message saying that is authorized and node profile appears a message saying that the profile was loaded) but every other node I try it just stay "connecting" (like facial expressions, motion sensors, etc). Can anyone help me with this trouble or recommend another ways (free, please) to get a mental/facial command from the headset? Thanks all!

1 Like

I have the same issue. Can someone help me with this? For example, I used the flow here https://flows.nodered.org/flow/f7c7a655d64a698d9b0ba61f16940478
I have attached the screenshot of node-red. It looks like this image|690x388

@GAU1 Any news? You did it?
Which version of Emotiv are you using? Which navigator? Bluetooth or usb?

Contacted technical support of emotiv. No help so far. I have tried connecting using both USB and Bluetooth. It makes no difference. I use the latest versions (v2.2.1 i guess). Going to try some other way using websockets and javascript. It is going to take some time.

Hi,

I have the some problem. After some contact with technical support, i only have "Authorized"

I made this:

" Kindly add this line to your host file: 127.0.0.1 emotivcortex.com

Then, open the file bci-config.js and change the below path:

path : 'wss://emotivcortex.com:6868/com.emotiv.noderedtoolbox',

to

path : 'wss://127.0.0.1:6868/com.emotiv.noderedtoolbox',"

No i have the same problem. I trying alternatives methods however without sucess.

Do you have sucess with cortex-api?

Yeah, I am able to get the data stream from the headset. The link I mentioned above gives step by step instructions. I am new to programming, so it took couple of hours for me to get the data stream. It maybe easy for you. Better if you know the basics of Javascript

1 Like

Ok thanks.

I have uncommitted the bugs message and I have this result:

Cortex messages:
{
id: 'connectHeadset',
jsonrpc: '2.0',
result: {
command: 'connect',
message: 'The device EPOCPLUS-4A2C05ED has been connected or is connecting'
}
}
Cortex messages:
{
error: { code: -32602, message: 'Invalid Parameters.' },
id: 'createSession',
jsonrpc: '2.0'
}

I disable the firewall etc. But i cant resolve the problem

Hi, I need to know the request you sent to the headset? Without it, I can only assume why you received the error message. My thoughts are you don't need to send the connect request. If you have only one headset and it is connected to your pc, then it will show its id if you send this request

\get headset id
{
"id": 1,
"jsonrpc": "2.0",
"method": "queryHeadsets",
"params": {
"id": "INSIGHT-*" // I have Insight headset
}
}

The last part of your post containing error is because you sent invalid parameters. You should register for cortex id and token in their website. In your profile => cortex apps . Then you have to use it in the requests.

\open a Session
{
"id": 1,
"jsonrpc": "2.0",
"method": "createSession",
"params": {
"cortexToken": " YOUR CORTEX TOKEN HERE",
"headset": "INSIGHT-A1D20289",
"status": "open"
}
}

Also you dont need to mess with firewall and all. It has nothing to do with it. You have to approve the apps request in Emotiv BCI. Like in the pic attached

I'm trying to do the part
" To do a quick test, try to call the method getCortexInfo:

  1. Go to https://www.websocket.org/echo.html.

  2. Set the location field to wss://localhost:6868 and click Connect.

  3. Set the message field to {"id":1,"jsonrpc":"2.0","method":"getCortexInfo"} and click Send.

  4. You should get a response that looks like {"id":1,"jsonrpc":"2.0","result":{"version":"2.0.0"}}"

But I get error undefined when I try to connect with the given location. Can someone help?

Hello man , for the past days i think i have tried everything to get this node red to connect to the app but all of the blocks are stuck at CONNECTING , i have startted a session with web sockets and introduced client id and client secret on that folder i am literally clueless ,any ideeas ?