OpenBCI Python: SDK, serial ports
Hello!
I have a few questions about the OpenBCI Python lib. If this isn't the right place to ask these questions, just let me know where I should go!
(1) I was wondering if OpenBCI Python is meant to be ran on the "client-side" or "server-side"? Meaning:
I have a few questions about the OpenBCI Python lib. If this isn't the right place to ask these questions, just let me know where I should go!
(1) I was wondering if OpenBCI Python is meant to be ran on the "client-side" or "server-side"? Meaning:
- Client-Side: It packages as a Python library that I can use in a Python app (perhaps running on my laptop) for communicating with the OpenBCI headset (and obtain streaming EEG readings, etc.); or
- Server-Side: It runs on the OpenBCI headset and provides the stream of EEG data that clients can then connect to and read
(2) Does the OpenBCI headset require a networked (internet/TCP) connection (and subsequently, an IP address) to function? How else might a client Python application connect to it (without, say, an IP address and a router)?
(3) If I wanted to write my own lib (in some other language besides Python) to read EEG data from the OpenBCI headset, where is the network/data protocol documented?
Thanks in advance for any and all help!
Comments
(1) Python would be considered client-side; the OpenBCI mainboard runs it's own firmware, as do the two RFduinos, one on the mainboard and the other on the dongle. Most applications have no need to change the firmwares.
(2) if you go through the steps in the tutorial, you can see that the OpenBCI mainboard communicates with your laptop, via a USB "serial port" on your laptop. The serial ports look like COMn: devices in Windows, or /dev/ entries in Linux and Mac.
http://docs.openbci.com/tutorials/01-GettingStarted#getting-started-w-openbci-iv-connect-to-your-openbci-board-from-the-gui-3-find-your-usb-dongles-serialcom-port
(3) check out all the docs on that site above, serial data format is here,
http://docs.openbci.com/software/01-OpenBCI_SDK
William
Just two things to confirm:
Thanks again!
Easiest wireless connection is through the dongle using the RFduino's built into the hardware. If you are referring to Bluetooth, do some searches using the search box at lower right. Some of our user community members have implemented the Bluetooth Low Energy for mobile communications, but this is also very low bandwidth, around 10K bits/sec.
http://www.openbci.com/forum/index.php?p=/search&Search=bluetooth
William
Better to run wireless like this than a wired connection. There are many posts on the forum discussing the isolation and safety issues.