Android - подключение к модулю Bluetooth - PullRequest
1 голос
/ 04 апреля 2019

Мне нужно разработать приложение для Android для подключения к модулю Bluetooth, который подключен к плате. Моя цель - отправлять и получать данные на эту доску.

В настоящее время я могу включить Bluetooth на своем телефоне для сопряжения с модулем Bluetooth, но я не знаю, как подключить и отправить / получить данные для этого модуля.

В большинстве примеров объясняется, как создать сервер и клиент для связи через сокеты. Это хороший способ для меня? Как описано здесь: https://developer.android.com/guide/topics/connectivity/bluetooth.html#java

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

Ниже приведен метод:

  • создать класс обслуживания, который будет связываться каждый раз, когда он
    подключен к этому устройству.

  • зарегистрируйте эту услугу в своей основной деятельности с помощью обновления трансляции. затем просканируйте ваши устройства Bluetooth (после проверки разрешений) и подключите его,
    обратите внимание, что код соединения должен быть в вашем классе обслуживания (все взаимодействие с устройством осуществляется через класс обслуживания).

  • после этого вы можете отправлять данные на устройство Bluetooth и с него.

Вот вам пример работы с BLE, созданной Nordic Semiconductor Нажмите здесь

0 голосов
/ 04 апреля 2019

Сделайте это, как в примере: https://developer.android.com/guide/topics/connectivity/bluetooth.html#example_1

Обратите внимание, что вам, вероятно, понадобится узнать, какой тип сервиса / профиль предоставляет модуль.Часто универсальные модули / устройства используют профиль последовательного порта (SPP).

Вы используете createInsecureRfcommSocketToServiceRecord() или createRfcommSocketToServiceRecord() для подключения.

Какой UUID вам нужен, зависит от фактического обслуживания, предоставляемого модулем.Для SPP см., Например, Как найти UUID устройства Bluetooth с последовательным портом? :

Короткий 16-битный UUID для SPP составляет

0x1101

полный UUID

"00001101-0000-1000-8000-00805f9b34fb"

Итак, на Android вы бы использовали

final UUID SPP_SERVICE_UUID = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");

final BluetoothSocket socket = device.createRfcommSocketToServiceRecord( SPP_SERVICE_UUID );

socket.connect();

final InputStream is = socket.getInputStream();
final OutputStream os = socket.getOutputStream();

// Send data to output stream and/or receive data from input stream
// ...

socket.close(); // Disconnect
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...