I'm 赵一开, a developer.
2014/5/25 UPDATE 旧版本的树莓派Kernel有Bug,会在每次打开串口时发送一个多余的
0xF8
字符,改Bug在最新版本的内核中已修复。(如此神Bug…我已经无力吐槽了)
树莓派的UART接口默认是用于console的,要用作自己用途首先需要
将其关闭。对于运行Arch的树莓派,是通过systemd控制的,
运行systemctl disable getty@ttyAMA0.service
,
另外在/boot/cmdline.txt
中将内核参数console=ttyAMA0,115200 kgdboc=ttyAMA0,115200
删除。重启。
还是看Wiki 的引脚配置,P1-08为TXD,P1-10为RXD。(PS:注意是派上的TXD与另外模块上的RXD相连啊:),刚刚就脑残搞错了。)
我用于测试的蓝牙模块是HC-07,3.3V电压。
在树莓派上使用minicom
(通过pacman
安装)进行串口通信。
运行minicom -b 9600 -D /dev/ttyAMA0
,9600为波特率,
不同模块不同。
之后就能想蓝牙模块发送数据了。比如根据文档,发送AT
后会返回OK
。
在PC上(依然用的是Arch),打开蓝牙,通过hcitool scan
获得
蓝牙的地址,再通过sdptool records 00:12:12:28:28:65
获得channel,
最后运行rfcomm bind 0 00:12:12:28:28:65 1
(1即channel)。
这个时候应该出现了/dev/rfcomm0
设备,此时就可以通过minicom
进行通信了。
运行minicom -D /dev/rfcomm0
后,输入任意字符,在树莓派的
minicom
上就能出现相应的内容,反之依然。
据说有个叫做pySerial
的模块可以使用,不再详述。
Unable to load comments, check your (GFW Free) Internet connectivity.