BLUETOOTH. нужна помощь
-
- Сообщения: 115
- Зарегистрирован: 08 янв 2015, 14:32
BLUETOOTH. нужна помощь
Ребят, направьте меня куда копать, пожалуйста.
есть устройство с BLUETOOTH - делает замеры. суть приложения андройд - сохранить данные о замерах с привязкой к карте GOOGLE.
как бы вопросов не возникает, кроме самого контакта по BLUETOOTH!!!
устройство без проблем коннектится к планшету. дальше оно отвечает в режиме com-порта... низкоуровневый бинарный запрос - на него приходит ответ. Вот пример:
Request
01 10 01 70 16 F0 07 02 2F 10 02 64 00 C8 00 03 1F C7 04
Answer
01 10 16 F0 01 70 16 02 2F 10 00 02 08 00 64 00 16 9F 7A D5 41 08 00 C8 00 16 AC 57 BE 41 03 3B 2D 04
под WIN32 победил за сутки - всё работает.
А как организовать это на андройде??? примера полного не прошу, хотябы направьте, как получить такого рода доступ к блютусине???
есть устройство с BLUETOOTH - делает замеры. суть приложения андройд - сохранить данные о замерах с привязкой к карте GOOGLE.
как бы вопросов не возникает, кроме самого контакта по BLUETOOTH!!!
устройство без проблем коннектится к планшету. дальше оно отвечает в режиме com-порта... низкоуровневый бинарный запрос - на него приходит ответ. Вот пример:
Request
01 10 01 70 16 F0 07 02 2F 10 02 64 00 C8 00 03 1F C7 04
Answer
01 10 16 F0 01 70 16 02 2F 10 00 02 08 00 64 00 16 9F 7A D5 41 08 00 C8 00 16 AC 57 BE 41 03 3B 2D 04
под WIN32 победил за сутки - всё работает.
А как организовать это на андройде??? примера полного не прошу, хотябы направьте, как получить такого рода доступ к блютусине???
-
- Сообщения: 115
- Зарегистрирован: 08 янв 2015, 14:32
Re: BLUETOOTH. нужна помощь
вот нашёл что мне нужно: BluetoothSocket
http://developer.android.com/intl/ru/re ... ocket.html
кто работал с этим??? как со стримом общаться???
http://developer.android.com/intl/ru/re ... ocket.html
кто работал с этим??? как со стримом общаться???
Re: BLUETOOTH. нужна помощь
Поиск по проектам гитхаба по тегам + по расширению файла.
https://github.com/search?utf8=%E2%9C%9 ... rchresults
Например один из результатов: https://github.com/marcuspimenta/Chat-B ... rvice.java
или вот еще
https://github.com/arcBlin/AndroidBluet ... hread.java
https://github.com/search?utf8=%E2%9C%9 ... rchresults
Например один из результатов: https://github.com/marcuspimenta/Chat-B ... rvice.java
или вот еще
https://github.com/arcBlin/AndroidBluet ... hread.java
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
-
- Сообщения: 115
- Зарегистрирован: 08 янв 2015, 14:32
Re: BLUETOOTH. нужна помощь
Огромное СПАСИБО! почти уже победил)
тока походу в отдельный поток надо выкидывать( как-то очень криво оно работает у меня( коннект есть!!! теперь буду отлаживать...
тока походу в отдельный поток надо выкидывать( как-то очень криво оно работает у меня( коннект есть!!! теперь буду отлаживать...
-
- Сообщения: 115
- Зарегистрирован: 08 янв 2015, 14:32
Re: BLUETOOTH. нужна помощь
эммм... всёжтаки ещё нужна помощь(((
получил сокет... законнектил... mmSocket.isConnected() выдаёт true. Имею в итоге mmInStream и mmOutStream для входа и выхода.
не получается кинуть байты( вот что делаю:
как всёжтаки правильно то??? мне нужно чтобы закинулся массив байт вот в таком виде:"01 10 01 90 16 F0 04 02 23 10 6F 00 03 89 B9 04"
где я неправ?) подключенное устройство не отвечает на запрос, хотя под вин32 аналогичный запрос возвращает нормальные данные.
получил сокет... законнектил... mmSocket.isConnected() выдаёт true. Имею в итоге mmInStream и mmOutStream для входа и выхода.
не получается кинуть байты( вот что делаю:
Код: Выделить всё
public void onClickWRITE(View view) {
sendData("01 10 01 90 16 F0 04 02 23 10 6F 00 03 89 B9 04");
// sendData("0x01 0x10 0x01 0x90 0x16 0xF0 0x04 0x02 0x23 0x10 0x6F 0x00 0x03 0x89 0xB9 0x04");
// sendData("0110019016F0040223106F000389B904");
}
Код: Выделить всё
private void sendData(String message) {
byte[] msgBuffer = message.getBytes();
try {
mmOutStream.write(msgBuffer);
} catch (IOException e) {};
}
-
- Сообщения: 115
- Зарегистрирован: 08 янв 2015, 14:32
Re: BLUETOOTH. нужна помощь
победил OUTSTREAM
если кому надо, делаю вот так:
если кому надо, делаю вот так:
Код: Выделить всё
byte[] temp = { (byte) 0x01,
(byte) 0x10,
(byte) 0x01,
(byte) 0xA0,
(byte) 0x01,
(byte) 0xF0,
(byte) 0x04,
(byte) 0x02,
(byte) 0x23,
(byte) 0x10,
(byte) 0x64,
(byte) 0x00,
(byte) 0x03,
(byte) 0xBE,
(byte) 0xF8,
(byte) 0x04};
try {
mmOutStream.write(temp);
} catch (IOException e) { };
-
- Сообщения: 115
- Зарегистрирован: 08 янв 2015, 14:32
Re: BLUETOOTH. нужна помощь
теперь прошу помощи распарсить входящий стрим.
не получается(((
onClickREAD:
таким образом приходят 22 байта... мне нужно взять последовательно 18+17+16+15 байт и получить из этого значение во float
не соображу как это реализовать((( Помогите, пожалуйста!
не получается(((
onClickREAD:
Код: Выделить всё
byte[] buffer;
int bytesAvailableCount = 0;
int bytesReadCount = 0;
StringBuilder receivedString = new StringBuilder();
String line = "";
try {
bytesAvailableCount = mmInStream.available();
Log.d(LOG_TAG, "получено " + bytesAvailableCount+"байт");}
catch (IOException e) {};
buffer = new byte[bytesAvailableCount];
try {
bytesReadCount = mmInStream.read(buffer, 0, buffer.length);
}
catch (IOException e) {};
не соображу как это реализовать((( Помогите, пожалуйста!
-
- Сообщения: 115
- Зарегистрирован: 08 янв 2015, 14:32
Re: BLUETOOTH. нужна помощь
вот так у меня работает это в делфи:
очень нужна помощь с синтаксисом android.java
как такое реализовать?
хотябы подскажите в каком направлении копать??? как стрим считать побайтно в массив???
Код: Выделить всё
for i := 1 to 20 do cpd.ReadByte(reg[i]); //прочитал побайтно в массив
s:= format('%.2x',[reg[18]])+format('%.2x',[reg[17]])+format('%.2x',[reg[16]])+format('%.2x',[reg[15]]); // слепил всё в стринге
p:=StrToInt('$'+s);//дальше преобразую к float
float:=PSingle(@p)^;
ONO:= FloatTostr(float);
очень нужна помощь с синтаксисом android.java
как такое реализовать?
хотябы подскажите в каком направлении копать??? как стрим считать побайтно в массив???
Re: BLUETOOTH. нужна помощь
Input Output stream java
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
-
- Сообщения: 115
- Зарегистрирован: 08 янв 2015, 14:32
Re: BLUETOOTH. нужна помощь
дошёл вот до чего:
теперь у меня в s лежит стринговое значение "01071A0D"
дело за малым) как его конвертировать во float ???
Код: Выделить всё
byte[] buffer;
buffer = new byte[bytesAvailableCount];
try {
bytesReadCount = mmInStream.read(buffer, 0, buffer.length);
}
catch (IOException e) {};
StringBuilder sb = new StringBuilder(8);
sb.append(String.format("%02x", buffer[18] & 0xff));
sb.append(String.format("%02x", buffer[17] & 0xff));
sb.append(String.format("%02x", buffer[16] & 0xff));
sb.append(String.format("%02x", buffer[15] & 0xff));
s=sb.toString();
теперь у меня в s лежит стринговое значение "01071A0D"
дело за малым) как его конвертировать во float ???
-
- Сообщения: 115
- Зарегистрирован: 08 янв 2015, 14:32
Re: BLUETOOTH. нужна помощь
Всё. можно закрывать топик. победил от А до Я
вот подсказали как преобразовать во float http://stackoverflow.com/questions/1071 ... at-in-java
если будут вопросы по блютус сокету, как говорится, ВЕЛКОМ!
теперь пойду ваять интерфес и маленько оптимизирую всё под свои нужды. Спасибо всем, кто помогал в освоении!
вот подсказали как преобразовать во float http://stackoverflow.com/questions/1071 ... at-in-java
если будут вопросы по блютус сокету, как говорится, ВЕЛКОМ!
теперь пойду ваять интерфес и маленько оптимизирую всё под свои нужды. Спасибо всем, кто помогал в освоении!