如何通过蓝牙从Leica DISTO读取数据?

Mic*_*ica 3 c# bluetooth

我有Leica DISTO D3a BT。它是一种测量设备,它通过蓝牙发送测量值。

我编写了一些代码来获取蓝牙流,我收到了数据,但始终收到“错误240”消息。

这意味着(从用户手册中)我无法确认数据传输的成功。

我该怎么做?

这是我的代码:

int bytesRead = 0;
System.IO.Stream stream = client_.GetStream();
byte[] buffer = new byte[k_BUFFER_BYTES];  
while(true)
{
    Task.Delay(100);
    if (client_.Available > 0) // Available contains the available bytes
    {
        int counter = 0;
        string output = "";

        while (counter < client_.Available)
        {
            bytesRead = stream.Read(buffer, 0, k_BUFFER_BYTES);
            counter += bytesRead ;

            output += System.Text.Encoding.ASCII.GetString(buffer, 0, bytesRead);
        }
        stream.Write(Encoding.ASCII.GetBytes("\r\n"), 0, 2);
        stream.Flush();

        Console.WriteLine(output + " - " + counter + " - " + client_.Available);
    }
}
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助!

Mic*_*ica 5

终于我得到了答案!我安装了一个串行嗅探器,发现响应的确认字符串是:

cfm \ n

现在的代码是:

await stream.WriteAsync(Encoding.ASCII.GetBytes("cfm\n"), 0, 4);   
await stream.FlushAsync();
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

PS:非常感谢Leica的客户服务部回复我的邮件和电话。