Esempio n. 1
0
        /********************************************************************************************************
         * This section of the code focuses on                                                                  *
         * "Scan, Pair and Connect to JBAR"                                                                     *
         *                                                                                                      *
         *  The steps are as follows:                                                                           *
         *                                                                                                      *
         * 1. Scans the enivronment for the available Bluetooth Devices                                         *
         * 2. Looks for "Frontrow Juno XXXX" Bluetooth Device (JBAR should be in pairing mode)                  *
         * 3. Sends a pairing request                                                                           *
         * 4. Notifies the user about the pairing                                                               *
         * 5. It pairs and connects with the JBAR automatically                                                 *
         * *****************************************************************************************************/
        /// <summary>
        /// The scan
        /// </summary>
        private void scan()
        {
            Cursor.Current = Cursors.WaitCursor;

            BluetoothRadio.PrimaryRadio.Mode = RadioMode.Connectable;
            BluetoothClient client = new BluetoothClient();

            BluetoothDeviceInfo[] devices         = client.DiscoverDevices();
            BluetoothClient       bluetoothClient = new BluetoothClient();
            String authenticated;
            String classOfDevice;
            String connected;
            String deviceAddress;
            String deviceName;
            String installedServices;
            String lastSeen;
            String lastUsed;
            String remembered;
            String rssi;

            foreach (BluetoothDeviceInfo device in devices)
            {
                try
                {
                    authenticated     = device.Authenticated.ToString();
                    classOfDevice     = device.ClassOfDevice.ToString();
                    connected         = device.Connected.ToString();
                    deviceAddress     = device.DeviceAddress.ToString();
                    deviceName        = device.DeviceName.ToString();
                    installedServices = device.InstalledServices.ToString();
                    lastSeen          = device.LastSeen.ToString();
                    lastUsed          = device.LastUsed.ToString();
                    remembered        = device.Remembered.ToString();
                    rssi = device.Rssi.ToString();
                    string[] row = new string[] { authenticated, classOfDevice, connected, deviceAddress, deviceName, installedServices, lastSeen, lastUsed, remembered, rssi };
                    dataGridView1.Rows.Add(row);
                }

                catch
                {
                    MessageBox.Show("Error Occured during Scanning the devices");
                }

                if (device.DeviceName.Contains("FrontRow"))
                {
                    BluetoothSecurity.PairRequest(device.DeviceAddress, " ");
                    Cursor.Current = Cursors.Default;
                    break;
                }
            }

            this.Refresh();
        }
Esempio n. 2
0
 private bool CanPair()
 {
     if (!device.Authenticated)
     {
         if (!BluetoothSecurity.PairRequest(device.DeviceAddress, null))
         {
             return(false);
         }
     }
     client.SetPin(null);
     return(true);
 }
Esempio n. 3
0
        private bool pairedDevice()
        {
            if (!deviceInfo.Authenticated)
            {
                if (!BluetoothSecurity.PairRequest(deviceInfo.DeviceAddress, myPin))
                {
                    return(false);
                }
            }

            return(true);
        }
Esempio n. 4
0
        private void PairWithClient()
        {
            //sprawdzamy ktory wybrany z list boxa
            foreach (var client in clients)
            {
                if (client.DeviceName == (string)listBox1.SelectedItem)
                {
                    deviceToPair = client;
                }
            }

            if (deviceToPair != null)
            {
                textBox1.Text += ("Urzadzenie, z ktorym sie parujemy:") + Environment.NewLine;
                var blueToothInfo =
                    string.Format(
                        "- DeviceName: {0}{1}  Connected: {2}{1}  Address: {3}{1}  Last seen: {4}{1}  Last used: {5}{1}",
                        deviceToPair.DeviceName, Environment.NewLine, deviceToPair.Connected, deviceToPair.DeviceAddress, deviceToPair.LastSeen,
                        deviceToPair.LastUsed);
                blueToothInfo += string.Format("  Class of device{0}   Device: {1}{0}   Major Device: {2}{0}   Service: {3}",
                                               Environment.NewLine, deviceToPair.ClassOfDevice.Device, deviceToPair.ClassOfDevice.MajorDevice, deviceToPair.ClassOfDevice.Service);
                textBox1.Text += (blueToothInfo) + Environment.NewLine;

                deviceToPair.Update();
                deviceToPair.Refresh();
                deviceToPair.SetServiceState(BluetoothService.ObexObjectPush, true);
                bool isPaired = BluetoothSecurity.PairRequest(deviceToPair.DeviceAddress, DEVICE_PIN);
                if (isPaired)
                {
                    textBox1.Text += ("Urzadzenie sparowane!") + Environment.NewLine;
                    listBox2.Items.Add(deviceToPair.DeviceName);

                    czySparowano = true;

                    // jezeli sparowano to aktywujemy tryb nasluchu plikow

                    Thread thread = new Thread(ReceiveFile);
                    thread.Priority     = ThreadPriority.Normal;
                    thread.IsBackground = true;
                    thread.Start();
                }
                else
                {
                    textBox1.Text += ("Urzadzenie niesparowane!") + Environment.NewLine;
                }
            }
            else
            {
                MessageBox.Show("Nie wybrano urzadzenia do sparowania!");
            }
            button2.Enabled = true;
        }
Esempio n. 5
0
        private bool connect()
        {
            using (SelectBluetoothDeviceDialog bldialog = new SelectBluetoothDeviceDialog())
            {
                bldialog.ShowRemembered = false;
                if (bldialog.ShowDialog() == DialogResult.OK)
                {
                    if (bldialog.SelectedDevice == null)
                    {
                        MessageBox.Show("No device selected");
                        return(false);
                    }

                    BluetoothDeviceInfo selecteddevice = bldialog.SelectedDevice;

                    if (!selecteddevice.Authenticated)
                    {
                        if (!BluetoothSecurity.PairRequest(selecteddevice.DeviceAddress, "0000"))
                        {
                            MessageBox.Show("PairRequest Error");
                            return(false);
                        }
                    }

                    try
                    {
                        client = new BluetoothClient();
                        client.Connect(selecteddevice.DeviceAddress, BluetoothService.SerialPort);
                    }

                    catch
                    {
                        return(false);
                    }

                    stream = client.GetStream();
                    // 标记stream已经接受对象实例化
                    SIGN_STREAMSETUP = true;
                    // 启动接收图片的进程
                    receiving     = true;
                    receiveThread = new System.Threading.Thread(Receiveloop);
                    receiveThread.Start();
                    //
                    sendDataThread = new System.Threading.Thread(SendData);
                    closeSendData();
                    sendDataThread.Start();
                    return(true);
                }
                return(false);
            }
        }
        /// <summary>
        /// Connects the client to a remote Bluetooth host using the specified mac address and OnConnected handler.
        /// </summary>
        /// <param name="mac">The mac address of the remote host.</param>
        /// <param name="handler">The delegate to handle connecting event.</param>
        /// <returns>true if the BluetoothAdapter was connected to a remote resource; otherwise, false.</returns>
        public bool Connect(string mac, OnConnected handler)
        {
            BluetoothAddress  bta = new BluetoothAddress(Convert.ToInt64(mac, 16));
            BluetoothEndPoint rep = new BluetoothEndPoint(bta, BluetoothService.SerialPort);

            lock ( mConnLock )
            {
                try
                {
                    if ((Connected && !ALLOW_OTHER_CONNECTION) || !ValidateAddress(mac))
                    {
                        return(false);
                    }

                    Disconnect();

                    RemovePairedDevice(mac);

                    EventHandler <BluetoothWin32AuthenticationEventArgs> authHandler = new EventHandler <BluetoothWin32AuthenticationEventArgs>(handleRequests);
                    BluetoothWin32Authentication authenticator = new BluetoothWin32Authentication(authHandler);

                    // 페어링 요청
                    BluetoothSecurity.PairRequest(bta, null);

                    mBtClient = new BluetoothClient();
                    mBtClient.Connect(rep);

                    authenticator.Dispose();

                    DeviceClass = DeviceClass != 0 ? DeviceClass : FindDeviceClass(mac);

                    if (DeviceClass == 0)
                    {
                        mBtClient.Dispose();
                        return(false);
                    }

                    WriteDeviceClass(mac, DeviceClass);

                    DeviceAddress = mac;

                    handler(DeviceClass);
                }
                catch
                {
                    return(false);
                }

                return(true);
            }
        }
Esempio n. 7
0
        private void connectToolStripButton__Click(object sender, EventArgs e)
        {
            var selectedDeviceInfo = devicesToolStripComboBox_.SelectedItem as BluetoothDeviceInfoEx;

            if (selectedDeviceInfo == null)
            {
                return;
            }

            var address = selectedDeviceInfo.DeviceInfo.DeviceAddress;

            //bluetoothClient_.Connect(address, BluetoothService.Handsfree);
            BluetoothSecurity.PairRequest(address, "");
        }
        void ConnectToBluetoothDevice(BluetoothDeviceInfo deviceInfo, BluetoothClient BTClient)
        {
            var paired = BluetoothSecurity.PairRequest(deviceInfo.DeviceAddress, "0000");

            if (paired)
            {
                deviceInfo.SetServiceState(BluetoothService.SerialPort, true);                 //TODO: find out what service it should be
            }
            else
            {
                throw new System.Exception("pairing failed");
            }
            //this is a good example https://stackoverflow.com/questions/23690243/32feet-net-connecting-to-bluetooth-speakers
        }
Esempio n. 9
0
        // 连接电脑端蓝牙
        private bool connect()
        {
            using (SelectBluetoothDeviceDialog bldialog = new SelectBluetoothDeviceDialog())
            {
                bldialog.ShowRemembered = false;
                if (bldialog.ShowDialog() == DialogResult.OK)
                {
                    if (bldialog.SelectedDevice == null)
                    {
                        MessageBox.Show("No device selected");
                        return(false);
                    }

                    BluetoothDeviceInfo selecteddevice = bldialog.SelectedDevice;

                    if (!selecteddevice.Authenticated)
                    {
                        if (!BluetoothSecurity.PairRequest(selecteddevice.DeviceAddress, "0000"))
                        {
                            MessageBox.Show("PairRequest Error");
                            return(false);
                        }
                    }

                    try
                    {
                        client = new BluetoothClient();
                        client.Connect(selecteddevice.DeviceAddress, BluetoothService.SerialPort);
                        stream = client.GetStream();
                        stream.Write(System.Text.Encoding.ASCII.GetBytes("student" + LOCALBLUETOOTHNAME), 0, 7 + LOCALBLUETOOTHNAME.Length);
                    }

                    catch
                    {
                        return(false);
                    }

                    StateOfRunning();
                    stream = client.GetStream();
                    // 标记stream已经接受对象实例化
                    SIGN_STREAMSETUP = true;
                    // 启动接收图片的进程
                    receiving = true;
                    //
                    sendfileThread = new System.Threading.Thread(SendFileLoop);
                    return(true);
                }
                return(false);
            }
        }
Esempio n. 10
0
 //Parowanie
 private void pairDevice()
 {
     try
     {
         chosenDevice = _devices[listBox1.SelectedIndex];
         BluetoothSecurity.PairRequest(chosenDevice.DeviceAddress, null);
         button3.Enabled = true;
         button4.Enabled = true;
     }
     catch
     {
         MessageBox.Show("Nie można połączyć się z " + chosenDevice.DeviceName.ToString());
     }
 }
Esempio n. 11
0
        private void buttonUnpair_Click(object sender, EventArgs e)
        {
            BluetoothSecurity.RemoveDevice(connected[listBoxConnected.SelectedIndex].DeviceAddress);

            connected.RemoveAt(listBoxConnected.SelectedIndex);
            listBoxConnected.Items.Clear();
            foreach (var device in connected)
            {
                listBoxConnected.Items.Add(device.DeviceName);
            }

            isPaired     = false;
            deviceToPair = null;
        }
Esempio n. 12
0
 public static bool tryPairing(BluetoothAddress btAdr, string pin)
 {
     updating = false;
     if (BluetoothSecurity.PairRequest(btAdr, pin))
     {
         updating = true;
         return(true);
     }
     else
     {
         updating = true;
         return(false);
     }
 }
Esempio n. 13
0
 private void Form2_Load(object sender, EventArgs e)
 {
     device      = f1.devChosen;
     label2.Text = device.DeviceAddress.ToString();
     if (BluetoothSecurity.PairRequest(device.DeviceAddress, "1234"))
     {
         nasluchuj.Start();
         label3.Text = "Sparowano";
     }
     else
     {
         label3.Text = "Błąd parowania";
     }
 }
Esempio n. 14
0
    /// <summary>
    /// Methode pour l'association des appareils
    /// </summary>
    public bool pairDevice()
    {
        string myPin = "1234";

        if (!device_selected.Authenticated)
        {
            if (!BluetoothSecurity.PairRequest(device_selected.DeviceAddress, myPin))
            {
                this.updateOutputLog("Failed to pair devices", -1);
                return(false);
            }
        }
        return(true);
    }
Esempio n. 15
0
        //--------------Blue Tooth Connection Section-------------------
        private void SearchWiimote()
        {
            if (m_Connected)
            {
                finelizeWiiMoteConnection();
            }
            else
            {
                BluetoothClient       btClient        = new BluetoothClient();
                BluetoothDeviceInfo[] devices         = btClient.DiscoverDevicesInRange();
                BluetoothDeviceInfo   DeviceToConnect = getWiiMoteBTDevice(devices);
                if (DeviceToConnect == null)
                {
                    devices         = btClient.DiscoverDevicesInRange();
                    DeviceToConnect = getWiiMoteBTDevice(devices);
                    if (DeviceToConnect == null)
                    {
                        fireConnectionStateChangeEvent(eWiiConnectivityState.Not_Found);
                    }
                }
                else if (checkWiiMoteConnectionAbility(DeviceToConnect))
                {
                    fireConnectionStateChangeEvent(eWiiConnectivityState.Connecting);
                    if (DeviceToConnect.InstalledServices.Length != 0)
                    {
                        BluetoothSecurity.RemoveDevice(DeviceToConnect.DeviceAddress);
                    }

                    if (!DeviceToConnect.Remembered)
                    {
                        DeviceToConnect.Refresh();
                        btClient.BeginConnect(DeviceToConnect.DeviceAddress, r_UUID, connectionCallbackFunction, btClient);
                        DeviceToConnect.SetServiceState(BluetoothService.HumanInterfaceDevice, true);
                    }

                    try
                    {
                        finelizeWiiMoteConnection();
                    }
                    catch (Exception)
                    {
                        fireConnectionStateChangeEvent(eWiiConnectivityState.Failed_To_Connect);
                    }
                }
                else
                {
                    fireConnectionStateChangeEvent(eWiiConnectivityState.Failed_To_Connect);
                }
            }
        }
Esempio n. 16
0
 private bool checkWiiMoteConnectionAbility(BluetoothDeviceInfo i_Device)
 {
     if (i_Device != null && !i_Device.Authenticated && !i_Device.Remembered)
     {
         char[] chArray = i_Device.DeviceAddress.ToString().ToArray <char>();
         chArray = hexReverse(chArray);
         string pinCode = hexToAscii(new String(chArray));
         if (!BluetoothSecurity.PairRequest(i_Device.DeviceAddress, pinCode))
         {
             return(false);
         }
     }
     return(i_Device != null);
 }
Esempio n. 17
0
        private void removeButton_Click(object sender, EventArgs e)
        {
            var btExistingList = btClient.DiscoverDevices(255, false, true, false);

            foreach (var btItem in btExistingList)
            {
                if (!btItem.DeviceName.Contains("Nintendo"))
                {
                    continue;
                }

                BluetoothSecurity.RemoveDevice(btItem.DeviceAddress);
                btItem.SetServiceState(BluetoothService.HumanInterfaceDevice, false);
            }
        }
Esempio n. 18
0
        public bool PerformPair(ulong myDeviceAddress)
        {
            Debug.WriteLine("Attempting Pair");
            bool devicePairSuccess;

            try
            {
                devicePairSuccess = BluetoothSecurity.PairRequest(myDeviceAddress, "1234");
                return(true);
            }
            catch
            {
                return(false);
            }
        }
Esempio n. 19
0
        private void button2_Click(object sender, EventArgs e)
        {
            string pin = "1234";

            BluetoothDeviceInfo device = (BluetoothDeviceInfo)listBox1.SelectedItem;
            bool nowPaired             = BluetoothSecurity.PairRequest(device.DeviceAddress, pin);

            if (nowPaired)
            {
                MessageBox.Show("Poprawne parowanie");
            }
            else
            {
                MessageBox.Show("Niepoprawne parowanie");
            }
        }
Esempio n. 20
0
        /// <summary>
        /// ペアリングとサービスのインストールを実施。
        /// </summary>
        /// <param name="deviceInfo">対象のデバイス</param>
        /// <returns></returns>
        private bool Pairing(BluetoothDeviceInfo deviceInfo)
        {
            // ペアリングリクエスト。完了するまで待ち合わせる。
            bool paired = BluetoothSecurity.PairRequest(deviceInfo.DeviceAddress, null);

            // ペアリング失敗したらそこで終了
            if (!paired)
            {
                return(false);
            }

            deviceInfo = new BluetoothDeviceInfo(deviceInfo.DeviceAddress);

            // ペアリングしたデバイスが対応しているサービス一覧を取得し、リストに記憶する。
            List <Guid> serviceGuidList = new List <Guid>();

            // L2CapProtocolにてGetServiceRecordsを実行するとデバイスが利用可能なサービス一覧を取得できる。
            ServiceRecord[] serviceinfo = deviceInfo.GetServiceRecords(BluetoothService.L2CapProtocol);
            foreach (var record in serviceinfo)
            {
                // サービスレコードをテキストでダンプ
                //ServiceRecordUtilities.Dump(Console.Error, record);
                // 取得したサービスレコードのうち、ServiceDescription のレコードを取得する。
                ServiceAttribute sdpRecord = record.GetAttributeById(InTheHand.Net.Bluetooth.AttributeIds.UniversalAttributeId.ServiceDescription);
                if (sdpRecord != null)
                {
                    // サービスのGuidを取得
                    serviceGuidList.Add(sdpRecord.Value.GetValueAsElementArray()[0].GetValueAsUuid());
                }
            }
            // サービスのインストール
            foreach (Guid service in serviceGuidList)
            {
                try
                {
                    // 個々のServiceに対し、有効を設定する。
                    deviceInfo.SetServiceState(service, true, true);
                }
                catch (Exception ex)
                {
                    Console.Error.WriteLine(ex.Message);
                    Console.Error.WriteLine(ex.StackTrace);
                }
            }

            return(true);
        }
Esempio n. 21
0
        public bool PairingTo(BluetoothDeviceInfo device)
        {
            if (!device.Authenticated)
            {
                //device.SetServiceState(BluetoothService.Handsfree, true);

                _win32Auth = new BluetoothWin32Authentication(HandleWin32Auth);

                localClient.SetPin(DEVICE_PIN);
                //localClient.SetPin(device.DeviceAddress, DEVICE_PIN);

                // replace DEVICE_PIN here, synchronous method, but fast
                return(BluetoothSecurity.PairRequest(device.DeviceAddress, DEVICE_PIN));
            }

            return(true);
        }
Esempio n. 22
0
 private bool PairDevice(BluetoothDeviceInfo bluetoothDeviceInfo)
 {
     Status = "Paired";
     if (bluetoothDeviceInfo.Authenticated || bluetoothDeviceInfo.Connected)
     {
         return(true);
     }
     else
     {
         BluetoothSecurity.PairRequest(bluetoothDeviceInfo.DeviceAddress, "I5CHK");
         if (bluetoothDeviceInfo.Authenticated)
         {
             return(true);
         }
     }
     return(false);
 }
Esempio n. 23
0
 private void pairBtn_Click(object sender, EventArgs e)
 {
     try
     {
         if (addressTxt.Text.Length > 0)
         {
             BluetoothAddress    btAddress  = BluetoothAddress.Parse(addressTxt.Text);
             BluetoothDeviceInfo currDevice = new BluetoothDeviceInfo(btAddress);
             BluetoothSecurity.PairRequest(currDevice.DeviceAddress, null);
             bbNameTxt.Text = currDevice.DeviceName;
         }
     }
     catch (System.FormatException)
     {
         MessageBox.Show("Not a valid device address format.");
     }
 }
Esempio n. 24
0
        private void UnPair()
        {
            // flaga czy rozparowano
            bool isUnPaired = false;

            // do przechowania zaznaczonego itemu z listy
            string temp = "";

            // znajdz na liscie 2
            listBox2.Refresh();

            try
            {
                foreach (string line in listBox2.Items)
                {
                    if (line == (string)listBox2.SelectedItem)
                    {
                        temp = line;
                    }
                }
            }
            catch (Exception)
            { }

            // dla znalej nazwy znajdz odpowiadajacego klienta na liscie i jezeli jest to usun go z listy
            foreach (var client in clients)
            {
                if (client.DeviceName == temp)
                {
                    isUnPaired = BluetoothSecurity.RemoveDevice(client.DeviceAddress);
                }
                if (isUnPaired)
                {
                    textBox1.Text += ("Urzadzenie rozlaczone!") + Environment.NewLine;
                    listBox2.Items.Remove(client.DeviceName);

                    //zmien flage
                    czySparowano = false;
                }
                else
                {
                    textBox1.Text += ("Urzadzenie nierozlaczone!") + Environment.NewLine;
                }
            }
        }
Esempio n. 25
0
        /************************************************************
         * This section of the code focuses on                      *
         * "Removal of the Paired Device"                           *
         *                                                          *
         * Removal of the device conatins two steps:                *
         *                                                          *
         * 1. Disconnect the device from Windows 10 PC              *
         * 2. Remove the device from the pairing list on CMBT       *
         * *********************************************************/
        /// <summary>
        /// The RemoveDevice
        /// </summary>
        private void RemoveDevice()
        {
            BluetoothRadio.PrimaryRadio.Mode = RadioMode.Connectable;
            BluetoothClient client = new BluetoothClient();

            BluetoothDeviceInfo[] devices         = client.DiscoverDevices();
            BluetoothClient       bluetoothClient = new BluetoothClient();
            String authenticated;
            String classOfDevice;
            String connected;
            String deviceAddress;
            String deviceName;
            String installedServices;
            String lastSeen;
            String lastUsed;
            String remembered;
            String rssi;

            foreach (BluetoothDeviceInfo device in devices)
            {
                authenticated     = device.Authenticated.ToString();
                classOfDevice     = device.ClassOfDevice.ToString();
                connected         = device.Connected.ToString();
                deviceAddress     = device.DeviceAddress.ToString();
                deviceName        = device.DeviceName.ToString();
                installedServices = device.InstalledServices.ToString();
                lastSeen          = device.LastSeen.ToString();
                lastUsed          = device.LastUsed.ToString();
                remembered        = device.Remembered.ToString();
                rssi = device.Rssi.ToString();
                string[] row = new string[] { authenticated, classOfDevice, connected, deviceAddress, deviceName, installedServices, lastSeen, lastUsed, remembered, rssi };
                dataGridView1.Rows.Add(row);

                if (device.DeviceName.Contains("CM-BT"))
                {
                    led1.OffColor = Color.LawnGreen;
                    BluetoothSecurity.RemoveDevice(device.DeviceAddress); // This disconnects and removes the device from the pairing list
                }
                else
                {
                    // led1.OffColor = Color.Red;
                }
            }
            this.Refresh();
        }
Esempio n. 26
0
        protected bool MakePairRequest()
        {
            BluetoothAddress deviceAddress = device.DeviceAddress;

            // If the device was previously paired with the computer it will be removed so a new pair could be done.
            BluetoothSecurity.RemoveDevice(deviceAddress);

            if (!BluetoothSecurity.PairRequest(deviceAddress, accessPin))
            {
                ErrorLog.AddError(ErrorType.Failure, Strings.BT_CantConnectToDevice);

                return(false);
            }
            else
            {
                return(true);
            }
        }
Esempio n. 27
0
        private void Unpair()
        {
            if (deviceToPair.DeviceName == listBoxConnected.SelectedItem.ToString())
            {
                isUnpaired = BluetoothSecurity.RemoveDevice(deviceToPair.DeviceAddress);
            }

            if (isUnpaired)
            {
                textBoxConsole.Text += "Urządzenie zostało odłączone.\r\n";
                listBoxConnected.Items.Remove(deviceToPair.DeviceName);
                isPaired = false;
            }
            else
            {
                textBoxConsole.Text += "Nie udało się rozłączyć urządzenia.\r\n";
            }
        }
Esempio n. 28
0
        public void Connect(BluetoothDeviceInfo btDevice)
        {
            bluetoothSupport.ChangeDeviceMode("Connectable");
            BluetoothAddress btAddress = BluetoothAddress.Parse(btDevice.DeviceAddress.ToString());

            if (BluetoothSecurity.PairRequest(btAddress, "1234"))
            {
                try
                {
                    bluetoothClient.Connect(new BluetoothEndPoint(btAddress, bluetoothSupport.Service));
                }
                catch { }
            }
            else
            {
                throw new Exception(App.Current.TryFindResource("notconnect").ToString());
            }
        }
Esempio n. 29
0
 private void PairingButton_Click(object sender, RoutedEventArgs e)
 {
     if (!chosenDevice.Authenticated)
     {
         if (BluetoothSecurity.PairRequest(chosenDevice.DeviceAddress, null))
         {
             MessageBox.Show("Sparowano.");
         }
         else
         {
             MessageBox.Show("Parowanie zakończone niepowodzeniem.");
         }
     }
     else
     {
         MessageBox.Show("Urządzenie jest już sparowane.");
     }
 }
Esempio n. 30
0
        public int TryDeviceSearchAndServiceConnect()
        {
            int wiiConnectstatus = -1;

            using (BluetoothClient bluetoothClient = new BluetoothClient())
            {
                try
                {
                    BluetoothDeviceInfo[] btDevicesDiscovered = bluetoothClient.DiscoverDevices();
                    for (int i = 0; i < btDevicesDiscovered.Length; i++)
                    {
                        BluetoothDeviceInfo bluetoothDeviceInfo = btDevicesDiscovered[i];
                        LOG.InfoFormat("TryDeviceSearchAndServiceConnect - Device name : {0} ", bluetoothDeviceInfo.DeviceName);
                        if (bluetoothDeviceInfo.DeviceName.Contains(WII_BOARD_NAME))
                        {
                            BluetoothDeviceInfo bluetoothWiiBoardDeviceInfo = bluetoothDeviceInfo;
                            //PermanentSync
                            if (!bluetoothDeviceInfo.Remembered)
                            {
                                #region PermanentSync
                                string pin = this.AddressToWiiPin(BluetoothRadio.PrimaryRadio.LocalAddress.ToString());
                                LOG.InfoFormat("code pin : {0}", pin);
                                new BluetoothWin32Authentication(bluetoothDeviceInfo.DeviceAddress, pin);
                                BluetoothSecurity.PairRequest(bluetoothDeviceInfo.DeviceAddress, pin);
                                #endregion
                            }
                            // Enable service !
                            bluetoothDeviceInfo.SetServiceState(BluetoothService.HumanInterfaceDevice, true);
                            wiiConnectstatus = 1;
                        }
                    }
                }
                catch (Exception ex)
                {
                    LOG.Warn(ex);
                    wiiConnectstatus = 99;
                }
            }

            // reinit wiiboard to null to force a search at next aquisition.
            wiiboard = null;

            return(wiiConnectstatus);
        }