Как подключить 2 устройства к одному устройству AndroidJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как подключить 2 устройства к одному устройству Android

Сообщение Anonymous »

Я разрабатываю приложение для Android, которое использует Google Maps и Bluetooth для отслеживания данных с Arduino Nano с модулем HC-06.
В настоящее время я могу подключиться к одному устройству HC-06 и обрабатывать его данные, такие как координаты и угол. Теперь я хочу подключиться к двум модулям HC-06 одновременно, каждому из отдельного Arduino Nano, и обрабатывать данные от каждого независимо.
Например:
  • Устройство 1 → отправляет Широту и долготу
  • Устройство 2 → отправляет Угол
Вот мой текущий код для подключения к одному HC-06 и обработки данных:

Код: Выделить всё

private void connectToHC06() {
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter == null) {
Toast.makeText(this, "Bluetooth not supported", Toast.LENGTH_LONG).show();
finish();
return;
}

if (!bluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
return;
}

Set bonded = bluetoothAdapter.getBondedDevices();
BluetoothDevice connectedDevice = null;
for (BluetoothDevice d : bonded) {
if ("HC-06_BT".equals(d.getName())) {
connectedDevice = d;
break;
}
}

if (connectedDevice == null) {
Toast.makeText(this, "HC-06 not found", Toast.LENGTH_SHORT).show();
return;
}

try {
bluetoothSocket = connectedDevice.createRfcommSocketToServiceRecord(HC06_UUID);
bluetoothSocket.connect();
inputStream = bluetoothSocket.getInputStream();
Toast.makeText(this, "Connected to HC-06", Toast.LENGTH_SHORT).show();
startListening();
} catch (IOException e) {
Log.e(TAG, "Connection error", e);
Toast.makeText(this, "Connection error", Toast.LENGTH_SHORT).show();
}
}

Код: Выделить всё

private void startListening() {
if (inputStream == null) return;

new Thread(() -> {
byte[] buffer = new byte[1024];
int bytes;
StringBuilder messageBuffer = new StringBuilder();

while (!Thread.currentThread().isInterrupted()) {
try {
bytes = inputStream.read(buffer);
if (bytes 

Подробнее здесь: [url]https://stackoverflow.com/questions/79849673/how-to-connect-2-devices-to-the-same-android-device[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»