我遇到了一个问题,我的Arduino 101设备不会被BLE扫描发现。但是,如果我扫描正常的蓝牙设备,它会显示出来。
我正在尝试使用谷歌的BLE Gatt示例https://developer.android.com/samples/BluetoothLeGatt/project.html,但该设备未显示。即使使用未经修改的代码。
但是,如果我查询连接的蓝牙设备,它会显示我的设备。
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
String name = "";
for (BluetoothDevice device : pairedDevices) {
if (device.getName().equals("B & S")) {
bsDevice = device;
name += device.getName();
}
}
如果我尝试使用createRfcommSocketToServiceRecord(MY_UUID)
或createInsecureRfcommSocketToServiceRecord
连接到设备,则会收到错误
java.io.IOException:读取失败,socket可能关闭或超时,读取ret:-1
UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); //Standard SerialPortService ID
socket = bsDevice.createInsecureRfcommSocketToServiceRecord(uuid);
socket.connect();
我正在使用一个应用程序https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=en,它允许我连接到设备,但它显示的特征是字节信息并且含糊不清。
我应该如何正确连接到Arduino 101 BLE设备?