Finding Cyton dongle on Ubuntu with hcitool
I'm trying to follow instructions here to integrate EMG sensing using OpenBCI with ROS (robot operating system). I am using Ubuntu 20.04.3, and a Cyton and bluetooth dongle purchased in November 2019. I've tested this integration successfully about 2 years ago with a different installation of Ubuntu and ROS, but now can't get "hcitool dev" to work -- it gives me just "Devices:" with no list of devices.
As far as I understand it, this means Ubuntu is unable to recognize the dongle as a bluetooth device, even though it does recognize it as a USB device (as I describe on the Ask Ubuntu Stack Exchange here). The OpenBCI GUI is able to detect the dongle and works perfectly; it is just that I need to integrate with ROS to do anything further with the data in my project. Would be grateful for any advice, whether about finding the hci number of the dongle on Ubuntu, or integrating OpenBCI with ROS by any other methods except this one (e.g. using the WiFi shield instead of bluetooth, or BrainFlow instead of OpenBCI-Python).
Comments
Shivani, hi.
The Cyton dongle is NOT a standard 'Bluetooth' device. It is a usb serial COM port device. The serial "/dev/*" port should show up when you insert the dongle and disappear when you remove it.
Brainflow understands the serial port protocol used by Cyton, and is the best way to talk to it.
The repo link above you cited: https://github.com/ajaymehul/openbci-ros
Is for Ganglion, not Cyton. Ganglion BLED112 dongle is a similar serial port device. But also in some operating systems, direct Bluetooth API access is possible to talk to Ganglion. But is no longer recommended. BLED112 dongle is recommended instead.
William
Hi William,
Many thanks! You're absolutely right. I somehow got the code from the repo to work for Cyton last time I tried, and must have forgotten what I changed to make that happen (and also forgotten that there would be important differences like this one between Ganglion and Cyton that I should have checked for). I'll use Brainflow instead. Thank you for answering in such detail
Brainflow did not exist when that repo was created.
Yes, that I noticed -- also noticed that OpenBCI-Python, on which it was based, is deprecated now and has been replaced by Brainflow. I was overestimating the difficulty of integrating ROS with Brainflow, which is why I hoped I could still get this repo to work -- but looks like it is not going to be too difficult.