我正在尝试在BeagleBone和我的笔记本电脑之间建立串行连接。这类似于我之前在Arduino上成功使用的设置&笔记本电脑。问题是,虽然很明显有一个信号在两台机器之间传递,但输出似乎是损坏的。
BB连接到TX和RX线路上的Bluesmirf Silver。
我用Python编写了一个处理串行通信的类。这在BB和Arduino之间的通信中工作得很好,所以我非常确信我已经处理了引脚上的设置,多路复用模式等等。
但同样的代码,当通过Bluesmirf时无法工作。在所有设置为19200波特8-N-1的情况下,从BB发送到笔记本电脑的文本将以一系列0xE0字符的形式到达。改变波特率(是的,我会小心地在两端都改变它)可以改变笔记本电脑上显示的内容--有时什么都不能通过,有时显然是随机的。不过,大多数情况下,字节似乎具有较高的值。在19200处,所示的通过的字节数比发送的字符数多两个或三个字节。
在使用Serial() (即PySerial)将self.serPort定义为串行端口后,我使用以下代码发送文本(作为字符串‘sendStr’传递):
self.serPort.write(sendStr.encode('utf-8', 'replace'))我试着用'ascii‘代替'utf-8’
在同一个程序中,我以同样的方式将相同的字符串发送到Arduino,Arduino回显它,一切都在那里正常工作。它只是通过蓝魔的东西,让我感到悲哀。
(为了记录在案,在笔记本电脑上,我使用CoolTerm发送和接收MacBook专业版。在我之前的设置中,使用Arduino通过Bluesmirf与笔记本电脑通信,笔记本电脑正在运行处理草图。我用BB设置尝试了相同的草图,但仍然没有乐趣)。
有什么想法吗?
发布于 2013-09-14 02:38:48
您是如何通过USB连接蓝牙的?您必须使用如下代码:
import serial as s
device = "/dev/tty01"
s.Serial(device, 4800)BBB中USB端口的名称是什么?或者您是如何在BBB中列出USB端口的?
https://stackoverflow.com/questions/11065117
复制相似问题