![]() |
Управление устройствами по Bluetooth
Вложений: 2
Доброе время суток! Не раз на этом форуме поднимался вопрос по теме Bluetooth и пк или мк, в библиотеках есть только Lib_bt которая позволяет соединить два телефона. Здесь http://www.pvsm.ru/arduino/3464/print/ умный и добрый человек выложил исходники, http://om2804.webaltera.ru/downloads...no/BtTermometr, но они написаны на яве. У меня вопрос и огромная просьба ко всем форумчанам, знающим как пишутся библиотеки, возможно ли по этим исходникам написать библиотеку для MP, чтобы телефон мог принимать и отправлять данные общаясь с Bluetooth модулем, или пк например через терминальную программу?
С уважением. |
Ответ: Управление устройствами по Bluetooth
Почему все молчат? Что случилось с форумом? Неужели великие знатоки уже сюда не заходят? Где Piligrim? odd, Vint? Отзовитьесь
|
Ответ: Управление устройствами по Bluetooth
Наводка интересная, надо будет посмотреть. Но скорых результатов не обещаю.
|
Ответ: Управление устройствами по Bluetooth
ViNT, Спасибо, жду...
|
Ответ: Управление устройствами по Bluetooth
Вложений: 1
ViNT, вот еще, связь с компом через Bluetooth, в терминальной проге можно видеть мидлет передает байты при нажатии джойстика вверх, вниз, влево вправо
|
Ответ: Управление устройствами по Bluetooth
Вложений: 1
Vint, ничего у тебя не получается с этой либой, да? Вот этот пример простой, пробовал, хорошо работает, может он поможет, пожалуйста Vint, очень надо!!!
|
Ответ: Управление устройствами по Bluetooth
Честно говоря, толком не смотрел еще, некогда.
Попробую на этой неделе разобраться со структурой и сделать библиотеку с основными функциями. |
Ответ: Управление устройствами по Bluetooth
Vint, очень благодарен тебе, прошу прощения, завел тему о библиотеке не в той ветке, если возможно перенеси. Vint, и все кто уже писал библиотеки, пожалуйста гляньте на этот код, делал в программе jGRASP как описывалось вот здесь http://forum.boolean.name/showthread.php?t=440, все скомпилилось,
import javax.microedition.lcdui.*; import java.io.InputStream; import java.io.OutputStream; import javax.microedition.io.Connector; import javax.microedition.io.StreamConnection; public class Lib_bt_os { private String URL = "btspp://001F81000830:1;authenticate=false;encrypt=false;ma ster=false"; private StreamConnection con; InputStream ins; OutputStream out; public void Alarm(Exception e) { Alert alert = new Alert("Exception", e.getClass().getName(), null, AlertType.ERROR); alert.setTimeout(Alert.FOREVER); } public void BtConnect() { try { con = (StreamConnection) Connector.open(URL, Connector.READ_WRITE); out = con.openOutputStream(); ins = con.openInputStream(); } catch (Exception e) { Alarm(e); } } public void BtDisconnect() { try { if(con != null) con.close(); if(out != null) out.close(); if(ins != null) ins.close(); } catch (Exception e) { Alarm(e); } } public int BtReceiver(short temp) { try { temp = (short)(ins.read()); } catch(Exception e) { Alarm(e); } return temp; } public void BtTransmit(short temp2) { try { out.write(temp2); } catch(Exception e) { Alarm(e); } } } в МП вызываю bt_os.btconnect;, btconnect; ругается does not contain function program test; uses bt_os; begin bt_os.btconnect; repaint; delay(10000); end. поправьте пожалуйста где что не так, в паскале не силен, а ява для меня вообще темный лес... За ранее благодарен! |
Ответ: Управление устройствами по Bluetooth
По крайней мере, все импортируемые в MP функции должны иметь модификатор static.
|
Ответ: Управление устройствами по Bluetooth
хорошо Vint, исправлю, а всё остальное правильно?
|
Ответ: Управление устройствами по Bluetooth
В целом похоже на правду, не уверен, правда, что MP нормально воспримет тип short, лучше на int заменить.
|
Ответ: Управление устройствами по Bluetooth
Vint, исправил short на int, МП не ругался и с short, компилил в NetBens, все без ошибок, МП все функции скушал, заливаю в телефон, висит на bt.bt_init, пробую сразу bt.bt_connect, висит и сдесь, хотя этот же код компилируя в WTK и без bt.bt_init конектится с компом. Может проблемма в компиляторе NetBens? Если не секрет, ты в какой программе библиотеки делаешь? Пробовал и в JGRASPE, поначалу все было ок, пока исправлял все ошибки, что-то натворил, он стал кричать:
jGRASP exec: jgrasp_environment_invalid jGRASP wedge2 error: command "jgrasp_environment_invalid" not found. This command must be in the current working directory or on the current PATH to use this function. что за фигня, непойму вобще... Посоветуй Vint, в какой проге можно обойти все эти косяки, пожалуйста! import javax.microedition.lcdui.*; import javax.bluetooth.*; import java.io.*; import javax.microedition.io.*; public class Lib_bt { public static void bt_init() { try { LocalDevice local = LocalDevice.getLocalDevice(); local.setDiscoverable(DiscoveryAgent.GIAC); } catch (Exception e) { //Alarm(e); } } public static void bt_connect() { try { con = (StreamConnection) Connector.open(URL, Connector.READ_WRITE); out = con.openOutputStream(); ins = con.openInputStream(); } catch (Exception e) { //Alarm(e); } } public static void bt_disconnect() { try { if(con != null) con.close(); if(out != null) out.close(); if(ins != null) ins.close(); } catch (Exception e) { //Alarm(e); } } public static void bt_transmit(int temp) { try { out.write(temp); out.flush(); } catch(Exception e) { //Alarm(e); } } public static int bt_receiver() { try { temp = (int)(ins.read()); } catch(Exception e) { //Alarm(e); } return temp; } private static String URL = "btspp://001F81000830:1;authenticate=false;encrypt=false;ma ster=false"; private static StreamConnection con; private static InputStream ins; private static OutputStream out; private static int temp; } program test; uses bt; var a,s:integer; t:string; begin a:= 22; bt.bt_init; bt.bt_connect; Repeat bt.bt_transmit(a); s:= bt.bt_receiver; t:= ''+s; drawText(t, 34, 47); repaint; delay(15); Until false; end. |
Ответ: Управление устройствами по Bluetooth
NetBeans должна нормально компилировать (класс брать из preverified), J2ME WTK тоже нормально компилит, но там IDE нет.
Ошибка скорее всего где-то в коде, по меньшей мере bt_init() странно выглядит - что-то создает, но ничего не возвращает и не работает с глобальными переменными. Попробую сегодня немного поковырять. |
Ответ: Управление устройствами по Bluetooth
Спасибо Vint! Хоть и мало соображаю, но и мне тоже показалась странная функция bt_init(), я имел в виду что в WTK в проекте явы убирал эту функцию и в телефоне без неё все работало хорошо. А библиотеки делать в WTK, через командную строку, я врядли смогу... Я непонял еще (класс брать из preverified), это где Vint? Извени за тупые вопросы, NetBens впервые сегодня только увидел.
|
Ответ: Управление устройствами по Bluetooth
Цитата:
Сейчас попробовал собрать библиотеку - библиотека собирается, MP все компилит, программа подключается к другому устройству (естественно, нужно указать существующий MAC). Передачу данных пока не проверял, буду соображать, как это сделать. |
Ответ: Управление устройствами по Bluetooth
Вложений: 1
Да, я брал из compiled, у меня пока всё тоже самое... Vint, Спасибо что уделил время!!! МАК адрес своего устройства я определял программой из пятого поста btctrl, она находит устройства, и показывает имя и адрес. Для меня она показалась вобще сложной, да, она еще отправляет коды нажатия джойстика, я прикрепил терминалку может тебе пригодится.
|
Ответ: Управление устройствами по Bluetooth
Vint!!!!! взял клас из preverified и всё заработало без функции bt_init, точно она ненужна, всё работает, отправляет и принимает VINT СПАСИБО тебе!!! Вот из за такой мелочи, незнаю сколько бы еще терзал NetBens. Теперь можно усовершенствовать, взять с того кода btctrl функции поиска устройств и прицепить к этому или вобще сделать чтоб автоматически конектился телефон с найденным устройством. ViNT Спасибо!!!!
|
Ответ: Управление устройствами по Bluetooth
У меня отправка/прием пока не пошли, то ли порт не тот, то ли что-то не так на компе настроено.
|
Ответ: Управление устройствами по Bluetooth
Vint, установи эту прогу IVT.BlueSoleil.v6.4.249.0-EMBRACE на комп, иначе ничего не выйдет, (хотел прикрепить, чо-то не хочет, думает пол часа но не загружает, весит в архиве 38 мб, может из за этого...)сама прога нафик не нужна, просто с ней установятся драйвера для виртуального сом порта блютуза. У меня так: запускаю мидлет, в телефоне появляется окно с вопросом, типа разрешить соединяться с устройством, нажимаю да, после этого на компе выскакивает окно там будет написанно какой ком порт подсоединяется, нажимаю да, всё, теперь можно запускать терминалку и вней выставить тот ком порт который был виден в окне и все. В левом нижнем окошке написать цифру (к примеру 33) и нажать кнопку возле HEX, справа в большом окне должно появиться TX: 33 RX: 16 - это ответ из телефона a:= 22; - в коде МП, на экране телефона должно появиться число которое отправлялось.
|
Ответ: Управление устройствами по Bluetooth
Вложений: 1
Вот немного доделал. В архиве пример и сама библиотека. Vint, немогу высмыкнуть из btctrl функцию поиска, ах эта jaба, как же там всё запутано... ViNT, прошу прощения не ту терминальную программу выложил, которую хотел, заменил.
|
Ответ: Управление устройствами по Bluetooth
Вложений: 1
Добавил поиск устройств и служб (правда, на всех доступных устройствах выдает 0 служб, но ошибки быть не должно, надо проверить, по моему он ищет только службу COM-порта). Пока некогда писать документацию, чуть позже доделаю и опишу функции, пока только пример. Пример ищет все доступные устройства, потом выдает список служб. Поиск устройств идет сравнительно долго, может казаться, что мидлет висит. Нужно обязательно добавить файл BTUtils.class в ресурсы проекта.
|
Ответ: Управление устройствами по Bluetooth
ViNT, большое человеческое тебе СПАСИБО!!!
|
Ответ: Управление устройствами по Bluetooth
Теперь, вот, у меня появился вопрос: как восстановить работоспособность встроенного BT стека семерки после установки этого Bluesoleil? Мало того, что этот хлам отказался работать с моим BT модулем, так он еще и стандартный стек вынес напрочь.
UPD: Нашел, оказывается, эта дрянь отключает службу "Служба поддержки Bluetooth", но обратно ее не включает. Остается непонятным, почему оно не опознало мой адаптер. |
Ответ: Управление устройствами по Bluetooth
Vint, извени, насоветовал... У меня XP, все работает хорошо, мой адаптер продавался без драйверов, ни на сайте производителя ни в сети найти не получилось, стандартные драйвера Windows подошли только для отправки/получения файлов, на каком-то форуме вычитал, что эта прога устанавливает драйвера виртуального порта для любых адаптеров, других вариантов не нашел, после установки никаких проблем не было ни разу
|
Часовой пояс GMT +4, время: 04:13. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot