蓝牙配对和蓝牙连接
蓝牙配对是指在两个蓝牙设备之间建立一种安全的关系,以确保只有已经通过授权的设备才能进行通信。在蓝牙配对过程中,设备之间将共享一个加密密钥,用于保护数据传输的安全性。通常需要在设备上输入一个PIN码或者进行手动确认才能完成配对过程。蓝牙配对只需要进行一次,以后在设备之间进行蓝牙连接时就会自动建立加密通道。
蓝牙连接是指两个已经配对的蓝牙设备之间建立物理连接,以便它们可以互相传输数据。通常需要在设备之间手动触发连接过程,或者在设备之间建立自动连接规则,以便它们在接近时自动进行连接。蓝牙连接过程是非常简单的,只需要设备之间进行一些简单的握手操作就可以建立连接。
蓝牙配对是建立两个蓝牙设备之间的安全关系,而蓝牙连接是在两个已经建立安全关系的设备之间建立物理连接,以进行数据传输。
蓝牙配对只需要进行一次,而蓝牙连接可以根据需要进行多次。
hciconfig
hciconfig 命令用于配置和管理蓝牙设备。
ifconfig 命令用于配置和管理网络设备。
bluez
BlueZ:BlueZ是Linux下蓝牙协议栈的官方实现,提供了一系列命令行工具来配置和管理蓝牙设备。其中包括:
bluetoothctl:交互式命令行工具,用于扫描、配对、连接和管理蓝牙设备。
hciconfig:用于配置和管理蓝牙适配器。
hcitool:用于执行蓝牙操作,如扫描设备、获取设备信息等。
bluetoothd 和 dbus-daemon 和 bluetoothctl
bluetoothd 是 Linux 蓝牙服务的守护进程(daemon),主要负责处理与蓝牙相关的事件,如设备的连接、断开、扫描等。bluetoothd 进程启动后会监听 D-Bus 总线,通过接受和发送 D-Bus 消息来实现与其他应用程序之间的通信。
dbus-daemon 是 D-Bus 的守护进程(daemon),用于在 Linux 系统上提供进程间通信(IPC)和发布/订阅(pub-sub)机制。D-Bus 是一种轻量级、高效的 IPC 机制,它允许进程在系统中相互通信,而不必知道对方的详细信息。
bluetoothd 可以通过命令行参数或配置文件进行配置,并支持多种配置选项,如设备可见性、蓝牙名称、安全设置等。
paperlove@ubuntu:~$ bluetoothctl //进入bluetoothctl控制窗口
[bluetooth]# power on //
[bluetooth]# agent on //
[bluetooth]# default-agent //
[bluetooth]# scan on //
[bluetooth]# scan off //
[bluetooth]# paired-devices
[bluetooth]# pair <设备MAC地址>
[bluetooth]# trust <设备MAC地址>
[bluetooth]# connect <设备MAC地址>
[bluetooth]# disconnect <设备MAC地址>
[bluetooth]# show <设备MAC地址>
[bluetooth]# remove <设备MAC地址>
[bluetooth]# quit //退出
hciconfig
hciconfig //查看当前系统中已经安装的蓝牙适配器
hciconfig hci0 [up|down] //启用或禁用蓝牙适配器
hciconfig hci0 [参数名] [参数值] //配置蓝牙适配器的参数
hciconfig hci0 //查看蓝牙适配器的状态
hciconfig hci0 piscan //启用蓝牙适配器可见
hciconfig hci0 noscan //禁用蓝牙适配器可见
hciconfig hci0 name <新名称> //设置蓝牙适配器的名称
hcitool
hcitool scan //扫描蓝牙设备
hcitool dev //查看蓝牙适配器信息
hcitool info <设备MAC地址> //查看蓝牙设备信息
hcitool cc <设备MAC地址> //连接蓝牙设备
hcitool auth <设备MAC地址> //验证蓝牙设备
hcitool dc <设备MAC地址> //断开蓝牙设备