Ich vermute, Sie haben Probleme beim Scannen für BLE-Geräte auf dem Raspberry Pi 3 mit Nearby. Es kann ein Problem mit der Android-Treiberschnittstelle zum integrierten Bluetooth-LE-Chip sein.
In der Nähe ist eine harte API zur Fehlersuche, da es hohe Ebene und undurchsichtig ist. Ich würde versuchen, Low-Level-Scanning-APIs zu verwenden, um festzustellen, ob Sie bessere Fehlermeldungen erhalten. Sie könnten versuchen, meine super einfache BLE packet counter App zu laufen. Es macht einen Scan wie folgt und einfach protokolliert eine Zählung der Ergebnisse:
private BluetoothAdapter mBluetoothAdapter;
private boolean mScanning;
private Handler mHandler;
private long mAdvertisementCount = 0;
private BluetoothAdapter.LeScanCallback mLeScanCallback =
new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(final BluetoothDevice device, int rssi,
byte[] scanRecord) {
mAdvertisementCount++;
Log.d(TAG, ""+mAdvertisementCount);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final BluetoothManager bluetoothManager =
(BluetoothManager) getSystemService(this.BLUETOOTH_SERVICE);
mBluetoothAdapter = bluetoothManager.getAdapter();
}
@Override
protected void onResume() {
super.onResume();
mBluetoothAdapter.startLeScan(mLeScanCallback);
}
protected void onPause() {
super.onPause();
mBluetoothAdapter.stopLeScan(mLeScanCallback);
}
Wenn Sie diesen Code ausführen können Sie sehen, wenn Sie Low-Level-Fehler in den Protokollen bekommen, und wenn der Zähler erhöht in Gegenwart von ein Leuchtfeuer.