【Bluetooth蓝牙开发】一、开篇词 | 打造全网最详细的Bluetooth开发教程

个人主页:董哥聊技术
我是董哥,嵌入式领域新星创作者
创作理念:专注分享高质量嵌入式文章,让大家读有所得!

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
所汇总的文章,每一篇都是精心打磨的文章,并且后续会继续补充蓝牙开发相关内容,期待大家关注!
- 同时,为了更好的交流与成长,后续可以建立蓝牙开发交流群,以供大家探讨相关技术!
- 附:蓝牙协议下载地址


【Bluetooth蓝牙开发】一、开篇词 | 打造全网最详细的Bluetooth开发教程的更多相关文章
- [ASP.NET Core开发实战]开篇词
前言 本系列课程文章主要是学习官方文档,再输出自己学习心得,希望对你有所帮助. 课程大纲 本系列课程主要分为三个部分:基础篇.实战篇和部署篇. 希望通过本系列课程,能让大家初步掌握使用ASP.NET ...
- 移动端App开发 - 01 - 开篇
移动端App开发 - 01 - 开篇 从此笔记之后开启移动端 app 开发学习 该系列笔记去掉所有无关重要的东西,简介干练 我的移动端App开发笔记 1.移动端App开发 - 02 - iPhone/ ...
- 【Bluetooth|蓝牙开发】二、蓝牙开发入门
个人主页:董哥聊技术 我是董哥,嵌入式领域新星创作者 创作理念:专注分享高质量嵌入式文章,让大家读有所得! [所有文章汇总] 1.蓝牙基础概念 蓝牙,是一种利用低功率无线电,支持设备短距离通信的无线电 ...
- android bluetooth蓝牙移植
http://blog.csdn.net/zhengmeifu/article/details/7705172 前段时间移植神念系统需要使用到bluetooth功能,现将移植过程中碰到的问题简要列一下 ...
- 打造TypeScript的Visual Studio Code开发环境
打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...
- 打造理想的Windows 10 APP开发环境的5个步骤
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:微软即将发布Windows 10手机版,实际上很多人现在已经开始在开发Windows ...
- bluetooth 蓝牙协议和标准,配置
Bluetooth 配置文件表达了一般行为,Bluetooth 设备可以通过这些行为与其它设备进行通信.Bluetooth 技术定义了广泛的配置文件,描述了许多不同类型的使用案例.为了使用 Bluet ...
- [daily][device][bluetooth] 蓝牙怎么办!(archlinux下驱动蓝牙鼠标,以及三星手机)
去年地摊买的破无线鼠标坏掉了.看上微软的Designer Mouse蓝牙鼠,但是买之前我要确认我能不能驱起来. 这款鼠标只支持蓝牙4.0.系统支持windows8以上,不支持xp和windows7. ...
- 打造高质量Android应用:Android开发必知的50个诀窍
打造高质量Android应用:Android开发必知的50个诀窍
随机推荐
- 用Socket套接字发送和接收文件(中间用数组存取)
创建服务端: public class TcpFileServer { public static void main(String[] args) throws Exception { //1创建S ...
- Typora的破解
Typora是什么? Typora是一款支持实时预览的Markdown文本编辑器.支持即时渲染技术,这也是与其他Markdown编辑器最显著的区别.即时渲染使得你写Markdown就想是写Word文档 ...
- 搭建eBackup对接NFS服务
环境准备 两个虚拟机需要是仅主机并且同一网段 先搭建一个eBackup环境虚拟机 搭建步骤可访问:(https://www.cnblogs.com/zhengyan6/p/16220774.html) ...
- MySQL数据库如何线上修改表结构
一.MDL元数据锁 在修改表结构之前,先来看下可能存在的问题. 1.什么是MDL锁 MySQL有一个把锁,叫做MDL元数据锁,当对表修改的时候,会自动给表加上这把锁,也就是不需要自己显式使用. 当对表 ...
- immutable 与 stable 函数的差异
Stable 函数不能修改数据库,单个Query中所有行给定同样的参数确保返回相同的结果.这种稳定级别允许优化器将多次函数调用转换为一次.在索引扫描的条件中使用这种函数是可行的,因为索引扫描只计算一次 ...
- KingbaseES 参数 - ignore_char_null_check
KingbaseES 基于PostgreSQL进行了大量的Oracle兼容性开发,为了能同时兼容Oracle 和 PG 的特性,增加参数进行控制.以下介绍 KingbaseES 下特有的参数 igno ...
- vivo 全球商城:电商平台通用取货码设计
vivo官网商城开发团队 - Zhou Longjian 一.背景 随着O2O线上线下业务的不断扩展,电商平台也在逐步完善交易侧相关的产品功能.在最近的需求版本中,业务方为进一步提升用户的使用体验,规 ...
- [开源福利] FreeRedis 历时两年正式发布 v1.0 [C#.NET Redis Client]
最近很多 .net QQ 群无故被封停,特别是 wpf 群几乎全军覆没.依乐祝的 .net6交流群,晓晨的 .net跨平台交流群,导致很多码友流离失所无家可归,借此机会使用一次召唤术,有需要的请加群: ...
- 发布日志- kratos v2.1.4 发布!
v2.1.4 release https://github.com/go-kratos/kratos/releases/tag/v2.1.4 New Features feat(registry/co ...
- Django 聚合分组F与Q查询及choices
一.聚合查询 需要导入模块:from django.db.models import Max, Min, Sum, Count, Avg 关键语法:aggregate(聚合结果别名 = 聚合函数(参数 ...