【问题标题】:How to read data from Leica DISTO via bluetooth?如何通过蓝牙从 Leica DISTO 读取数据?
【发布时间】:2016-03-17 16:25:58
【问题描述】:

我有一台徕卡 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);
    }
}

提前感谢您的帮助!

【问题讨论】:

    标签: c# bluetooth


    【解决方案1】:

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

    cfm\n

    所以现在的代码是:

    await stream.WriteAsync(Encoding.ASCII.GetBytes("cfm\n"), 0, 4);   
    await stream.FlushAsync();
    

    PS:非常感谢徕卡客户服务部门接听我的邮件和电话。

    【讨论】:

    • 发送“cfb 0\r\n”永久关闭E240;或“cfb 128\r\n”重新打开它。 "此命令仅对 BT 2.1 设备有效,对 BT 4.0 无效"。
    【解决方案2】:

    使用Disto Transfer PC应用程序关闭确认信号(E240)

    (您需要最大化应用程序才能看到它的额外功能)

    【讨论】:

      【解决方案3】:

      尝试在流上发送 CRLF。之后冲洗它。

      我在这里查看了这个:https://www.b4x.com/android/forum/threads/connect-leica-disto-via-bluetooth-spp.53104/

      虽然语言不同,但概念应该是一样的。

      希望这会有所帮助!

      【讨论】:

      • 感谢 Octanic,我添加了这两行:stream.Write(Encoding.ASCII.GetBytes("\r\n"), 0, 2); stream.Flush(); 但它并没有解决问题!我做错了吗?
      • @Michele 似乎是正确的。但是,您可以认为流不接受 ASCII 编码。您是否尝试过另一种编码,例如 UTF-8?除了错误之外,流是否有任何额外的数据?我的意思是,除了错误,您还有其他信息吗?
      • 如果我使用 UTF-8 编码,字节是相同的两个(13、10)。如果我使用 Unicode,则字节为四个 (13,0,10,0) 而不是两个,我会收到 @E203 答案。但不幸的是它并没有解决我的问题
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-25
      • 2017-12-14
      • 2020-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-29
      相关资源
      最近更新 更多