Lib_bt
Вложений: 1
Библиотека и пример обмена сообщениями по Bluetooth. библиотека готова почти на 100%. читайте комментарии в примере. проверена в эмуляторе WTK 2.5.1 и на связке SE M600i и Motorola E700v
|
Re: Lib_bt
Версия 1.0.1 :)
+на ошибки соединения можно реагировать самому *список серверов передается через массив bt_servers |
Re: Lib_bt
Бик зур рахмят ака mega respect!
|
Re: Lib_bt
А на сонерик k510i пойдет?
Piligrim: если у него есть поддержка bluetooth из явы, то вероятнее всего пойдет. пробуйте. |
Re: Lib_bt
Дождались все таки :) . Спасибо большое, а исходники увидеть можно? А то нужен SPP, а как у тебя реализован обмен - пока не понятно.
Piligrim: используется именно btspp протокол |
Re: Lib_bt
Цитата:
Потестил, в эмуляторе с запущенным и сервером и клиентом все работает, но когда запускаю клиента без сервера - мидлет вместе с эмулятором падают, без каких либо сообщений об ошибках. На телефоне - при попытке подключения в компу - опять же, поиск проходит, потом пытается установить соединение, и оно видимо устанавливается, судя по активации значка в трее, но потом мидлет также вылетает с Ошибкой приложения. Два телефона - не пробовал. Подопытный - моторола v3x. PS: попробовал в моторольском эмуляторе, вылетает с Ошибкой блютуз соединения, и вот этим: Error in XmlRpcClient::handleEvent: could not connect to server (error 0). Uncaught exception java/lang/NullPointerException. |
Re: Lib_bt
Есть один вопрос - как будет работать библиотека, если, допустим, нужно ввести код доступа, чтобы блютус мог подключится к телефону?
|
Re: Lib_bt
запрос кода доступа делается самим телефоном, это уровень выше библиотеки, думаю просто произойдет вызов connection_error при отказе подключения.по работе библиотеки в различных эмуляторах, я же сказал, что тестировал только в WTK 2.5.1, сегодня погоняю еще и в обоих SDK Моторолы.ЗЫ: надеюсь вы понимаете, что я просто физически не могу проверить все существующие варианты.
|
Re: Lib_bt
Цитата:
|
Re: Lib_bt
а какой WTK? до версии 2.5 они с блютусом толком работать не умели.исходники конечно могу выложить.
|
Re: Lib_bt
Цитата:
|
Re: Lib_bt
Цитата:
Исходники выложи, если не трудно конечно ) |
Re: Lib_bt
Цитата:
|
Re: Lib_bt
А хотелось бы спросить, можно ли передавать код программно?
|
Re: Lib_bt
в строке инициализации сервера есть параметр authenticate=false, думаю если его сделать true, то будет производиться именно запрос кода
To make a Bluetooth connection secure when you establish it you must ensure that the javax.microedition.io.Connector connection URL string has the appropriate security parameters: btspp://hostname:[CN | UUID];authenticate=true;authorize=true;encrypt=true ...Where: authenticate verifies the identity of a connecting device. authorize verifies its access to a given service. Authorize is not allowed on client URL connection strings. encrypt specifies that the connection must be encrypted. программный ввод кода вроде как не предусмотрен в принципе. ЗЫ: нашел на WebLancer предложение сделать такую либу, уже выполненное, мог заработать 30 баксов :) |
Re: Lib_bt
Не понял, честно говоря :)
|
Re: Lib_bt
Итак:
1. Эмуляторы моторолы работают с блютус через сервер impronto, лежит в папочке SDK, поэто и NullPointer вылетает, ведь он не запущен. :) 2. Пример при поиске серверов вылетает т.к. я забыл добавить procedure no_servers_found; которая вызывается при неудачном поиске серверов, из нее можно вызвать bt.stop; для остановки поиска иначе будет предпринята попытка повторного поиска |
Re: Lib_bt
Цитата:
procedure no_servers_found; begin wait := MenuAppendString('no server found'); delay(1000); end; полегчало, вылеты прошли. Я так понял, что no_servers_found, message_received и т.д. - это callback функции? 1. Эмулятор моторолы был использован как вспомогательное средство ))). В WTK тоже были проблемы без вышепреведенной процедуры ) Ты огласил бы весь их список. И может добавиш флаг активности который устанавливался бы в bt.start и сбрасывался бы в bt.stop PS: дома потестю работу с комповым донглом, завтра отпишусь. |
Re: Lib_bt
Да это callback функции. Я и стараюсь их все в примере показать. :)
Флаг активности добавлю. |
Re: Lib_bt
Вобщем потестил. Прием-отправка на виртуальный компорт всетаки не работает. Телефон находит сервер, подключается к нему, судя по появлению значка подключения как в телефоне так и на компе, но терминалка на компорте предательски молчит ) Выложи плз исходники, буду разбираться в чем дело.
|
Re: Lib_bt
решил слегка изменить код, теперь не работает. что не так?
program BtProject; uses bt; var cmdOK, clicked : command; wait, search,exit,service : integer; bt_servers:array[1..2] of String; {массив под сервера, размер будет переопределен автоматически} start:boolean; {вызывается после завершения поиска серверов. содержит список серверов разделенный ||. временно возвращает только первый найденный} procedure no_servers_found; begin delay(1000); end; procedure servers_list(list: integer); begin //wait := MenuAppendString(bt_servers[1]); {количество обнаруженных серверов} drawtext('servers:'+list,50,50); repaint; Debug('servers:'+list); bt.start(bt_servers[1]);{старт соединения с сервером} end; {вызывается после успешного установления соединения} procedure accept_connection; begin start:=true; end; {вызывается при возникновении ошибок в соединении, пропадании соединения. автоматически вызывается bt.stop;} procedure connection_error; var cm: command; begin showAlert('Bluetooth', 'Ошибка Bluetooth соединения.', loadImage('/icon.png'), ALERT_ERROR); playAlertSound; cm := createCommand('OK', CM_OK, 1); addCommand(cm); repeat delay(100); until getClickedCommand <> emptyCommand; end; {вызывается при получении сообщения от оппонента} procedure message_received(msg:String); begin if bt.is_client=1 then drawtext('Na cliente najata'+' ' + (msg),0,0); else drawtext('Na servere najata'+' ' + (msg),0,0); Debug(msg); end; begin bt.init; service:=1; while getkeypressed= ke_none do begin drawtext('nazmite 1 chtob stat serverom',0,0); repaint; if getkeypressed=ke_key1 then service:=1; if getkeypressed=ke_key2 then service:=2 end; if service=1 then bt.wait_connection('ME'); if service=2 then bt.search_connection; if start then begin if bt.is_client=1 then drawtext('true client',0,0); if bt.is_client<>1 then drawtext('true server',0,0); end; while getkeypressed<>ke_key0 do begin setcolor(255,255,255); fillrect(0,0,240,320); setcolor(0,0,0); bt.send_message('1'); repaint; end; bt.stop; {отключаем соединение} end. |
Re: Lib_bt
вот так лучше:
while not start do delay(100); while getkeypressed<>ke_key0 do begin у тебя соединение ещ не успевает установиться, а ты уже посылать что-то пытаешься |
Re: Lib_bt
Спасибо!
Вопрос: поддерживается ли одновременное соединение с несколькими серверами? Или это можно реализовать самому с помощью либы? |
Re: Lib_bt
в данный момент многосессионность не реализована, но легко добавляется.
ЗЫ: обычно у одного сервера много клиентов, а тут наоборот надо ;) |
Re: Lib_bt
Хех... Увидев эту либу стряхнул пыль с дистрибутива МП :) Все то что заявслено работает. наскольо удалось потестить :) Спарка SE w810i и Samsung i320
|
Re: Lib_bt
Появилось несколько вопросов:
1.Как сделать так чтобы два разных bluetooth чата не видели друг друга? 2.Каким образом можно узнать, поддерживает ли телефон JSR82? 3.Не работает этот код: Код:
//вызывается при получении сообщения от оппонента |
Re: Lib_bt
Вот давненько написал
http://slil.ru/24965102 проверяет имеется ли класс, возвращает циферку, просьба не стебаться над реализацией) !!! SE w810i и Samsung i320 !!! Сэр IVenomI, не могли бы вы сказать, что за ява машина стоит на самсунге, и заодно потестить выше приведенный мидлет? Насколько мне известно ява-машины для мобильной винды не поддерживают большинство жср-ов(включая синийзуб). Да и на jbenchmark показанно, что нет синего зуба. |
Re: Lib_bt
Нее. Это не то. Мне нужно чтобы моя прога определяла, поддерживает ли телефон jsr82 и можно было играть по блутуз если есть такая поддержка. Потому что у меня нету jsr82 и она просто зависает. Делается это функцией getproperty но параметра я не знаю
|
Re: Lib_bt
ой извиняюсь, там уже скомпиленная версия. забыл)
выдери оттуда либу trybluetooth код: program bluetooth; uses trybluetooth; var i:integer; begin i:=getbluetooth; drawText('Bluetooth Support:', 0, 0); if i=10 then drawtext('True',getstringwidth('Bluetooth Support:'),0) else drawtext('False',getstringwidth('Bluetooth Support:'),0); while getkeypressed<>ke_key0 do begin drawtext('Press key "0" to exit',0,getstringheight('B')); repaint; end; end. просьба не стебаться над реализацией |
Re: Lib_bt
для обеспечения взаимоневидимости надо добавить кое-что в либу.
чего еще там не хватает? добавлю до кучи :) |
Re: Lib_bt
А зачем вообще нужна взаимоневидимость?
Хотелось бы чтоб было больше клиентов) Ну, и чтобы можно было знат от какого клиента пришло и какому клиенту надо отправить. Ещё бы хотелось знать описание классов, которые входят в либу) Что, зачем и почему) |
Re: Lib_bt
взаимоневидимость чтобы можно было два чата или игры в одной зоне запускать и не мешать друг другу.
Итак принимаю к разработке: 1.Два разных bluetooth чата не видели друг друга. 2.Можно узнать, поддерживает ли телефон JSR82. 3.Возможность подключения множества клиентов к одному серверу. |
Re: Lib_bt
Цитата:
|
Re: Lib_bt
Здравствуйте!
У меня недольшая проблемка, я не разбираюсь в Яве и С+, когда то работал с Делфи и Паскалем, и то не профессионально. Вот решил попрбовать написать что нибудь для своего телефона, сделал пару простеньких програмок для работы. Теперь хочется сделать игрушку по блютузу. Скачал библиотеку с примером и вот незадача...Паскаль ругается на отсутствие функций wait_connection и searh_connection. Подскажите как это исправить. У меня стоит WTK2.2, Nokia SDK R3 S40, j2sdk1.4.2_03, netbeans-5.5, со всем этим делом я еще не совсем правда разобрался:-D И еще, если я правильно понял, то библиотека для работы с блютузом еще не совсем готова? можно ли ее уже использовать для написания простенькой игрушки (хоть теже крестики нолики по блютузу) |
Re: Lib_bt
Библиотекой можно пользоваться.
Вы видимо забыли положить Lib_bt.class в папку Libs |
Re: Lib_bt
Библиотека лежит где нужно, к тому же компилятор не ругается на bt.init, bt.is_client, bt.start, bt.send_message, ну и так далее...
может у меня какая то старая версия библиотеки? Весит 2,78кб. |
Re: Lib_bt
А версия МР случайно не 2.0.1? Если да, то обновиться надо
ЗЫ: Библиотеки всего одна версия |
Re: Lib_bt
Да, именно эта версия, так как другой не нашел, а с сайтом какие то проблемы. А библиотека у меня еще одна есть с таким же названием, только раза в 2 больше весит и там пример другой, функции по другому называются
|
Re: Lib_bt
http://boolean.name/showthread.php?t=418 в этой теме есть русская версия 2.0.2
А что за версия библиотеки у тебя? Выложи. |
Re: Lib_bt
|
Re: Lib_bt
Где скачал точно не помню, в поисковике все перерыл относящееся к этому паскалю, на скоряк поскачивал кучу библиотек и рзные статьи. Архивчик называется bt.rar, в нем есть примерчик BTSample, вот там то и используется одноименный модуль библиотеки, только в нем совсем другое содержание
|
Re: Lib_bt
Я знаю, что существует как минимум еще одна версия поддержки BT в МР, которая была написана на заказ за деньги.
|
Re: Lib_bt
В той библиотеке нет функций передачи данных, только поиск устройств. А в вашей версии библиотеки в ближайшее время планируются изменения или пополнения?
Попробую разобраться что и какработает, жаль что второго телефона нет...а с эмуляторами все запутанно выглядит для проверки работоспособности приложения при использовании блютуза Версию программы заменил, теперь все без ошибок компилируется) спасибо |
Re: Lib_bt
значит это все-таки моя первая библиотека :)
изменения планируются, как только будет время. благо в доме все телефоны с Bluetooth :) |
Re: Lib_bt
Цитата:
|
Ответ: Lib_bt
А как можно получить либу? А то сайт piligrim'a не работает :dontknow:
|
Ответ: Lib_bt
Хм, оказалось, что одд добавил в свою русификацию всевозможные либы. Респект :super:
Только вот бы примерчик =) |
Ответ: Lib_bt
Цитата:
|
Ответ: Lib_bt
Народ у кого есть Benq-Siemens EF81? Проверьте работает ли в яве передеча по блютузу, ато я ни к одному телу подключиться из мидлета не смог.
|
Ответ: Lib_bt
Цитата:
|
Ответ: Lib_bt
У меня на cx75 работал БТ из Java.
|
Re: Lib_bt
у мну Benq-Siemens E71 работает
|
Ответ: Lib_bt
С ИК действительно были у симёнов проблемы (а может просто никто не догадался как его мучить правильно).
А вот синий зуб вроде всегда нормально работал |
Ответ: Lib_bt
А ссылка не рабочая
|
Ответ: Lib_bt
Цитата:
|
Ответ: Lib_bt
Прикрепил к первому сообщению. Простите, не обратил внимания, что её здесь нет.
|
Ответ: Lib_bt
Прошу прощения, а есть ли полный перечень функций библиотеки, желательно с описанием?
|
Ответ: Re: Lib_bt
Народ!шота я не вообще не понял,как по бт конектицо!Обьясните чайнику!заранее спасибо!
|
Ответ: Lib_bt
парни виложите описание всех команд
|
Ответ: Lib_bt
всем привет.
не запускается приложение(BtProject) на fla2080, возможно из-за того что запускаю без jad файла? Просто у брата fla а он недоступен. на Nokia 6300 норм |
Ответ: Lib_bt
Оно вообще устанавливается? Если да, и приложение не запускается-возможно не поддерживается телефоном, а если не получается устанавить приложение, то это вопрос не сюда-а в форум-телефоны от fla
|
Ответ: Lib_bt
А эта либа obex поддерживает? Что-то я не нашёл, хотя и написано "Lib_bt: Полная поддержка соединения по bluetooth" :)
|
Ответ: Lib_bt
полная, это в смысле, что и прием и передача. потому как была еще только с обнаружением.
|
Ответ: Lib_bt
Здесь уже выкладывали либу, чтобы определить наличие jsr82, но ссылка устарела. Пожалуйста, объясните, как это сделать на яве?
|
Часовой пояс GMT +4, время: 10:34. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot