精华内容
下载资源
问答
  • 打开手机/手表的蓝牙,就能在列表中看到扫描到的蓝牙,点击就可以实现配对功能。目前手表支持与所有设备配对,但是仅支持与耳机类型的设备进行连接 安全简易配对SSP(Secure simple pairing),蓝牙2.0之后配对...

    打开手机/手表的蓝牙,就能在列表中看到扫描到的蓝牙,点击就可以实现配对功能。目前手表支持与所有设备的配对,但是仅支持与耳机类型的设备进行连接

    安全简易配对SSP(Secure simple pairing),蓝牙2.0之后配对方式,简易安全配对一共有四种,其中Out of Band很少使用到,具体如下:
    Numeric Comparison
    配对双方都显示一个6位的数字,由用户来核对数字是否一致,并输入Yes/No,两端Yes表示一致即可配对,可以防止中间人攻击。
    使用场景:两端设备可以弹出6位十进制数,并且有yes和no按钮。

    Passkey Entry
    配对目标输入一个在本地设备上显示的6位数字,输入正确即可配对,并可以防止中间人攻击。
    使用场景:一端设备可以显示,另一端设备可以输入。

    Just Works
    不会进行鉴权,不能防止中间人攻击用于配对没有显示没有输入的设备,主动发起连接即可配对,用户看不到配对过程,不可以防止中间人攻击,例如连接蓝牙耳机。
    使用场景:用于即不能显示6位随机数,也不能输入的设备。

    Out of Band
    两设备的通过别的途径交换配对信息,例如一些NFC蓝牙音箱。

    这四种配对模式,在Classic 和 LE中都有 蓝牙连接需要安全加密,就涉及密钥的生成以及身份认证,通过配对完成这个过程中的交互。

    1. Classic中这四个配对方式就是SSP简单配对中四种模式。 蓝牙配对流程主要防止两种攻击,MITM(man-in-the-middle (MITM))中间人攻击以及 passive eavesdropping被动监听攻击。 这四种配对方式,除开JUSTWORK外,都可以防止这两种攻击。JUSTWORK由于不涉及人机 交互,所以没法防止MITM的中间人攻击。 (插一句,传统蓝牙的PIN CODE配对方式就是由于无法防止被动监听攻击(穷举PIN码)才 衍生了这四种SSP简单配对方式。)

    2. BLE中LE配对分为4.0版本中的LE LEGACY配对方式以及在BLE4.2版本开始导入的BLE Secure Connection配对方式。 前者LEGACY中,配对方式三种,JUSTWORK,PASSKEY ENTRY,以及OOB,JUSTWORK 依然无法防止MITM,另外由于秘钥生成方式的缺陷,导致LE LEGACY配对方式无法防止被动 监听攻击(OOB可以防止,因为用了非空中的传输交互) 正因为此,BLE4.2版本把Secure connection也引入到了BLE中(为什么说也,是因为 CLASSIC模式中也有SECURE CONNECTION方式...),BLE Secure connection和CLASSIC 的SSP采用同样的ECDH加密方式,所以安全性恢复到同样等级,可以防止被动监听攻击了。 BLE SECURE CONNECTION配对又有了四种配对模式,JUSTWORK,PASSKEY ENTRY, NUMERIC COMP.,以及OOB,同样类同于SSP,JUSTWORK防止不了MITM。

    以上内容,去蓝牙SPEC4.2及其以后版本里头查阅,大概可以弄清楚。 总之,用简单的话来说,配对目的就防止两种攻击,被动监听和MITM,防止MITM需要人机 交互操作,所以所有的JUSTWORK都没法防止这种攻击。被动监听目前采用非对称加解密方 式,即可破解,所以采用EDCH的SSP以及LE SECURE CONNECTION都能防止这种攻击。

    展开全文
  • Android Bluetooth蓝牙开发:Bluetooth蓝牙设备配对Paired Bluetooth Devices(2) 不同的Bluetooth进行配对时候,通常会显示如图所示的配对提示(前提是已经打开蓝牙设备且已经互相发现对方): 手机端: ...
    

    Android Bluetooth蓝牙开发:Bluetooth蓝牙设备配对Paired Bluetooth Devices(2)


    不同的Bluetooth进行配对时候,通常会显示如图所示的配对提示(前提是已经打开蓝牙设备且已经互相发现对方):
    手机端:



    电脑端:



    图中所示例子是一个Android设备和一个PC(笔记本电脑)在进行蓝牙配对时候的对话。蓝牙设备在配对过程中,Android代码无法掌控,需要拥有该设备的用户手动操作完成配对过程。在配对完成后,Android上层Java代码即可遍历所有和当前设备已经配对的周围蓝牙设备。遍历代码比较简单:

    package zhangphil.bluetooth;
    
    import java.util.Set;
    
    import android.app.ListActivity;
    import android.bluetooth.BluetoothAdapter;
    import android.bluetooth.BluetoothDevice;
    import android.os.Bundle;
    import android.util.Log;
    
    public class MainActivity extends ListActivity {
    
    	private BluetoothAdapter mBluetoothAdapter;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    
    		mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    
    		// 获得和当前Android已经配对的蓝牙设备。
    		Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
    
    		if (pairedDevices.size() > 0) {
    
    			// 遍历
    			for (BluetoothDevice device : pairedDevices) {
    
    				// 把已经取得配对的蓝牙设备名字和地址打印出来。
    				Log.d("已经配对的蓝牙设备", device.getName() + " : " + device.getAddress());
    			}
    		}
    	}
    }
    


    配对完成,遍历已经配对的蓝牙设备,目的之一就是为了获得配对集合Set中的BluetoothDevice们,从中选取某一特定BluetoothDevice,从BluetoothDevice获得BluetoothSocket,取出输入输出流,进而进行数据传输。
    从蓝牙配对集合中获取某一特定的BluetoothDevice进行数据传输,是Android蓝牙通信编程实现的其中一条途径,但并不是唯一途径。


    蓝牙的权限:

     <uses-permission android:name="android.permission.BLUETOOTH" />
        <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>


    附录文章:
    1,《Android Bluetooth蓝牙开发:发现Bluetooth蓝牙设备(1)》链接地址:http://blog.csdn.net/zhangphil/article/details/50524809
    2,Android Bluetooth蓝牙开发Google官方文档链接地址:http://developer.android.com/intl/zh-cn/guide/topics/connectivity/bluetooth.html

    展开全文
  • android获取手机已经配对蓝牙设备信息,列表显示
  • 代码中解除手机配对蓝牙设备

    千次阅读 2016-10-19 11:09:12
    这几天被一个问题困扰了很久,就是app里面连接蓝牙设备之后解绑断开,蓝牙回调也显示了断开,但是自己再去搜就搜不到了。找了很久原因发现在手机设置的蓝牙配对列表中发现该设备已被配对,导致手机搜不到。然后就...

    这几天被一个问题困扰了很久,就是app里面连接蓝牙设备之后解绑断开,蓝牙回调也显示了断开,但是自己再去搜就搜不到了。找了很久原因发现在手机设置的蓝牙配对列表中发现该设备已被配对,导致手机搜不到。然后就找到一个方法得到手机配对的蓝牙列表然后再通过反射的机制取消蓝牙的配对,到这里之后手机就能搜到了蓝牙。但是之后的每一次连接都需要再重新配对。接下来贴下代码:

    //得到配对的设备列表,清除已配对的设备
    	public void removePairDevice(){
    		if(mBluetoothAdapter!=null){
    			Set<BluetoothDevice> bondedDevices = mBluetoothAdapter.getBondedDevices();
    			for(BluetoothDevice device : bondedDevices ){
    					unpairDevice(device);
    			}
    		}
    
    	}
    
    	//反射来调用BluetoothDevice.removeBond取消设备的配对
    	private void unpairDevice(BluetoothDevice device) {
    		try {
    			Method m = device.getClass()
    					.getMethod("removeBond", (Class[]) null);
    			m.invoke(device, (Object[]) null);
    		} catch (Exception e) {
    			Log.e(TAG, e.getMessage());
    		}
    	}

    就是这样就解决了断开因为配对而搜不到的问题。
    展开全文
  • 平板电脑如何蓝牙手机配对Wireless devices with Bluetooth radios must be “paired” with each other before they can communicate. This involves making them discoverable and potentially entering a PIN. ...
    平板电脑如何蓝牙和手机配对

    平板电脑如何蓝牙和手机配对

    Wireless devices with Bluetooth radios must be “paired” with each other before they can communicate. This involves making them discoverable and potentially entering a PIN.

    具有蓝牙无线电的无线设备必须相互“配对”,然后才能进行通信。 这涉及使它们可被发现并可能输入PIN。

    The pairing process works with “Bluetooth profiles,” and each device has to be compatible. For example, you can only pair a mouse or keyboard with a device that’s been designed to work with that type of accessory.

    配对过程使用“蓝牙配置文件”,并且每个设备都必须兼容。 例如,您只能将鼠标或键盘与设计用于该类型附件的设备配对。

    将附件或设备置于发现模式 (Put an Accessory or Device Into Discovery Mode)

    To save battery power, a device with Bluetooth isn’t constantly broadcasting that it’s available. Even if you have a Bluetooth-enabled accessory near a Bluetooth-enabled device, they won’t be able to see each other until you put them into discovery mode. The device will then be “discoverable” by other devices — for a few minutes.

    为了节省电池电量,具有蓝牙功能的设备不会不断广播其可用状态。 即使您在具有蓝牙功能的设备附近有一个具有蓝牙功能的附件,在将它们置于发现模式之前,它们也将无法看到对方。 然后,该设备将被其他设备“发现”-持续几分钟。

    First, put the accessory you want to use into discovery mode. The exact way you do this depends on the accessory. If you have a headset, you may need to hold a button down on the headset for several seconds until a light starts flashing. A keyboard or mouse may have a similar button you may need to press or hold down. A speaker may have a Bluetooth button on its remote that puts it into Bluetooth discovery mode. Others may go into discovery mode by default after you turn them on. A light may flash to indicate that the device is in discovery mode. It’ll only stay discoverable for a few minutes.

    首先,将要使用的附件放入发现模式。 具体执行方式取决于附件。 如果您有耳机,则可能需要按住耳机上的按钮几秒钟,直到指示灯开始闪烁。 键盘或鼠标可能具有类似的按钮,您可能需要按下或按住该按钮。 扬声器的遥控器上可能有一个蓝牙按钮,可将其置于蓝牙发现模式。 默认情况下,其他用户打开后可能会进入发现模式。 指示灯可能会闪烁,表明设备处于发现模式。 它只会在几分钟内被发现。

    Not sure how to put your accessory into discovery mode? Consult its manual, check the manufacturer’s website, or perform a web search for instructions.

    不确定如何将配件置于发现模式? 请查阅其手册,检查制造商的网站,或进行网络搜索以获取说明。

    bluetooth discovery button

    If you’re using a smartphone, tablet, or computer, you can make it discoverable, too. On an iPhone, iPad, or Android device, just open the Bluetooth settings screen — your device will be discoverable as long as you have that screen open. On a Mac, just open the Bluetooth settings screen. On Windows, you’ll need to search the Control Panel for Bluetooth click “Change Bluetooth settings,” and enable the “Allow Bluetooth devices to find this PC” option.

    如果您使用的是智能手机,平板电脑或计算机,也可以使其变得可发现。 在iPhone,iPad或Android设备上,只需打开“蓝牙设置”屏幕-只要打开该屏幕,即可发现您的设备。 在Mac上,只需打开“蓝牙设置”屏幕。 在Windows上,您需要在“控制面板”中搜索蓝牙,然后单击“更改蓝牙设置”,然后启用“允许蓝牙设备查找此PC”选项。

    Note that you don’t need to make a device discoverable if you’ll be connecting from it. You only need to make a device discoverable if you’re connecting to it. For example, let’s say you wanted to connect a headset to your Android phone — you’d just need to make the headset discoverable, and not the Android phone.

    请注意,如果要从设备进行连接,则无需使其可被发现。 如果您要连接设备,则只需使其可被发现即可。 例如,假设您想将头戴式耳机连接到Android手机-您只需要使头戴式耳机(而不是Android手机)成为可发现的即可。

    But, let’s say you wanted to connect an Android phone to your computer — you’d need to make the Android phone discoverable.

    但是,假设您要将Android手机连接到计算机-您需要使Android手机可被发现。

    查看附近的可发现设备列表 (View a List of Discoverable Devices Nearby)

    Now, go to the smartphone, tablet, computer, music player, or whatever other device you want to connect the Bluetooth accessory to. Look for the Bluetooth settings or devices screen. This screen will display a list of nearby Bluetooth devices that are in discovery mode as well as devices paired to the device.

    现在,转到智能手机,平板电脑,计算机,音乐播放器或要将蓝牙附件连接到的任何其他设备。 查找“蓝牙设置”或“设备”屏幕。 该屏幕将显示处于发现模式的附近蓝牙设备以及与该设备配对的设备的列表。

    Be sure the Bluetooth hardware on your device is actually enabled. You’ll often see a toggle in the Bluetooth settings area.

    确保设备上的蓝牙硬件已真正启用。 您经常会在“蓝牙设置”区域中看到一个切换开关。

    For example, here’s how to do this on popular operating systems:

    例如,以下是在流行的操作系统上执行此操作的方法:

    • iPhone and iPad: Open the Settings app and tap Bluetooth near the top. of the list

      iPhone和iPad :打开“设置”应用,然后点击顶部附近的蓝牙。 列表中的

    • Android: Open the Settings screen and tap the Bluetooth option under Wireless & networks.

      Android :打开“设置”屏幕,然后在“无线和网络”下点击“蓝牙”选项。

    • Windows: Open the Control Panel and click “Add a device” under Devices and Printers. You’ll see discoverable Bluetooth devices near you. You’ll need Bluetooth hardware in your computer to do this, but you can always add Bluetooth to your computer.

      Windows :打开控制面板,然后在“设备和打印机”下单击“添加设备”。 您会在附近看到可发现的蓝牙设备。 为此,您需要在计算机中使用蓝牙硬件,但是您始终可以将蓝牙添加到计算机中

    • Mac OS X: Click the Apple menu and select System Preferences. Click the Bluetooth icon in the System Preferences window.

      Mac OS X :单击Apple菜单,然后选择系统偏好设置。 单击“系统偏好设置”窗口中的蓝牙图标。

    • Chrome OS: Click the status area at the bottom-right corner of the screen. Click the Bluetooth status in the pop-up that appears.

      Chrome操作系统:单击屏幕右下角的状态区域。 在出现的弹出窗口中单击蓝牙状态。

    • Linux: This varies depending on your Linux distribution and desktop. On Ubuntu’s Unity desktop, click the gear menu at the top-right corner of your screen, select System Settings, and click the Bluetooth icon in the System Settings window.

      Linux :这取决于您Linux发行版和桌面。 在Ubuntu的Unity桌面上,单击屏幕右上角的齿轮菜单,选择系统设置,然后单击系统设置窗口中的Bluetooth图标。

    • Other Devices: Whether you’re using a music player or a video game console, you should generally just be able to enter the device’s settings screen and look for a “Bluetooth” option.

      其他设备:无论您使用的是音乐播放器还是视频游戏机,通常都应该能够进入设备的设置屏幕并寻找“蓝牙”选项。

    配对设备并输入PIN码 (Pair the Device and Enter a PIN)

    Select the discoverable device in the list to connect. Depending on the device and its security settings, you may have to enter a PIN code to pair the device. If you need a PIN code, it should be displayed on the device’s screen. For example, if you’re pairing your phone with your computer, you’ll see a PIN on your phone’s screen and you’ll have to type it into your computer.

    在列表中选择可发现的设备以进行连接。 根据设备及其安全设置的不同,您可能必须输入PIN码才能将设备配对。 如果您需要PIN码,则应将其显示在设备的屏幕上。 例如,如果您要将手机与计算机配对,则手机屏幕上会显示PIN码,您必须将其输入计算机中。

    You may sometimes not have to type the PIN. Instead, you may simply see the PIN displayed on both devices. Just ensure each device shows the same PIN code before continuing.

    有时您可能不必输入PIN。 取而代之的是,您可能只是看到两个设备上都显示了PIN码。 只需确保每个设备显示相同的PIN码,然后再继续。

    In some cases, you may be asked to enter a PIN even if your device can’t display it. For example, you may be asked for a PIN when pairing with a Bluetooth headset or speaker. Entering the code “0000” will often work. If not, you may need to check the device’s documentation (or perform a web search) to find the PIN it needs.

    在某些情况下,即使您的设备无法显示,也可能会要求您输入PIN码。 例如,与蓝牙耳机或扬声器配对时,可能会要求您提供PIN码。 通常输入密码“ 0000”即可。 如果没有,您可能需要查看设备的文档(或执行网络搜索)以找到所需的PIN。



    By default, after the devices are paired, they’ll automatically see each other and communicate when they’re both powered on and have Bluetooth enabled.

    默认情况下,配对设备后,它们在打开电源并启用蓝牙后会自动互相看到并进行通信。

    You shouldn’t have to re-pair the accessory and the device when you want to use them together again. You’ll only need to do this if you tell your devices to forget each other — or pair a headset with another device, for example.

    要再次使用附件和设备时,无需重新配对。 仅当您告诉您的设备互相忘记时,或者将耳机与其他设备配对时,才需要执行此操作。

    Image Credit: William Hook on Flickr

    图片来源: Flickr上的William Hook

    翻译自: https://www.howtogeek.com/214185/beginner-geek-how-to-pair-devices-over-bluetooth/

    平板电脑如何蓝牙和手机配对

    展开全文
  • 手机蓝牙为例,在与其他设备进行配对时,...蓝牙芯片或软件的兼容性测试做得不够充分,是造成蓝牙设备配对困难的主要原因。兼容性测试由芯片原厂、方案公司、产品制造商进行,后者在测试中遇到问题也由芯片原厂配合寻
  • 在执行device discovery之前,最好在已配对设备列表中查看所要发现的设备是否已经存在。通过调用getBondedDevices()函数可以获得代表已经配对设备的BluetoothDevice集合。 例如,你可以查询所有已经配对设备...
  • 安卓蓝牙开发测试时候发现配对手机时如果配对设备是汉字出现乱码(UNICODE编码)怎么去解决呢?
  • 讲解了打开蓝牙设备和搜索蓝牙设备,这篇文章来讲解蓝牙配对和蓝牙连接 1.蓝牙配对 搜索到蓝牙设备后,将设备信息填充到listview中,点击listiew则请求配对 蓝牙配对有点击配对和自动配对,点击配对就是我们...
  • android开发之蓝牙主动配对连接手机

    万次阅读 多人点赞 2014-01-03 11:20:00
    上一篇介绍了手机配对连接的三种方式,这篇以完整的一个代码实例介绍如何搜索周围的蓝牙设备,以及主动配对,连接。 package jason.com; import java.io.IOException; import java.lang.reflect.Method; import ...
  • 上一章中,我们已经学习了传统蓝牙的开发,这一章,我们来学习如何让手机蓝牙耳机、音箱等连接配对,并实现音频传输。 一、基础知识 前面在 Android 蓝牙开发(一) – 传统蓝牙聊天室 的文章中,我们已经对蓝牙知识...
  • 在应用开发中有时会碰到操作蓝牙设备的需求,这时就需要获取手机已连接的蓝牙设备,其中"已连接"是广泛含义,其实蓝牙设备分为可链接设备(比如:蓝牙音箱 蓝牙耳机) 和可绑定设备(比如:手机 蓝牙自拍杆 蓝牙手表 ...
  • MTK 设备自动接受蓝牙配对

    千次阅读 2018-11-02 16:49:54
    如果将MTK芯片设计为无界面蓝牙设备,当其他设备在搜索配对此蓝牙设备时,由于没有界面,用户无法选择yes来接受 配对请求。 [SOLUTION] 修改BTMMIScr.c文件中的mmi_bt_security_user_confirm_hdlr()函数 ...
  • 那么IT数码设备当中是有很多小技巧的,这些技巧很多小伙伴一般都是不知道如何来实用的,就好比最近就有很多小伙伴们想要知道索尼sbh80耳机怎么连接安卓手机耳机蓝牙配对Android设备的方法,那么既然现在大家对于索尼...
  • 开启手机与笔记本的蓝牙功能,然后让笔记本搜索设备(当然也可以让手机搜索,只是笔记本操作比手机方便快捷),找到手机设备,然后点配对。 之后手机和笔记本会出现配对密匙,在手机和笔记本都点配对,这样就是彼此...
  • 蓝牙设备的连接与配对

    万次阅读 2018-06-26 11:25:10
    蓝牙是一种短距离无线通信技术,它由爱立信公司于1994年创制,原本想替代连接电信设备的数据线,但是后来发现它也能用于移动设备之间的数据传输,所以蓝牙技术在手机上获得了长足发展。因为手机内部的通讯芯片一般...
  • android手机蓝牙连接蓝牙设备

    千次阅读 2012-06-27 16:58:45
    通讯流程:设备有测量数据后,通知打开设备上的蓝牙模块,蓝牙开始广播(在没有连接的情况下,连续广播一分钟),此时手机蓝牙可以搜索到设备,之后进行配对连接,然后根据通讯协议来通讯;当产品测量完数据后通知...
  • NSUUID *uuid = [[NSUUID alloc]initWithUUIDString:@"F0010001-0451-4000-B000-000000000000"]; NSArray *bleArray = [NSArray ... 我用上边的方法获取到了设备可是就是连接不起来,请高手帮忙回答一下
  • 在应用开发中有时会碰到操作蓝牙设备的需求,这时就需要获取手机已连接的蓝牙设备,其中"已连接"是广泛含义,其实蓝牙设备分为可链接设备(比如:蓝牙音箱 蓝牙耳机) 和可绑定设备(比如:手机 蓝牙自拍杆 蓝牙手表 ...
  • 蓝牙空中包的时候最蛋疼的就是遇到SSP(安全简单配对),因为这时候的LinkKey不是通过pincode生成的,连接加密之后就无法解析数据包了。有两种方法来直接获得LinkKey,一是抓HCI log另一种方法就是到手机里查找...
  • 蓝牙配对方式

    千次阅读 2019-11-20 14:51:55
    例如手机之间的配对。 2.Just Works:用于配对没有显示没有输入的设备,主动发起连接即可配对,用户看不到配对过程。例如连接蓝牙耳机。 3. Passkey Entry:要求配对目标输入一个在本地设备上显示的6位数字,...
  • Android 蓝牙 自动配对连接

    千次阅读 2018-08-05 19:50:12
    最近在开发一个手机连接蓝牙设备的APP,其中有个需求是自动连接,用户不用确认。我在网上找到了一个工具类,但是网上很 多文章对这个工具类的使用方法都不能实现我的需求,要么弹出框不能隐藏,要么是隐藏输入框却...
  • 转载  源码下载地址 经过最近一段时间得研究,针对网上给出的案例。...2、将Demo安装在Android手机上,点击按钮,可以实现与目标蓝牙设备的自动配对。 3、若目标蓝牙设备为Android手机的蓝牙,则只能保证本
  • 配对流程基本上始于首次连接一个蓝牙设备的过程中,本端的搜索流程结束获取到该设备的BluetoothDevice信息,就可以开启配对流程。 配对,顾名思义就是将两个设备通过相关技术进行绑定,达到能够互相识别彼此的目的。...
  • Win10 蓝牙配对但无法连接的问题

    万次阅读 2019-06-05 12:00:31
    今天打开笔记本,发现ikbc的dc87键盘的蓝牙怎么也连不上,尝试了在蓝牙设置和设备管理器里删除该设备,后再重新配对,然而无法解决。。。 sigh… 好吧,决定开始排查问题: 键盘恢复出厂设置,重新请求配对时,win...
  • 转载自博客代码中解除手机配对蓝牙设备 这几天被一个问题困扰了很久,就是app里面连接蓝牙设备之后解绑断开,蓝牙回调也显示了断开,但是自己再去搜就搜不到了。找了很久原因发现在手机设置的蓝牙配对列表中...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 333
精华内容 133
关键字:

手机蓝牙设备配对