【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个诀窍
随机推荐
- 算法模板:spfa
#include<iostream> #include<algorithm> #include<cstring> #include<string> #i ...
- OID天下第一 (双指针,LCT,线段树)
题面 或曰:"笑长天下第一!",OID 喜得合不拢嘴:"哈哈哈哈哈哈--" OneInDark 是天下第一的. OneInDark 给了你一个 n n n 个点 ...
- SETTLE约束算法中的坐标变换问题
技术背景 在之前的两篇文章中,我们分别讲解了SETTLE算法的原理和基本实现和SETTLE约束算法的批量化处理.SETTLE约束算法在水分子体系中经常被用到,该约束算法具有速度快.可并行.精度高的优点 ...
- 【多服务场景化解决方案】智能家居(UrbanHome)
介绍 UrbanHome是一款提供房屋维修服务的移动应用.如有维修需求,用户可通过该应用联系所在城市的管道工,电工,保洁,漆匠,木匠,修理工等,或是搜寻导航附近的维修商店. 通过构建UrbanHo ...
- 【pytest官方文档】解读- 如何自定义mark标记,并将测试用例的数据传递给fixture函数
在之前的分享中,我们知道可以使用yield或者return关键字把fixture函数里的值传递给test函数. 这种方法很实用,比如我在fixture函数里向数据库里插入必要的测试数据,那我就可以把相 ...
- mysql_添加修改字段总结
Mysql 添加字段 例子 ALTER TABLE tt_transfer_container_pick_config ADD COLUMN container_pick_station VARCHA ...
- 【读书笔记】C#高级编程 第十四章 内存管理和指针
(一)后台内存管理 1.值数据类型 Windows使用一个虚拟寻址系统,该系统把程序可用的内存地址映射到硬件内存中的实际地址,该任务由Windows在后台管理(32位每个进程可使用4GB虚拟内存,64 ...
- e1000e网卡驱动在麒麟3.2.5上编译安装
一.清空原驱动 因为系统安装完毕后系统中自带了e1000e的网卡驱动,会影响后面自行编译的驱动 所以先用find命令找出并删除掉所有关于e1000e的驱动文件 find / -name "* ...
- mysql8 安装与配置文件添加时区
mysql默认时区选择了CST mysql>show variables like '%time_zone%'; 解决办法:(建议通过修改配置文件来解决) 通过命令在线修改: mysql> ...
- kvm安装windows使用virtio驱动下载地址
https://dl.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/deprecated-README 老版本下载地址:https:// ...