与Mono C#进行蓝牙通信

时间:2012-07-07 22:01:19

标签: c# mono bluetooth rfcomm

我试图通过蓝牙在PC(Linux 32位)和硬件设备之间建立串行连接。

我已经使用cutecom对系统进行了测试。有用。波特115200,/dev/rfcomm0等......

现在,我尝试使用Mono创建客户端软件,以便能够实现通信协议。我测试了SerialPort对象:

    SerialPort mySerial;
    mySerial = new SerialPort("/dev/rfcomm0", 115200);
    mySerial.Open();
    mySerial.ReadTimeout = 1000;

它不起作用。我已经通过/dev/ttyACM0上的有线串行连接对系统进行了测试,但它确实有效。所以我不认为这是方法。

我尝试使用FileStreamStreamReader,但却抛出Exception.IO: WIN32 IO returned 997

如何使用带有Mono C#的蓝牙设备进行串行连接?

1 个答案:

答案 0 :(得分:0)

从bluez 5开始,dbus is the preferred method与bluez vs interop交互。关于这个主题here有一系列帖子,基本上它涉及连接到dbus并执行以下操作。

  • 注册配对代理
  • 配对设备
  • 注册serial / rfcomm配置文件
  • 发信号通知您要连接的设备并等待配置文件对象上的连接
  • 从返回的文件描述符对象中打开流。

获得流之后,就可以像在将其作为串行端口打开时一样,对流执行所有常用的读/写操作。