0

我们有一个功能齐全的 java 程序,它可以连接到另一台计算机并可以从中发送消息(双方都运行 java,我们使用 ObexPutClient 和 ObexServer),但是当尝试连接到 NXT Brick 并通过蓝牙发送消息时,我们是能够与砖块配对,我们可以发送消息,但我们不知道 NXT 是否收到它。

当我们尝试在计算机上使用 Java ObexPutClient(我们将 NXT 的 ServerURL 提供给 java 程序)将消息发送到运行 RobotC 的 NXT Brick 时,它不起作用。在java方面,给出了错误:

“连接失败;[10064] 套接字操作失败,因为目标主机已关闭。” 是我们在 Java 上收到的错误。

使用 robotsc,积木正在等待发送消息,并等待 3 个整数来帮助机器人移动。

人们是如何成功做到这一点的,我们确保端口号是相同的。

4

1 回答 1

0

NXT 不提供 OBEX 蓝牙服务。它使用串行端口配置文件 (SPP - 有时也称为 RFCOMM)。当您将NXT 与您的主机配对时,它将在您的主机上创建一个串行端口(例如COM4)。在您的 Java 程序中,您需要打开此串行端口并以这种方式发送数据。

此外,leJOS有一个PC 库(Java),其中包括通信和远程控制功能。您可能可以使用它,因此您不必自己编写。

于 2015-02-17T19:11:07.007 回答