2012-02-06 2 views
3

Как новичок в программировании на Android У меня есть вопрос: Я хочу получать данные (два байта) из модуля bluetooth/serial, подключенного к микропроцессору. Эти данные должны быть напечатаны на экране, а обновленные - раз в секунду. Я нашел это уже: How to prevent Android bluetooth RFCOMM connection from dying immediately after .connect()? Какой должен быть рабочий код, но ничего не происходит. Я изменил адрес mac на 00: 11: 12: 05: 03: 67, который должен соответствовать моему модулю Bluetooth.Простой приемник данных Bluetooth Android

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

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

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

Kevin

ответ

5

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

Однако ... хотя этот вопрос, на который вы ссылаетесь, дает очень полезный компактный код, я не думаю, что это лучшее место для вас. Место, которое вы должны начать, - Android's Bluetooth documentation, что объясняет весь процесс очень хорошо, в том числе, как использовать отдельный Threads для обработки обнаружения, подключения и т. Д. На самом деле очень легко начать работу с Bluetooth Chat source code. Используя это, вы можете быстро встать и работать и подключиться к модулю Bluetooth-serial. Вам просто нужно, чтобы убедиться, что вы изменить UUID, которая требуется для последовательного порта Profile (SPP):

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

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

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

Смежные вопросы