你好,很不幸,你被一个标题骗了进来,可能我以后还会骗你,我这篇文章主要是写蓝牙相关的,不会涉及技术细节,主要是总结一些概念,这些概念会帮助你了解蓝牙知识,帮助你在面试或者聊天的时候章显自己的技术优势,提高自己的江湖地位。

我有两次的机会都跟蓝牙在一起奋斗了很长一段时间,这也是为什么很多读者看到我用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学习资料

我和蓝牙BT,BLE有一腿相关推荐

  1. Android蓝牙bt/ble开发

    参看文档: 蓝牙开发:https://www.jianshu.com/p/4ecc99679451 蓝牙bt/ble区别:https://zhuanlan.zhihu.com/p/59907996 安 ...

  2. Android蓝牙开发—经典蓝牙和BLE(低功耗)蓝牙的区别

    找到一篇介紹BT与BLE使用差别的文章, 写的很清晰,看完基本明白了 ----------------------------------------------------------------- ...

  3. Android 经典蓝牙与 BLE 蓝牙基础

    1. 蓝牙规范简介 蓝牙是一种无线技术标准,用来让固定与移动设备,在短距离间交换数据,以形成个人局域网(PAN).其使用短波特高频(UHF)无线电波,由 2.4 至 2.485 GHz 的 ISM 频 ...

  4. Android-经典蓝牙(BT)-建立长连接传输短消息和文件

    参考: https://developer.android.com/guide/topics/connectivity/bluetooth http://bbs.eeworld.com.cn/thre ...

  5. 【Android应用开发】Android 蓝牙低功耗 (BLE) ( 第一篇 . 概述 . 蓝牙低功耗文档 翻译)

    转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50515359 参考 :  -- 官方文档 : https://develope ...

  6. Android低功耗蓝牙(BLE)使用详解

    代码地址如下: http://www.demodashi.com/demo/13390.html 与普通蓝牙相比,低功耗蓝牙显著降低了能量消耗,允许Android应用程序与具有更严格电源要求的BLE设 ...

  7. 蓝牙技术|蓝牙(BLE)低功耗你所不了解的特性

    蓝牙是蓝牙技术联盟设计和销售的一种个人局域网络技术,旨在用于医疗保健.运动健身.信标(Beacon).安防.家庭娱乐等领域的新兴应用.相较经典蓝牙,蓝牙低功耗技术旨在保持同等通信范围的同时显著降低功耗 ...

  8. TI低功耗蓝牙(BLE)介绍

    TI低功耗蓝牙(BLE)介绍 本文档翻译和修改自参考资料:CC2540Bluetooth Low Energy Software Developer's Guide (Rev. B),部分图片直接引用 ...

  9. 普及一下什么是蓝牙和BLE,看完让你秒懂

    蓝牙是一种短距的无线通讯技术,可实现固定设备.移动设备之间的数据交换.一般将蓝牙3.0之前的BR/EDR蓝牙称为传统蓝牙,而将蓝牙4.0规范下的LE蓝牙称为低功耗蓝牙. 蓝牙4.0标准包括传统蓝牙模块 ...

最新文章

  1. 二叉树:路径之和 Path Sum
  2. 兼容性自动化测试 | HUAWEI DevEco Studio云测服务等您来体验
  3. python安装后怎么配置环境变量_Python安装与环境变量的配置
  4. 【Netty】IO 模型简介 ( Netty 特点 | Netty 应用场景 | Java 三种 IO 模型 | BIO 模型 )
  5. 网络与IO知识扫盲(六):多路复用器
  6. Android bootchart(二)
  7. 计算机课程中lnA怎么打,《计算机基础》考试模拟题(含答案)
  8. matlab工具箱使用50hz低通滤波器设计 和FFT 变化截取50hz工频信号幅值
  9. 极简主义shiny app
  10. 「leetcode」530. 二叉搜索树的最小绝对差:【有序数组】详解
  11. 34_注解的定义与反射调用
  12. AD18等长线、蛇形线的设置
  13. SpringBoot+Nacos 配置中心 + 服务注册与发现
  14. python绘制3d机械图_python matlibplot绘制3D图形
  15. elementary OS 5 Juno (Pantheon) 安装后配置总结(干货很多)
  16. svn 怎么提交代码
  17. 安卓手机下拉状态栏的代码实现
  18. 计算机听不到音乐怎么回事,电脑听不到声音怎么办
  19. 首次公开,300多页阿里百亿级系统架构设计实录
  20. AAAI-2020 Neural Cognitive Diagnosis for Intelligent Education Systems

热门文章

  1. 转】MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码
  2. 20151022作业
  3. ffmpeg.exe 笔记
  4. Quartz 2D编程笔记
  5. PostgreSQL建表动作分析
  6. setBackgroundResource的一个问题
  7. Android应用开发—通用的GridView网格分割线
  8. 深度学习之非极大值抑制(Non-maximum suppression,NMS)
  9. MySQL 之 information_schema
  10. 数据分级分类实施指南_运营商行业数据安全治理实践