【问题标题】:BLE GATT upload data - AndroidBLE GATT 上传数据 - Android
【发布时间】:2014-10-01 19:16:22
【问题描述】:

尝试使用三星 Galaxy S4 连接到 BLE 设备(GATT 服务器), 我成功连接到设备并获得了心跳。

现在我需要将 1280 个字节作为 16 个 80 个字节的块发送。接收到这 16​​ 个块后的设备应回复 16 个上传状态,

我得到的只是其中一个块的一种上传状态(不是特定的,随机的)

我尝试通过 (this.wait, Thread.sleep..) 使用许多值更改发送间隔, 没有任何好的结果。

使用 Objective-c (iPhone) 的类似应用程序在设备上运行良好:(

** 我认为这可能与 关于这个问题的任何提示? 或管理传输速率(间隔)的方法**

runOnUiThread(new Runnable() {
        @Override
        public void run() {
            for (int i = 0; i < chunkToUpload; ++i) {
                sendNthModeData(i);
                try {   
                    //this.wait(100);
                    Thread.sleep(30,1);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

            }
        }
    });

【问题讨论】:

    标签: android bluetooth-lowenergy gatt


    【解决方案1】:

    您需要等待onCharacteristicWrite在BluetoothGattCallback中被调用,然后才能发送下一位数据,否则其他数据会掉在地上。因此,在您覆盖 onCharacteristicWrite 时,如果您还有更多内容要编写,则为该写入启动一个 Runnable。

    【讨论】:

      猜你喜欢
      • 2015-01-20
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 2017-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多