蓝牙的树立进程是一个杂乱的进程,即便有过适当一段工作和运用经历的人,假如不细心去了解仍是了解不全。
平常咱们用蓝牙耳机听音乐,和不同的设备同享文件,打电话等,都有一个配对–衔接–传输数据的进程。
蓝牙配对进程,其实便是一个认证的进程。
为什么不配对便无法树立衔接?
任何无线通讯技能都存在被监听和破解的或许,蓝牙SIG为了确保蓝牙通讯的安全性,选用认证的方法进行数据交互。一起为了确保运用的方便性,以配对的方法完结两个蓝牙设备之间的初次通讯认证,经配对之后,随后的通讯衔接就不用每次都要做承认。所以认证码的发生是从配对开端的,通过配对,设备之间以PIN码树立约好的link key用于发生初始认证码,以用于今后树立的衔接。
所以不配对,两个设备之间便无法树立认证联系,无法进行衔接及其之后的操作,所以配对在必定程度上确保了蓝牙通讯的安全,当然这个安全确保机制是比较简单被破解的,由于现在许多个人设备没有人机接口,所以PIN码都是固定的并且大都设置为通用的0000或许1234之类的,所以很简单被猜到并从而树立配对和衔接。
蓝牙的衔接进程
现在的蓝牙芯片供货商供给的技能支持才能适当强壮,有完好的硬件和软件解决方案。关于使用而言,供给了固件用于完成底层协议栈,供给了profile库及源代码标准了各种使用,开发人员只需专心于使用程序开发就能够了。关于蓝牙底层的一些东西往往不甚了了。曾经我也是这姿态的,最近在做一个主动查找以完成主动衔接的使用,发现仍是需求了解一些底层的机制的。
咱们能够很简单的进行操作在一个手机和免提设备之间树立衔接,那么这个衔接是怎样树立起来的呢?
首要,主设备(master,即建议衔接的设备)会寻呼(page)从设备(slave,接纳衔接的设备),master会已跳频的方法去寻呼slave,slave会固定距离地去扫描(scan)外部寻呼,即page scan,当scan 到外部page时便会呼应response该page,这样两个设备之间便会树立link的衔接,即ACL链路的衔接。当ACL 链路衔接树立后,主设备会建议channel的衔接恳求,即L2CAP的衔接,树立L2CAP的衔接之后,主设备选用SDP去查询从设备的免提服务,从中得到rfcomm的通道号,然后主设备会建议rfcomm的衔接恳求树立rfcomm的衔接。然后就树立了使用的衔接。