与Mono C#进行蓝牙通信

use*_*289 6 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;
Run Code Online (Sandbox Code Playgroud)

它不起作用.我已经通过有线串行连接测试了系统/dev/ttyACM0,并且它工作正常.所以我不认为这是方法.

我试过用FileStream,StreamReader但扔了一个Exception.IO: WIN32 IO returned 997.

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

Bro*_*ook 0

从 bluez 5 开始,与 interop 相比,dbus 是与 bluez 交互的首选方法。这里有一系列关于这个主题的帖子,基本上涉及连接到 dbus 并执行以下操作。

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

一旦获得流,您就可以在流上执行所有常见的读/写操作,就像将其作为串行端口打开一样。