蓝牙HC-05无法与Android配对

时间:2013-11-05 04:51:52

标签: android bluetooth

所以,最近我按照这一系列教程进行了http://www.youtube.com/playlist?list=PL2cK5QO_pN1gfEcWZ8tCWUb-WyxAiMyIK 使用蓝牙模块HC-05

连接Arduino与Android

我完全按照他的计划,在我的机器人上检测到HC-05的蓝牙模块,但不会配对。红色LED持续闪烁。 如http://mcuoneclipse.com/2013/06/19/using-the-hc-06-bluetooth-module/表示模块上的红色LED指示状态: 眨眼:准备配对 稳定:配对

这是我应该在我的设备名称旁边输出“(已配对)”的代码

receiver = new BroadcastReceiver(){
            @Override
            public void onReceive(Context context, Intent intent) {
                String action = intent.getAction();
                if (BluetoothDevice.ACTION_FOUND.equals(action)){
                    BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                    devices.add(device);
                    String s = "";
                    for(int a=0;a<pairedDevices.size();a++){
                        if (device.getName().equals(pairedDevices.get(a))){
                            //append
                            s = "(Paired)";
                            break;
                        }
                    }
                    listAdapter.add(device.getName()+" "+s+" "+"\n"+device.getAddress());

                }else if (BluetoothAdapter.ACTION_DISCOVERY_STARTED.equals(action)){

                }else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)){

                }else if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)){
                    if (btAdapter.getState() == btAdapter.STATE_OFF){
                        turnOnBT();
                    }
                }  
            }

        };

相反,我得到一个吐司说设备没有配对

@Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        // TODO Auto-generated method stub
        if (btAdapter.isDiscovering()){
            btAdapter.cancelDiscovery();
        }
        if (listAdapter.getItem(arg2).contains("(Paired)")){

            BluetoothDevice selectedDevice = devices.get(arg2);
            ConnectThread connect = new ConnectThread(selectedDevice);
            connect.start();
        }else {
            Toast.makeText(getApplicationContext(), "device is not paired", 0).show();
        }
    }

我错过了什么? 注意: 我在用, 外部电源 模块HC-05带两个芯片(视频上只有一个芯片) Arduino UNO(关于使用Android Pro Mini的视频)

2 个答案:

答案 0 :(得分:2)

我找到了自己的答案, 在使用我们自己的Android应用程序进行连接之前,我们必须首先从系统设置&gt; bluetooth&gt;配对它。输入我们蓝牙模块的密码(在我的情况下是1234)

答案 1 :(得分:0)

您还可以通过代码连接hc 05,而不是通过设置进行配对。 你刚才在代码中犯了一个错误: 在onItemClick方法中,你正在检查设备是否已经配对,然后你调用连接线程,如果没有配对,你显示吐司说设备没有配对,但它没有任何意义.. 你应该连接它,如果它不包含“配对”,否则你做一个connectThread的对象,并调用connect方法。 希望这个有效! 如果没有,请告诉我。