Bluetooth
От: tacit_one Россия  
Дата: 20.01.04 11:39
Оценка:
Доброе время суток, господа.
Вопрос вот в чём: судя по всему, многие из нас пытались использовать / использовали средства bluetooth для связи различных устройств в своих проектах (в наладонниках, больших ПК, всяких там своих поделках). В свете этого, если не сложно, поделитесь, средствами чего вы этого добивались, в каких средах, да и вообще расскажите о своих мыслях по поводу применимости современных технологий беспроводных соединений.
Наболело, а ресурсов на тему "беспроводного прграммирования" практически нет.
К примеру с Palm всё понятно — там для этого есть свой API, но только, наверное, во всём остальном Pocket у Palm выигрывают, а потому (по крайней мере в нашей конторе) используются Pocket'ы.
C Linux тоже всё более-менее понятно — для него есть бесплатный стэк BT. Но в силу текущей ситуации на рынке гораздо чаще используются системы на базе Win.
Итого: у нас используется WinCE (4.0) + Win(2K+). Но проблема в том, что чей-либо платный стек мы пока-что купить не можем (WIDCOMM etc.): на данный момент это экономически неэффективно. Так что мы используем RFCOMM соединение — проблем это создаёт уйму, начиная с того, что максимальная скорость искусственно ограничивается 115200 бод и заканчивая тем, что "программно" этот способ не позволяет производить поиск устройств / поиск их сервисов — короче всего того, что позволяют делать платные стеки. Нас это пока устраивает, т.к. нет необхдимости связывать более двух устройст и устройства известны на стадии поставки. Но это далеко не правильный путь — и это более чем понятно.
Так вот, кто как решал эти проблемы?
Хотелось бы этой дискуссией хоть немного возместить недостаток информации по рассматриваемому вопросу.

Sincerely,
Tacit_one.
Re: Bluetooth
От: vemod  
Дата: 22.01.04 11:31
Оценка:
AFAIK, sony-ericsson (http://sonyericssonmobile.com) распространяют SDK.

Юрий
Re[2]: re: Bluetooth
От: tacit_one Россия  
Дата: 26.01.04 12:53
Оценка:
Вопрос такой,
а как SDK от Sony мопожет программировать BT под, скажем PocketPC?
Re: Bluetooth
От: Michael Chelnokov Украина  
Дата: 31.01.04 16:57
Оценка:
Здравствуйте, tacit_one, Вы писали:

_>"программно" этот способ не позволяет производить поиск устройств / поиск их сервисов


BthNsLookupServiceBegin?
Re: Bluetooth
От: Xentrax Россия http://www.lanovets.ru
Дата: 03.02.04 20:30
Оценка:
Здравствуйте, tacit_one, Вы писали:

_>Наболело, а ресурсов на тему "беспроводного прграммирования" практически нет.


Тема эта необычайно интересная в свете того, что передо мной через месяц-два будет поставлена задача обеспечить одновременное соединение по BT с несколькими устройствами.

На данный момент даже копать еще не начал. Сейчас у нас все просто — соединяемся по эмулированному компорту.

Учитывая, что у нас 4 проддерживаемые платформы — PocketPC 2003 и еще 3 очень разных промышленных контроллера, из которых BT бывает на 3-х, то развлечение предстоит соответствующее.

Как минимум уже непонятно, может ли принципиально тот же PocketPC поддерживать одновременные соединения по BT, или можно уже сейчас всех обломать.

Пока еще даже копать не начал.
Re: Bluetooth
От: Akatik_jr  
Дата: 11.08.04 08:02
Оценка:
Добрый день всем!
Давно поднималась эта тема, но как-то заглохла. А у меня сейчас возникает тот же вопрос — что делать, если дорогущий стек от WIDCOMM не подходит. Какие есть бесплатные стеки и насколько с ними проблемно работать? От вас, tacit_one, в первый раз услышала про RFCOMM соединение — а можете ли вы подсказать, где найти побольше инфы по этому вопросу? Вопрос для меня новый — так что проблем много. Поделитесь пожалуйста опытом!
WBR
Re[2]: Bluetooth
От: Akatik_jr  
Дата: 11.08.04 08:20
Оценка:
Только что наткнулась на сайте Microsoft на такую тему:

здесь

Это о чем вообще? Может это то, что надо для программирования под Bluetooth — некий Platform SDK?
Re[3]: Bluetooth
От: Andrusha  
Дата: 11.08.04 12:13
Оценка:
Здравствуйте, Akatik_jr, Вы писали:

A_>Только что наткнулась на сайте Microsoft на такую тему:


A_>здесь


A_>Это о чем вообще? Может это то, что надо для программирования под Bluetooth — некий Platform SDK?

Если необходимо работать со списком устройств, то да, можно использовать это API (появилось в WinXP SP1). Если в такмо списке необходимости нет, то достаточно сокетов.
Re[4]: Bluetooth
От: Michael Chelnokov Украина  
Дата: 11.08.04 13:27
Оценка:
Здравствуйте, Andrusha, Вы писали:

A>Если необходимо работать со списком устройств, то да, можно использовать это API (появилось в WinXP SP1). Если в такмо списке необходимости нет, то достаточно сокетов.


Я извиняюсь, а с каких пор WinXP SP1 стали устанавливать на устройства Pocket PC?
Re[5]: Bluetooth
От: Andrusha  
Дата: 11.08.04 13:43
Оценка:
Здравствуйте, Michael Chelnokov, Вы писали:

MC>Здравствуйте, Andrusha, Вы писали:


A>>Если необходимо работать со списком устройств, то да, можно использовать это API (появилось в WinXP SP1). Если в такмо списке необходимости нет, то достаточно сокетов.


MC>Я извиняюсь, а с каких пор WinXP SP1 стали устанавливать на устройства Pocket PC?

Ни с каких. Но вот работать через BT с устройствами PocketPC из под WinXP SP1 тоже приходится. И ссылка была именно про это. А так только сокеты и остаются...
Re[6]: Bluetooth
От: Akatik_jr  
Дата: 11.08.04 13:51
Оценка:
A>Ни с каких. Но вот работать через BT с устройствами PocketPC из под WinXP SP1 тоже приходится. И ссылка была именно про это. А так только сокеты и остаются...

То есть для того, чтобы работать с Bluetooth надо использовать Windows Sockets? А может посоветуете какую ссылочку, чтобы просветиться этим?
А зачем тогда покупать всякие там WIDCOMM? И что же такое RFCOMM?
Re[7]: Bluetooth
От: Andrusha  
Дата: 11.08.04 14:25
Оценка:
Здравствуйте, Akatik_jr, Вы писали:

A>>Ни с каких. Но вот работать через BT с устройствами PocketPC из под WinXP SP1 тоже приходится. И ссылка была именно про это. А так только сокеты и остаются...


A_>То есть для того, чтобы работать с Bluetooth надо использовать Windows Sockets? А может посоветуете какую ссылочку, чтобы просветиться этим?

http://msdn.microsoft.com/library/en-us/bluetooth/bluetooth/bluetooth_programming_with_windows_sockets.asp — начать можно отсюда.

A_>А зачем тогда покупать всякие там WIDCOMM? И что же такое RFCOMM?

Работать с BT через сокеты можно начиная только с определённых версий Windows. Для поддержки BT в других версиях как раз подобное ПО и используется. Плюс ещё данное ПО, предоставляет некоторые дополнительные возможности, как то поиск устройств и тому подобные вещи.
Re[2]: Bluetooth
От: Protey Россия  
Дата: 12.08.04 05:30
Оценка:
Здравствуйте, Xentrax, Вы писали:

X>Здравствуйте, tacit_one, Вы писали:


_>>Наболело, а ресурсов на тему "беспроводного прграммирования" практически нет.


X>Тема эта необычайно интересная в свете того, что передо мной через месяц-два будет поставлена задача обеспечить одновременное соединение по BT с несколькими устройствами.


X>На данный момент даже копать еще не начал. Сейчас у нас все просто — соединяемся по эмулированному компорту.


X>Учитывая, что у нас 4 проддерживаемые платформы — PocketPC 2003 и еще 3 очень разных промышленных контроллера, из которых BT бывает на 3-х, то развлечение предстоит соответствующее.


X>Как минимум уже непонятно, может ли принципиально тот же PocketPC поддерживать одновременные соединения по BT, или можно уже сейчас всех обломать.


Не сможет, ИМХО, как хирург заявляю — то, что ставится в Pocket PC(цена <$400) в качестве контроллеров BT есть откровенное говно и китайские поделки, тут у них ножка болит, там они не умеют ...

X>Пока еще даже копать не начал.
Re[8]: Bluetooth
От: Protey Россия  
Дата: 12.08.04 05:39
Оценка:
Здравствуйте, Andrusha, Вы писали:

A>Здравствуйте, Akatik_jr, Вы писали:


A>>>Ни с каких. Но вот работать через BT с устройствами PocketPC из под WinXP SP1 тоже приходится. И ссылка была именно про это. А так только сокеты и остаются...


A_>>То есть для того, чтобы работать с Bluetooth надо использовать Windows Sockets? А может посоветуете какую ссылочку, чтобы просветиться этим?

A>http://msdn.microsoft.com/library/en-us/bluetooth/bluetooth/bluetooth_programming_with_windows_sockets.asp — начать можно отсюда.

A_>>А зачем тогда покупать всякие там WIDCOMM? И что же такое RFCOMM?

A>Работать с BT через сокеты можно начиная только с определённых версий Windows. Для поддержки BT в других версиях как раз подобное ПО и используется. Плюс ещё данное ПО, предоставляет некоторые дополнительные возможности, как то поиск устройств и тому подобные вещи.

Эхм, (крутя пальцами), как бы это обьяснить ....
Ну короче, BT есть асинхронное устроиство типа USB, т.е. при подключении оно выдаёт про себя кучу инфы про свою конфигурацию и т.д и т.п.
Вот, хитрые дядьки из M$ по привычке вкрутили это в Sockets, хотя должен заметить, что любая стандартизация неизбежно обрубает кучу возможностей, соответсвенно, для обнаружения устройств, проверки профилей и пр. необходимы отдельные функции, прием данных опять же ... Это и есть собственно стэк. Ага, а но в HP и Mitac — ещё более хитрые дядьки, они в полуфабрикат WinCE от M$ вкручивают свои стэки, перетачивают/пишут свои приложения/мэнеджеры под них и продают. Фишка в том, что для написания под это устройство приходится покупать за килобаксы SDK ...
P.S. Это к тому, что купите BT стэк, а на HP всё резко обломится, неприятно будет
Re[8]: Bluetooth
От: Akatik_jr  
Дата: 12.08.04 06:52
Оценка:
Еще раз огромное благодарю за ответы!!!

A_>>То есть для того, чтобы работать с Bluetooth надо использовать Windows Sockets? А может посоветуете какую ссылочку, чтобы просветиться этим?

A>http://msdn.microsoft.com/library/en-us/bluetooth/bluetooth/bluetooth_programming_with_windows_sockets.asp — начать можно отсюда.

Эта статья в MSDN относится к разделу Platform SDK — эту штуку надо отдельно инсталлировать? И что это такое вообще?
А работать с сокетами из-под VS .NET можно? А то у нас часть проекта уже на нем — хотелось бы не отходить от этой темы.


Еще вопросик знающим людям:
Насколько я поняла с BT устройством можно работать открыв файл на соответствующем COM порту. При этом никаких SDK не нужно — проблема только в том, что соединение предварительно придется устанавливать руками. А как этот COM-порт определить — к какому обращаться, чтобы BT-данные считывать?


A>Работать с BT через сокеты можно начиная только с определённых версий Windows.


Гм, а поконкретнее? С каких версий?
Re[9]: Bluetooth
От: Andrusha  
Дата: 12.08.04 14:57
Оценка:
Здравствуйте, Akatik_jr, Вы писали:

A_>>>То есть для того, чтобы работать с Bluetooth надо использовать Windows Sockets? А может посоветуете какую ссылочку, чтобы просветиться этим?

A>>http://msdn.microsoft.com/library/en-us/bluetooth/bluetooth/bluetooth_programming_with_windows_sockets.asp — начать можно отсюда.

A_>Эта статья в MSDN относится к разделу Platform SDK — эту штуку надо отдельно инсталлировать? И что это такое вообще?

Platform SDK нужна для WinXP SP1, если я ничего не путаю, то с VS.NET ставится более старая версия. Так что придётся качать или достававать откуда-нибудь ещё. Есть на одном из дисков RSDN.
SDK — это набор заголовочных файлов и библиотек необходимых для написания программ. Например, все константы необходимые для работы с BT валяются именно в этих заголовочных файлах.
Кстати, у меня Platfrom SDK живёт тут: "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\". Можно сделать поиск по файлм в этом каталоге на предмет наличия в них AF_BTH . Если данная константа присутсвует, то более новый SDK не требуется.

A_>А работать с сокетами из-под VS .NET можно? А то у нас часть проекта уже на нем — хотелось бы не отходить от этой темы.

Можно.


A_>Еще вопросик знающим людям:

A_>Насколько я поняла с BT устройством можно работать открыв файл на соответствующем COM порту. При этом никаких SDK не нужно — проблема только в том, что соединение предварительно придется устанавливать руками. А как этот COM-порт определить — к какому обращаться, чтобы BT-данные считывать?
Для начала его надо создать. Смотри PORTEMUPortParams


A>>Работать с BT через сокеты можно начиная только с определённых версий Windows.

A_>Гм, а поконкретнее? С каких версий?
Начиная с WinXP SP1 и WinCE .NET 4.0
Re[10]: Bluetooth
От: Akatik_jr  
Дата: 13.08.04 11:29
Оценка:
A>>>Работать с BT через сокеты можно начиная только с определённых версий Windows.
A_>>Гм, а поконкретнее? С каких версий?
A>Начиная с WinXP SP1 и WinCE .NET 4.0

А куда податься в такой связке: Win2000 + PocketPC 2002?
Re[11]: Bluetooth
От: Andrusha  
Дата: 13.08.04 16:36
Оценка:
Здравствуйте, Akatik_jr, Вы писали:

A>>>>Работать с BT через сокеты можно начиная только с определённых версий Windows.

A_>>>Гм, а поконкретнее? С каких версий?
A>>Начиная с WinXP SP1 и WinCE .NET 4.0

A_> А куда податься в такой связке: Win2000 + PocketPC 2002?

Боюсь, что кроме WIDCOMM, RFCOMM etc ничего продложить не могу.

Вот что-то ещё. Видимо тоже за деньги...
http://www.mecel.se/products/bluetooth/technicaldata/default.htm

Можно ещё вот тут покопаться:
http://www.thewirelessdirectory.com/Bluetooth-Software/index.htm
О результатах копания просьба сообщать сюда.
Re[12]: Bluetooth
От: Akatik_jr  
Дата: 16.08.04 07:03
Оценка:
A_>> А куда податься в такой связке: Win2000 + PocketPC 2002?
A>Боюсь, что кроме WIDCOMM, RFCOMM etc ничего продложить не могу.

Но судя по информации в нете, в PocketPC 2003 только стал использоваться WIDCOMM стек, а до того был некий Microsoft API. Что это за он?

И еще — а если просто как с ком-порта считывать, предварительно открыв BT-соединение? Есть ли где-нибудь формат сообщений, приходящих от BT, или это зависит от устройства-передатчика?
Re[12]: Bluetooth
От: DenisII  
Дата: 06.09.04 15:32
Оценка:
Здравствуйте, Andrusha, Вы писали:

A>Боюсь, что кроме WIDCOMM, RFCOMM etc ничего продложить не могу.


А каким образом работать с RFCOMM когда стек от widcomm?
В примере от Микрософт в RegisterDevice(, , L"btd.dll", ); передается путь к библиотеке которой на hp2210 нет! перепробовав (на всякий случай) все dll'ки, которые перечислены в инфе о bluetooth ничего хорошего не получил..

Или я чего-то не так понял?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.