soloforce 发表于 2013-9-24 12:28:26

想做个蓝牙无线透传ttyS0终端,碰到问题[解决中]

本帖最后由 soloforce 于 2013-11-8 15:52 编辑

因为以前做过Arduino的无线透传,用来下载代码很方便,所以想在CB上也做一个;既可以远程查看kernel信息,也可以远程登录过去操控CB。基本的思路如下:

CB端:
硬件方面:

[*]用一个蓝牙转串口模块接到CB的UART0(就是默认的四针串口),设置蓝牙模块的波特率为115200,密码随意;这样UART0进出的信息都可以从蓝牙模块上获取。
软件方面:

[*]CB的内核输出信息应该从UART0走(不需要配置内核,因为默认配置已经是UART0)
[*]uEnv.txt里面的内核引导参数要设定 console=ttyS0,115200
[*]/etc/inittab 里面要有如下的可能选择(我还没搞清楚该怎么写)
          T0:12345:respawn:/sbin/agetty -h -t 120 ttyS0 115200 vt100
          T0:12345:respawn:/sbin/getty -L ttyS0 115200 vt100
[*]其他。。。。

电脑端:

硬件方面:

[*]如果笔记本之类的有内置蓝牙,所以不需要其他硬件了
[*]台机的话买一个USB蓝牙适配器,20多元
[*]担心蓝牙驱动问题的话也可以直接买个蓝牙转串口模块+USB串口dongle,稍微贵点要30多块。

软件方面:

[*]如果用的是蓝牙设备,应该写一个蓝牙设备通信程序,可以借助libbluetooth-dev这个库
[*]如果用的是USB串口+USB 蓝牙dongle,则要写一个串口通信程序,这个也简单



目前的问题

[*]用官方的A20 Linaro Server固件,用串口线接上CB后,可以通过 minicom/超级终端/gtkterm 连上 CB的ttyS0,输入输出都没问题;然而改用CB蓝牙模块做输入输出时,远程PC端只能接收到CB输出的信息,CB端却无法接受远程端PC发送过去的输入信息。原因不明。
[*]改用自己构造教程做的debian系统,结果更糟糕。用串口线连接CB后,发现 minicom/超级终端/gtkterm 只能接收CB的输出信息,而完全不理会键盘的输入,也就是说无论怎么按键盘,ttyS0木有动静【原因已经找到,见解决方法部分】。。。串口线检查过了,没有问题。原因不得其解。

希望各位大大帮忙看看,我哪里出问题了。


解决方法

[*]首先要确认minicom的hardware control & software control 已经选择为no,否则无法输入。

我写了一个文档,参考链接:
http://docs.cubieboard.org/tutor ... ireless_serial_port

yuruyi 发表于 2013-9-26 23:04:51

你不会是只开 ttyS0 的 console,没开 /etc/inittab 中的 agetty ttyS0?

你有蓝牙、usb转TTL线、蓝牙串口模块,怎么不在电脑上组个回环测试下硬件?

仅供参考。

soloforce 发表于 2013-9-27 06:25:32

yuruyi 发表于 2013-9-26 23:04 static/image/common/back.gif
你不会是只开 ttyS0 的 console,没开 /etc/inittab 中的 agetty ttyS0?

你有蓝牙、usb转TTL线、蓝牙串口 ...

谢谢您的回复!
/etc/inittab里面已经打开了agetty ttyS0; 并且 /etc/securetty 里面也有了ttyS0;
蓝牙、串口通信已经测试过了没问题,因为以前一直都是正常的;

现在的问题是,为什么我用串口线连接CB后只能得到CB的输出信息,却不能往CB输入信息? 换言之,串口连接CB,要实现ttyS0 console的话要具备哪些要求?

yuruyi 发表于 2013-9-28 16:33:15

确认硬件没问题,那你需要优先检查蓝牙串口模块到cb串口的接线。

yuruyi 发表于 2013-9-28 17:38:47

刚想起来一点,以前用qemu-system-arm模拟器测试时,有那么几次也出现过类似现象,模拟串口有输出,重启一两次就好啦,一直没在意过。

zgj920626 发表于 2015-4-14 14:55:42

我目前也在用蓝牙转串口模块+USB串口连接ct板子上的BT,配对上了,用minicom终端没点反应,不知道怎么搞,大神,能给点提示吗

soloforce 发表于 2015-4-15 15:34:47

本帖最后由 soloforce 于 2015-4-15 15:36 编辑

波特率设对没?就是蓝牙模块的波特率和CB USB2TTL端口(或者minicom里面的波特率)的波特率要一致, 另外, 要确认minicom的hardware control & software control 已经选择为no,否则无法输入。


zgj920626 发表于 2015-4-21 16:16:10

soloforce 发表于 2015-4-15 15:34 static/image/common/back.gif
波特率设对没?就是蓝牙模块的波特率和CB USB2TTL端口(或者minicom里面的波特率)的波特率要一致, 另外, ...

我设置的是ttyS1,38400;ttyUSB0,38400,我确认把minicom的hardware control & software control 选择为no.还有我用手机蓝牙连接ct内置蓝牙,只能单向传输文件,就是手机可以往开发板传,这怎么解
页: [1]
查看完整版本: 想做个蓝牙无线透传ttyS0终端,碰到问题[解决中]