2017-10-16 12 views
-3

하나의 안드로이드 장치에 적어도 두 개의 장치를 연결해야합니다. 하지만 여러 연결을 연결하고 여러 명령을 보내는 방법을 모르겠습니다. PLZ 도와주세요 ... 정말 모르겠다. ...BLE - 연결 멀티 및 writeCharacteristic 복수

하나의 BLE 장치를 하나의 Android 장치에 연결할 수 있습니다.

첫째, 예와 같이 하나 개의 서비스에서 두 장치 (동일한 UUID 다른 어드레스)를 접속

BluetoothDevice device = mBluetoothAdapter.getRemoteDevice("aa:12:12:33"); 
mGatt = device.connectGatt(mContext, false, mGattCallback); 

BluetoothDevice device = mBluetoothAdapter.getRemoteDevice("bb:18:66:44"); 
mGatt = device.connectGatt(mContext, false, mGattCallback); 
난 (그들이 단추가) 각 장치 동작들을 수

가 GattCallback 콜백이 두 장치 동작에서 유래 ,하지만 BluetoothGatt.writeCahracteristic 두 장치에 보낼 수 없습니다.

+0

나는 거의 2 주간의 연구를했지만, 모르겠다. .. –

+0

문제점은 무엇입니까? 여러 BluetoothDevice 객체에서 connectGatt 메소드를 실행하기 만하면됩니다. – Emil

+0

@Emil이 내 기사를 다시 작성합니다. 한 번에 두 장치에 writeCahracteristic을 보낼 수 없습니다 ... –

답변

0

확실하지 않지만이 문제를 해결했습니다. 전에 하나의 서비스 (안드로이드 구성 요소)를 사용하려고했지만 서비스마다 BLE 장치를 사용했습니다. 그러나 나는 이것이 해결책이 아니라고 생각한다. 왜냐하면 내가 장치를 더 많이 사용해야한다면 최대 서비스 컴포넌트를 준비해야하기 때문이다.

+0

각 연결마다 다른 BluetoothGattCallback 개체를 사용해야합니다. 그런 다음 각 connectGatt에서 반환 된 BluetoothGatt 객체를 다른 변수에 저장해야합니다. – Emil

+0

@Emil 예 감사합니다. 제 경우에는 각 BluetoothService에 각 BluetoothGattCallback 개체가 있습니다. 귀하의 조언에 감사드립니다 –