在linux系统下蓝牙读取neurosky的brainlink脑电环的数据的步骤:
1.hcitool scan ---找到brainlink的地址,如果没找到,重新运行。也可以使用系统自带的蓝牙如下图
$ hcitool scan
Scanning ...
B0:C0:90:B3:ED:7A DESKTOP-JA7BUAI
0D:00:18:A1:54:DD BrainLink_Lite
2.sudo rfcomm connect /dev/rfcomm0 0D:00:18:A1:54:DD 2 ----最后一个数字2代表使用通道2连接brainlink设备,不同的电脑通道不一样,你需要根据自己的电脑进行尝试。我猜测原因是蓝牙工作在2.4G频段的,蓝牙的频段是从2401MHz 到2479MHz,每个channel占1MHz,共79个channel。
$ sudo rfcomm connect /dev/rfcomm0 0D:00:18:A1:54:DD 2
Connected /dev/rfcomm0 to 0D:00:18:A1:54:DD on channel 2
Press CTRL-C for hangup
/dev/rfcomm1 或 /dev/rfcomm2或者其他数字也是可以的,相应的/dev/路径下会出现rfcommX,当断掉brainlink连接时,rfcommX也会消失。
使用$ rfcomm -i --device
可以查看brainlink设备已经连接到本地蓝牙0C:DD:24:16:ED:69(电脑的蓝牙地址)
$ rfcomm -i --device
rfcomm0: 0C:DD:24:16:ED:69 -> 0D:00:18:A1:54:DD channel 2 connected [reuse-dlc release-on-hup tty-attached]
3.另开一个treminal终端:
sudo cat /dev/rfcomm0 | hexdump -C
00000000 7a aa aa 04 80 02 00 6c aa aa 04 80 02 00 21 5c |z......l......!\|
00000010 aa aa 04 80 02 00 31 4c aa aa 04 80 02 00 35 48 |......1L......5H|
00000020 aa aa 04 80 02 00 6a aa aa 04 80 02 ff ef 8f aa |......j.........|
00000030 aa 04 80 02 00 06 77 aa aa 04 80 02 00 34 49 aa |......w......4I.|
00000040 aa 04 80 02 63 aa aa 04 80 02 00 0a 70 aa aa 04 |....c.......p...|
00000050 80 02 00 17 66 aa aa 04 80 02 00 16 67 aa aa 04 |....f.......g...|
00000060 80 02 00 24 59 aa aa 04 80 02 00 34 49 aa aa 04 |...$Y......4I...|
00000070 80 02 00 3b 42 aa aa 04 80 02 00 31 4c aa aa 04 |...;B......1L...|
00000080 80 02 00 6a aa aa 04 80 02 00 01 7c aa aa 04 80 |...j.......|....|
00000090 02 00 6a aa aa 04 80 02 00 20 5d aa aa 04 80 02 |..j...... ].....|
000000a0 00 04 79 aa aa 04 80 02 ff f5 89 aa aa 04 80 02 |..y.............|
如果出现的是如下形式,意味着在步骤2中没有选择正确的通道,你需要尝试你的电脑是哪一个通道
$ sudo cat /dev/rfcomm0 | hexdump -C
00000000 ff 55 02 00 ee 10 ff 55 02 00 ee 10 ff 55 02 00 |.U.....U.....U..|
00000010 ee 10 ff 55 02 00 ee 10 ff 55 02 00 ee 10 ff 55 |...U.....U.....U|
00000020 02 00 ee 10 ff 55 02 00 ee 10 ff 55 02 00 ee 10 |.....U.....U....|
00000030 ff 55 02 00 ee 10 ff 55 02 00 ee 10 ff 55 02 00 |.U.....U.....U..|
00000040 ee 10 ff 55 02 00 ee 10 ff 55 02 00 ee 10 ff 55 |...U.....U.....U|
00000050 02 00 ee 10 ff 55 02 00 ee 10 ff 55 02 00 ee 10 |.....U.....U....|
00000060 ff 55 02 00 ee 10 ff 55 02 00 ee 10 ff 55 02 00 |.U.....U.....U..|
00000070 ee 10 ff 55 02 00 ee 10 ff 55 02 00 ee 10 ff 55 |...U.....U.....U|
4.运行NeuroPy example程序获得数据。NeuroPy的程序是在python2下运行的,在python3下运行,部分代码需要做相应的修改。$ sudo python neuropyexample.py
注意代码需要在sudo模式下运行(若报错再次运行),并使用ctrl+c提前终止$ sudo cat /dev/rfcomm0 | hexdump -C
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。