个人主页:董哥聊技术

我是董哥,嵌入式领域新星创作者

创作理念:专注分享高质量嵌入式文章,让大家读有所得!

1、前言

大家好,我是董哥!

随着物联网技术的快速发展,WiFi、蓝牙成了物联网通信主力军,但是不得不说,这两个技术的门槛还是比较高的,尤其是蓝牙,单单其官方文档,就有将近3000Page,让人望而生畏!

纵观全网,蓝牙技术的学习有三大难点:

  • 其一:学习资料之杂
  • 其二:极少有系统学习蓝牙的文章
  • 其三:蓝牙协议晦涩难懂

这样就导致了蓝牙学习成本之高,劝退人数之多。

因此,为了让初学者快速上手并且掌握蓝牙开发相关技术,我也根据自己的开发经验,精心打造了这一期专栏,主要目的是可以帮助大家零基础入门蓝牙开发,并且可以创建一个交流平台,以供大家交流!

本专栏从四个大方面来学习蓝牙技术:蓝牙基础知识,蓝牙协议栈,蓝牙调试方法,蓝牙应用。我也一定会尽最大努力,帮助大家快速敲开蓝牙开发的大门。

2、蓝牙综合介绍

下面我们看一下零基础入门蓝牙开发的学习步骤,希望能够帮助到大家!!!

3、精华文章汇总

为了方便大家快速找到文章,这里按照学习流程进行汇总,点击即可访问!

章节 内容
1、开篇词 1. 文章总览
2、蓝牙开发入门 2.1 蓝牙基本概念
2.2 蓝牙发展历程
2.3 常见蓝牙架构
3. 蓝牙协议栈总览 2.1 从两个视角,了解蓝牙协议栈
4. 蓝牙协议栈——物理层 3.1 物理层的划分
5. 蓝牙协议栈——链路层 4.1 链路层状态、角色定义
4.2 空中接口数据包格式,字段分析
6. 蓝牙协议栈——传输层 5.1 HCI接口功能介绍
5.2 HCI层包的格式,字段分析
7. 蓝牙协议栈——L2CAP协议 6.1 L2CAP协议作用
6.2 L2CAP协议包的格式,字段分析
8. 蓝牙协议栈——ATT协议 7.1 ATT协议作用及由来
7.2 ATT数据结构
7.3 ATT协议的数据包格式,字段分析
9. 蓝牙协议栈——GATT协议 8.1 GATT的作用
8.2 GATT协议框架
10. 蓝牙通信流程分析 9.1 蓝牙初始化流程
9.2 蓝牙广播流程
9.3 蓝牙扫描流程
9.4 蓝牙建立连接流程
9.5 蓝牙数据交互流程
9.6 蓝牙断开流程
11. 蓝牙协议栈——Bluez交叉编译 10.1 Glib、Zlib、D-Bus、ncurses、readline、bluez
12. 蓝牙调试工具汇总 11.1 hciconfig
11.2 hcitool
11.3 hcidump
11.4 hciattach
11.5 btmon
11.6 bluetoothd
11.7 bluetoothctl

4、结语

以上,为目前Bluetooth所汇总的文章,每一篇都是精心打磨的文章,并且后续会继续补充蓝牙开发相关内容,期待大家关注!

  • 同时,为了更好的交流与成长,后续可以建立蓝牙开发交流群,以供大家探讨相关技术!
  • 附:蓝牙协议下载地址

文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux入门初识Linux21347 人正在系统学习中

【Bluetooth蓝牙开发】一、开篇词 | 打造全网最详细的Bluetooth开发教程的更多相关文章

  1. [ASP.NET Core开发实战]开篇词

    前言 本系列课程文章主要是学习官方文档,再输出自己学习心得,希望对你有所帮助. 课程大纲 本系列课程主要分为三个部分:基础篇.实战篇和部署篇. 希望通过本系列课程,能让大家初步掌握使用ASP.NET ...

  2. 移动端App开发 - 01 - 开篇

    移动端App开发 - 01 - 开篇 从此笔记之后开启移动端 app 开发学习 该系列笔记去掉所有无关重要的东西,简介干练 我的移动端App开发笔记 1.移动端App开发 - 02 - iPhone/ ...

  3. 【Bluetooth|蓝牙开发】二、蓝牙开发入门

    个人主页:董哥聊技术 我是董哥,嵌入式领域新星创作者 创作理念:专注分享高质量嵌入式文章,让大家读有所得! [所有文章汇总] 1.蓝牙基础概念 蓝牙,是一种利用低功率无线电,支持设备短距离通信的无线电 ...

  4. android bluetooth蓝牙移植

    http://blog.csdn.net/zhengmeifu/article/details/7705172 前段时间移植神念系统需要使用到bluetooth功能,现将移植过程中碰到的问题简要列一下 ...

  5. 打造TypeScript的Visual Studio Code开发环境

    打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...

  6. 打造理想的Windows 10 APP开发环境的5个步骤

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:微软即将发布Windows 10手机版,实际上很多人现在已经开始在开发Windows ...

  7. bluetooth 蓝牙协议和标准,配置

    Bluetooth 配置文件表达了一般行为,Bluetooth 设备可以通过这些行为与其它设备进行通信.Bluetooth 技术定义了广泛的配置文件,描述了许多不同类型的使用案例.为了使用 Bluet ...

  8. [daily][device][bluetooth] 蓝牙怎么办!(archlinux下驱动蓝牙鼠标,以及三星手机)

    去年地摊买的破无线鼠标坏掉了.看上微软的Designer Mouse蓝牙鼠,但是买之前我要确认我能不能驱起来. 这款鼠标只支持蓝牙4.0.系统支持windows8以上,不支持xp和windows7. ...

  9. 打造高质量Android应用:Android开发必知的50个诀窍

    打造高质量Android应用:Android开发必知的50个诀窍

随机推荐

  1. feign远程调用出错

    如果你传递的参数,比较复杂时,默认会采用POST的请求方式. 传递单个参数时,推荐使用@PathVariable,如果传递的单个参数比较多,这里也可以采用@RequestParam,Feign接口中不 ...

  2. Matery主题添加Pjax

    如何给matery主题添加Pjax? Pjax优点 1.减轻服务端压力 2.按需请求,每次只需加载页面的部分内容,而不用重复加载一些公共的资源文件和不变的页面结构,大大减小了数据请求量,以减轻对服务器 ...

  3. 【面试题】Vue中的$router 和 $route的区别

    Vue中的$router 和 $route的区别 点击视频讲解更加详细 this.$route:当前激活的路由的信息对象.每个对象都是局部的,可以获取当前路由的 path, name, params, ...

  4. Filter中的FilterChain.doFilter(req,resp)的报错解决

    服务器内部错误:500 Request processing failed; nested exception is java.lang.IllegalStateException: 提交响应后无法调 ...

  5. 【JDBC】学习路径3-密码登录&SQL注入攻击

    最后再提醒一句,每次在测试JDBC程序的时候,一定要确保MySQL正在运行. 打开控制台(终端),输入mysql 如果没启动,则出现以下提示: Mac端启动MySQL数据库,需要在系统便好设置中启动. ...

  6. Filter(过滤器)、ThreadLocal(本地线程)、Listener(监听器)

    Filter(过滤器) Filter过滤器它的作用是:拦截请求,过滤响应. 过滤器链 1)执行的顺序依次是: A B C Demo03 C2 B2 A2 2)如果采取的是注解的方式进行配置,那么过滤器 ...

  7. 第七十七篇:ref引用(在vue中引用组件实例)

    好家伙, 为方便理解, 我们先来写一个经典自增一按钮, 再加上一个count清零按钮, Left.vue组件中: <template> <div > <h1>我是L ...

  8. 关于python文件写入问题

    第一种.用for循环不断打开文件写入关闭 测试代码数据如下: import time begin = time.perf_counter() def a(f, lis): f.write(lis + ...

  9. Linux虚拟机启动报错operating system not found解决步骤

    此报错为硬盘上的启动代码丢失 实验准备步骤 1) 准备: dd if=/dev/zero of=/dev/nvme0n1 bs=446 count=1 2) 系统启动报错截图 修复步骤如下 第一步:选 ...

  10. 播放器之争:VLC还是martPlayer

    好多开发者跟我们交流的时候提到,为什么有了VLC这种开源播放器,大牛直播SDK还要开发SmartPlayer?以下就针对VLC和SmartPlayer功能支持和涉及侧重,做个大概的比较: VLC VL ...