2014-02-27 180 views
3

我想将我的Android手机与BLE设备配对使用createBondsetPinthis StackOverflow question一样。我可以绑定一个蓝牙低功耗设备吗?

我正在使用TI SensorTag,并且我能够连接它,但是我想将它连接到债券,以便我以后不必进行扫描。

不幸的是,当我使用createBond(或者当我尝试通过Android蓝牙设置进行配对时),我的手机需要PIN码。我一直无法在网上找到PIN,有些人问我BLE设备无法绑定(他们只使用Just Works方法)。有人知道SensorTag PIN码,在哪里可以找到它,或者我是否完全脱离基地?

+0

没有按照我的知识,您不能绑定蓝牙低功耗设备,因为它在配置文件机制上工作。不像传统的核心蓝牙设备。 – user370305

+0

如果您发现任何其他信息,请告知我。谢谢。 – user370305

+4

根据[nordic](https://devzone.nordicsemi.com/documentation/nrf51/5.0.0/html/ble_pairing_guide.html),您可以确定绑定BLE设备 – Zatricion

回答

1

尽管BLE是蓝牙4.0的一个分支,因此应该支持配对和绑定。

从技术上讲,“Just Works”方法仍然意味着结合。不过,根据我的经验,Android和iOS设备无需连接并从禁用身份验证的BLE设备读取数据。

+0

调用createbond()API适用于BLE?我有配对问题。它会显示在我已配对的设置列表中吗?或者我正在尝试一些不可能/正确的事情? –

+0

你能详细说明你如何“得到它的工作”? –

1

我使用Android使用TI SensorTag数据的经验是它没有绑定。 TI SensorTag使用Just Works BLE方法。

这是我使用与TI SensorTag,基于该信息在http://developer.android.com/guide/topics/connectivity/bluetooth-le.html

  1. 按下SensorTag按钮进行通信的序列。这将导致它监听扫描请求。
  2. call startLeScan()。等待回拨。
  3. 在您的onLeScan()回调中,保存发现的TISensorTag的设备。
  4. 在UI线程上,调用device.connectGatt()并等待回调。
  5. 在您的onConnectionStateChange()中,调用discoverServices()并等待回调。
  6. 在onServicesDiscovered()中,通知您的UI线程您已连接。
  7. 在您的UI线程中,使用readCharacteristic()开始读取GATT特性。等待回拨。
  8. 在onCharacteristicRead()中,调用其中一个getValue()方法。
  9. 致电BluetoothGatt.close()。这个电话很重要。如果您的应用程序在未调用close()的情况下退出,蓝牙堆栈可能无法使用,您需要重新启动手机。
+3

我想要绑定设备或以某种方式使连接时无需扫描。 在这[文档](http://padovan.org/pub/bluetooth/bluetooth-security-article.pdf)中,它表示Just Works使用与数字比较相同的方法。这是否意味着我可以启动一个没有数据的比较,并让设备结合? – Zatricion

+3

这不是粘合。 Downvoted。 –

1

我把我的手机绑定到2540外设,而PIN是00000000,8个0;我不确定它是否适用于TI传感器标签,可以试试。 而且我也有一个问题,我如何使用保税设备。

0

我能够将0000T的SensorTag作为PIN进行绑定。