你好,很不幸,你被一个标题骗了进来,可能我以后还会骗你,我这篇文章主要是写蓝牙相关的,不会涉及技术细节,主要是总结一些概念,这些概念会帮助你了解蓝牙知识,帮助你在面试或者聊天的时候章显自己的技术优势,提高自己的江湖地位。
我有两次的机会都跟蓝牙在一起奋斗了很长一段时间,这也是为什么很多读者看到我用Nordic,当时也是从0开始做项目,把Nordic里面的坑都一个一个的填平过来的。
后来有机会又玩了ESP32,里面有蓝牙,也有WIFI,这也是为什么我之前有文章写到ESP32相关的,我特别想推荐这个芯片,一个是因为他价格低,一个是因为这个又能玩WIFI,又能玩BLE,而且还跑的是Freertos,对入门的同学非常有帮助,再说一下价格,这个价格可以吊打很多开发板。这个是一个国产芯片,而且是百度投资的,而且上市了,我当时跟他们的技术人员说,百度做了一件漂亮的投资。
我有一个朋友,我开始接触Nordic他就在做这方面了,现在还一直在做,期间我给他推荐了好几次生意,但是每次都没成交,比较尴尬。
#经典蓝牙和低功耗蓝牙
经典蓝牙我们一般说的是BT
低功耗蓝牙我们一般说成BLE
经典蓝牙和BLE层次区分
其中Dual Mode 就是双模,也就是同时支持两种模式
关于2.4G和5G,有一个比较有意思的图片,刚刚在网上看到的
#蓝牙规范
蓝牙分为核心规范和应用规范,一个偏底层一个偏应用,底层是把道路铺设好,应用是在这样的路上发明了各种汽车。
Core Specification(核心规范):
用于规定蓝牙设备必须实现的通用功能和协议层次。它由软件和硬件模块组成,两个模块之间的信息和数据通过主机控制接口(HCI)的解释才能进行传递。
Profiles(蓝牙应用规范):
它从应用场景的角度为蓝牙技术的使用制定了不同的规范。这也是和大众日常生活接触最多的一部分。蓝牙支持很多Profiles,下文将介绍几种使用最广泛的蓝牙应用规范。
上面是应用,下面是核心。
#蓝牙应用profile
蓝牙的应用很多,比如ibecon也是蓝牙的一种应用,我这里说A2DP,是因为我们做项目要用到这个,现在的很多手机支持这个功能,有的不支持,我们需要用,我就查了,放这里给大家看看。
##A2DP
Advanced Audio Distribution Profile(蓝牙音频数据传输的profile)。
A2DP中定义了两种role: Source and Sink。发送音频流的设备是source,接收音频流的设备是sink,比如手机是source,蓝牙耳机是sink。
A2DP依赖与传输层协议AVDTP—Audio/Video Distribution Transport Protocol。
A2DP还规定了音频的编码格式,其中SBC是必须支持的,可选的格式有MPEG-1, MPEG-2, MPEG-4, AAC and ATRC, 另外也支持厂商扩展的格式,比如高质量的音频编码格式apt-X。
在安卓里面我们和apk进行通信,其中包括hardware.so,底层,硬件,其中涉及到音频就需要和audio flinger耦合在一起。
回复「 篮球的大肚子」进入技术群聊
回复「1024」获取1000G学习资料