На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ElcnU
  
> Работа с bluetooth
    Как получить список bluetooth-устройств и соединиться с одним из них ?
    Pocket PC, Win CE 3.0, eVC 3.0.
      Единого способа нет. Так что тут придется тебе колупаться с библиотекой стнего зуба.

      По крайней мере, в моей работе библиотеки работы с зубом различные для каждого КПК.
      Так что копай в сторону SDK для твоего аппарата.
        Для CE 3.0 такого кажись ваще нет, по крайней мере на каробочке с CE.Net написано что поддержку BT они ввели
        начиная с CE версии 4.2
          Oksiv, начиная с XP с BlueTooth'ом можно работать через сокеты :)
          Вот кусок хидера от CE .NET 4.1:
          ExpandedWrap disabled
            //------------------------------------------------------------------------------
            //
            //  Blietooth client API
            //
            #if ! defined (__bt_api_H__)
            #define __bt_api_H__        1
             
            #include <ws2bth.h>
            #include <winioctl.h>

          Так что в .NET с синим зубом тоже через сокеты можно работать...
          А вот в 3.0 - должда быть библиотека от производителя.
            - Ты в баню?
            - Я в баню
            - А, ну я думал ты в баню!
              Bluetooth SDK для iPAQ hp 2210 не найти.
              Воспользовался статьей из MSDN про поиск девайсов - не работает.
              WSALookupServiceBegin возвращает OK, а первый же
              вызов WSALookupServiceNext возвращает ошибку 10050 - WSAENETDOWN.
              В чем тут может быть проблема ?

              ExpandedWrap disabled
                 
                bool
                CTestDlg
                ::GetBthList()
                {
                    #define BUFFERSIZE 500
                 
                    char * buffer = new char[BUFFERSIZE];
                    WSAQUERYSET *pQueryResult = (WSAQUERYSET *)buffer;
                    
                    WSADATA wsaData;
                    if ( WSAStartup( MAKEWORD( 2, 2 ), &wsaData ) != 0 )
                        return false;
                 
                    WSAQUERYSET QuerySet;
                    memset( &QuerySet, 0, sizeof( QuerySet ));
                    QuerySet.dwSize = sizeof(WSAQUERYSET);
                    QuerySet.dwNameSpace = NS_BTH;
                 
                    HANDLE handle;
                    int retCode = WSALookupServiceBegin( &QuerySet, LUP_CONTAINERS, &handle );
                    if ( retCode != 0 )
                        return false;
                 
                    for ( int i = 0; i < 10; i++ ) {
                        DWORD len = BUFFERSIZE;
                        DWORD flags = LUP_RETURN_NAME | LUP_RETURN_ADDR;
                        retCode = WSALookupServiceNext( handle, flags, &len, pQueryResult );
                        if ( retCode == SOCKET_ERROR ){
                            retCode = WSAGetLastError();
                            if( retCode == WSA_E_NO_MORE ){
                                return true;
                            }else{
                                return false;
                            }
                            break;
                        }else{
                            // have device name
                            //...................
                        }
                    }
                    WSALookupServiceEnd(handle);
                    delete [] buffer;    
                 
                    return true;
                }
                Вот чего я не делал, так это не работ с синим зубом через сокеты, все как-то SDK имелся :) Хотя задачка интересная :)

                Как предположение: может синий зуб сначала включить надо?
                Он же наверное по умолчанию выключен чтобы энергию не жрал.... попробуй запустить BlueTooth Monitor (заодно убедись, что он находит девайсы) и не закрывая монитор запусти свою прогу.
                  vadim_vk, у меня этот пример тоже не работает, жопа какая-то..
                    Это еще не жопа. Все стало понятно.
                    Подробное объяснение можно найти здесь:
                    Pocketz.ru
                    То есть для того чтобы этот стек работал, нужен специальный SDK.
                    Найдено два варианта - родной от WIDCOMM($1500), который даже не имеет триалов.
                    И от High-Point Software Inc ($750).
                    У второго есть evaluation version, которая полностью рабочая, но при инициализации выбрасывает диалог ;) .
                      Вот редиски,

                      щас на работе бодяжу систему работающую с BT, пишу под Linux, блин никаких проблем Bluez в исходниках, одно удовольствие, CE в топку!
                        vadim_vk, вот только что поставит на скачивание файлик BlueTooth_WidComm_1.4.3.4.rar Лбещает скачаться через 7 часов... посмотрим что это такое :)
                        Это чудо весит 40 мегов (самый большой архив выбрал :D ) Если это окажется то, что тебе надо, то смогу выложить на ftp или еще как....
                          ну вот, скачал :)
                          BlueTooth_WidComm_1.4.3.4.rar - 40Мб и BlueTooth WidComm 1.4.2.21.zip - 20Мб
                          Написано, что оба архива с кряками.

                          Вобщем если надо, могу куда-нибудь выложить :whistle:
                            Fester, был бы весьма благодарен за SDK, с удовольствием скачал бы. Мои координаты: ICQ 107552434, e-Mail: vadim_vk@inbox.ru
                              Fester, а ты проверл, оно работает или нет?
                                B.T.FIL., что "оно"?
                                Скачанное СинийЗуб,_WidComm_ля-ля-ля.рар? Это вроде совсем не SDK оказался... я с этим не копался... только скачал.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0317 ]   [ 16 queries used ]   [ Generated: 23.04.24, 22:44 GMT ]