脑电波模块:
脑电波模块以串口UART相连,提供了有线直连和无线蓝牙两种物理连接方式最初的情况是脑电波模块只有Windows下的调试程序和源代码,而我们使用的是树莓派B+,它的硬件框架是ARMv6,因此实际上不但不能支持Windows,就连大部分Linux发行版诸如Ubuntn都不支持
开机配置:
官方推荐的是Raspbian,这是一个由Debian经过为树莓派优化改进后的版本(%3的软件包经过重新编译)到官网下载系统安装包(实际上是img镜像 )通过Win32DiskImager写入SD卡(在官网上会有一张它所支持的或不支持的SD卡品牌型号,并且考虑到201502版的Raspbian展开有14个G,所有SD卡大小最后不小于32G)
操作方式:
- HDMI连接接显示器,usb接连线鼠标、键盘 或蓝牙鼠标键盘。注意如果你的显示器没有hdmi接口,只有VGA或DVI时,最后购买带外接电源口的转码线,以防供电不足甚至对树莓派造成破坏
SSH 树莓派默认开启了ssh连接,通过一根网线直连或通过路由器 或UART串口和电脑相连,windows下用PuTTy等远程连接软件连接,并且树莓派安装了tightvnc后,可以用tightvnc 远程开启树莓派图形界面
默认密码root:
pi
password:raspberry
适用性修改:
首先是sudo raspi-config
进入配置界面,将整个空间拓展到sd卡全部,修改键盘布局及地区,设置字库spacs
选中
串口操作修改:
- 修改
/boot/cmdline.txt
将console=ttyAMA0 kgdboc=ttyAMA0两个选项删除,/dev/ttyAMA0 就是UART端口文件 - 修改
/etc/inittab
将 最后一行#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
注释掉
这是因为树莓派的uart串口默认处于调试状态不能直接用
串口编程的小记:
以下是各种比较挫折的经历,实际上折腾这个串口的编程持续到了现在,它的关键实际上就是:
1. 从串口获取数据并成功解析出来
2. 实时获取串口数据,在此基础是实现非堵塞更好
为了实现以上两个目的,作为菜鸟的我从2014年折腾到2015年,冬去春来花落花开一转眼夏天都要到来了。。。
脑电波串口发送的是16进制数据,数据格式听起来很清楚,但仔细一想md,16进制还是10进制还是2进制和我有什么关系,我要的是编码方式!也许这个16进制是某种默认的编码方式但我对那很陌生,一开使尝试 用网线直连树莓派和笔记本ssh远程连接,用线直连脑电波模块串口 并且用 minicom(linux)调试串口,嗯,没什么意义,而且一直收不到目标数据
后来用 TTL串口转usb在Windows下调试,还是收不到数据,也试过TTL串口转usb连树莓派能正常从树莓派向笔记本发送数据,但无法接受数据,这里没有深入研究,之后上网搜了一下串口编程的源码因为我只是对c不谦虚的说比较熟练因此代码只局限于c,结果找出了一大坨的代码,
满屏跑宏,看看就是微醺。在大二下学期的剩余时间里研究c代码,又尝试让树莓派显示中文并输入中文,但尝试很长时间无果,也没有深究。至今疑惑(通过SSH当然可以输入中文)
其实大部分时间还是学习(毕竟是高中一般的西北某高校)和各种强制性的无聊的官方活动
实际上没有做什么有实际效果的事情,到了没有强制性活动
的寒假,花了几天看完了三本Windows注册表的入门级书,又买了本python 学习手册啃啃,啃完了基本数据类型,呵,啃不动了,再加上装电脑什么的就又耽搁了(好吧这其实是借口,前二十天)后二十天又学习了若干部精品Galgame,看了几本小说最后一个周,想起某位操蛋的脸,和我心中残存的良知,我开始重新拾起c的串口源代码,嗯嗯,
其实最麻烦的就是关于串口的控制,各种宏的名字真是抽象,好在本人擅长黑箱编程 总算