Простой приемник данных Bluetooth для Android - PullRequest
3 голосов
/ 06 февраля 2012

Как новичок в программировании на Android, у меня возник вопрос: я хочу получать данные (два байта) от блютуз / последовательного модуля, подключенного к микропроцессору.Эти данные должны выводиться на экран и обновляться, скажем, раз в секунду.Я уже нашел это: Как предотвратить немедленное прекращение соединения Android Bluetooth RFCOMM после .connect ()? Какой должен быть рабочий код, но ничего не происходит.Я изменил MAC-адрес на 00: 11: 12: 05: 03: 67, который должен соответствовать моему модулю Bluetooth.

Я направляюсь полностью в неправильном направлении с этим?Я думаю, что я хочу, это довольно просто: просто односторонняя передача данных по Bluetooth.

Любые мысли будут очень цениться.

С наилучшими пожеланиями,

Кевин

1 Ответ

5 голосов
/ 06 февраля 2012

Вопрос, который вы упомянули, очень полезен, поскольку он предоставляет обходной путь для ситуации, когда обычный вызов .createRfcommSocketToServiceRecord() не работает. Я лично использовал это решение в проекте, который я сейчас делаю. Что я делаю, так это сначала пытаюсь вызвать .createRfcommSocketToServiceRecord(), и если это не удается, мой код пытается соединиться с обходным решением .getClass().getMethod("createRfcommSocket", new Class[]{int.class});. Экспериментировав с несколькими печатными платами Bluetooth-to-serial, некоторые из них имеют тенденцию быть немного «неуклюжими», и последний метод отражения работает, когда .createRfcommSocketToServiceRecord() не работает.

Однако ... хотя тот вопрос, на который вы ссылались, дает очень полезный компактный фрагмент кода, я не думаю, что это лучшее место для вас, чтобы начать. Вам следует начать с документации Bluetooth для Android , которая очень хорошо объясняет весь процесс, включая использование отдельного Threads для обработки обнаружения, подключения и т. Д. На самом деле, начать работу с использованием действительно легко. Исходный код чата Bluetooth . С его помощью вы можете быстро начать работу и подключиться к последовательному Bluetooth-модулю. Вам просто нужно убедиться, что вы изменили UUID на тот, который требуется для профиля последовательного порта (SPP):

private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");

Этого, надеюсь, будет достаточно, чтобы иметь простое приложение, которое будет общаться с вашим последовательным модулем Bluetooth. Пример приложения Bluetooth Chat также предоставляет вам диалоги, которые обрабатывают обнаружение устройства, сопряжение и все такое хорошее, так что вам не придется возиться с жестким кодированием MAC-адреса вашего устройства, как это было раньше.

Если у вас возникли проблемы с подключением, вам нужно быть конкретным в отношении того, что на самом деле происходит; то есть, какие исключения вы получаете, и так далее.

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