Bluetooth - lista urządzeń

0

Witam.

Chcę napisać programik, który będzie łaczył się przez bluetooth i coś tam sobie wysyłał i odbierał.
Samą komunikację mniej więcej wiem jak zrealizować, ale mam problem z listą urządzeń z włączonym bluetooth-em. Chciałbym wyszukiwać i wybierać urządzenie z którym chcę się połączyć np. z comboboxa (bepośrednio w programie) a nie w systemie (dorzucę, że programik będzie na palmtopa).
Jakby ktoś miał jakieś pomysły jak to robić to byłbym bardzo wdzięczy za ewentualną pomoc.

Pozdrawiam.

0

Ogólnie to polecam poniższą bibliotekę:
[1] http://inthehand.com
[2] http://www.codeguru.pl/forum-posts-15829-0.aspx

W drugim linku znajdziesz trochę kodu. Może Ci pomoże.

0

Microsoft też napisał bibliotekę Bluetooth pod Compact Framework i znajduje się ona w katalogu, gdzie zainstalowałeś SDK: Windows Mobile 6 SDK\Samples\Common\CS\Bluetooth\SpaceWar2D\Bluetooth

0

Dzięki mykhaylo, użyłem tej biblioteki.
Zrobienie listy wyszukanych urządzeń okazało się w sumie bardzo prostym zadaniem, ale niestety mam następny problem, ponieważ postanowiłem uŻyć tej biblioteki do łączeniania z wybranym przez siebie urządzeniem (prędzej robiłem to całkiem inaczej). No i tu pojawił się problem, ponieważ nie wiem jak to zabardzo zrobić. Na podstawie przykładów z drugiego linka stworzyłem coś takiego (oczywiście nie działa :/):

private void btnConnect_Click(object sender, EventArgs e)
        {
            try
            {
                //btAddress = new BluetoothAddress();
                string device = (string)cmbDevices.SelectedItem;
                BluetoothDeviceInfo[] bdi = btClient.DiscoverDevices();
                //Guid service = BluetoothService.SerialPort; 
                Regex myRegex = new Regex(device);

                for (int i = 0; i < bdi.Length; i++)
                {
                    Match myMatch = myRegex.Match(bdi[i].DeviceName);

                    if (myMatch.Success)
                    {
                        if (bdi[i].Authenticated == false)
                        {
                            BluetoothSecurity.PairRequest(bdi[i].DeviceAddress, "0000");
                        }

                        btClient.Connect(new BluetoothEndPoint((BluetoothAddress)bdi[i].DeviceAddress, service));
                        i = bdi.Length + 1;
                    }
                }
            }
            catch (Exception)
            {
                //TO DO!
            }
}

Jakby ktoś mógłby mi w jakiś sposób łopatologicznie wyjaśnić jak mam to zrobić to byłbym bardzo wdzięczny.

Pozdrawiam

0

Co znaczy że nie działa, dostajesz jakiś wyjątek, a może nic się nie dzieje ? W metodzie PairRequest bardzo ważnym jest drugi parametr. Nie może to być dowolny ciąg cyfr, tylko taki jaki jest ustawiony na Twoim urządzeniu. Bardzo długo się z tym męczyłem, aż skonfigurowałem swoje urządzenie. Ustawiłem pin na "1234". Pamiętam że coś należało jeszcze zmienić w ustawieniach palmtopa. Należy wejść do ustawień Bluetooth-a i dodać połączenie. Jeśli ciągle będziesz miał ten problem to postaram się przypomnieć jak to mniej więcej wyglądało.

1 użytkowników online, w tym zalogowanych: 0, gości: 1