【Bluetooth蓝牙开发】一、开篇词 | 打造全网最详细的Bluetooth开发教程
![](https://image-1305421143.cos.ap-nanjing.myqcloud.com/image/202206141400958.jpeg)
个人主页:董哥聊技术
我是董哥,嵌入式领域新星创作者
创作理念:专注分享高质量嵌入式文章,让大家读有所得!
![](https://bdn.135editor.com/files/images/editor_styles/d1c723e7e296ca791c2fb3b39ebee0f3.jpg)
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
所汇总的文章,每一篇都是精心打磨的文章,并且后续会继续补充蓝牙开发相关内容,期待大家关注!
- 同时,为了更好的交流与成长,后续可以建立蓝牙开发交流群,以供大家探讨相关技术!
- 附:蓝牙协议下载地址
![](https://img-blog.csdnimg.cn/img_convert/908c0dd222635ce941b633c890ede3eb.png)
![](https://image-1305421143.cos.ap-nanjing.myqcloud.com/image/76f5c092e753e7e745fca85efc1f5106.gif)
【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个诀窍
随机推荐
- 检查一个数值是否为有限的Number.isFinite()
如果参数类型不是数值,Number.isFinite()一律返回false. Number.isFinite(15); // true Number.isFinite(0.8); // true Nu ...
- [CF1538E] Funny Substrings (模拟)
题面 该场 Div. 3 最"难"的一道题:Funny Substrings O I D \tt OID OID 队长喜欢玩字符串,因为 " O n e I n D a ...
- [CF1527D] MEX Tree (lca)
题面 给你一棵 n n n 个结点的树,对于所有的 k ∈ [ 0 , n ] k\in[0,n] k∈[0,n] ,求出 M E X = k {\rm MEX}=k MEX=k 的路径数量. 一条路 ...
- KingbaseES lag 和 lead 函数
1.简介 lag与lead函数是跟偏移量相关的两个分析函数,通过这两个函数可以在一次查询中取出同一字段的前N行的数据(lag)和后N行的数据(lead)作为独立的列,从而更方便地进行进行数据过滤. 2 ...
- KingbaseES V8R6集群维护案例之--单实例数据迁移到集群案例
案例说明: 生产环境是单实例,测试环境是集群,现需要将生产环境的数据迁移到集群中运行,本文档详细介绍了从单实例环境恢复数据到集群环境的操作步骤,可以作为生产环境迁移数据的参考. 适用版本: Kingb ...
- haodoop数据压缩
压缩概述 压缩技术能够有效减少底层存储系统(HDFS)读写字节数.压缩提高了网络宽带和磁盘空间的效率.在运行MR程序时,I/O操作,网络数据传输,Shuffle和Merge要花大量的时间,尤其是数据规 ...
- 聊聊计算机之Intel CPU的MESI协议
1.on-chip概念 on-chip:每个CPU有好几个物理核,它们分布在CPU上,称为on-chip on-chip first cache:每个核内的一级缓存 on chip branch ta ...
- 使用 Loki 进行日志报警(二)
转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247492374&idx=1&sn=d09f6db623 ...
- 第六章:Django 综合篇 - 4:django-admin和manage.py
目录 一.Django内置命令选项 check dbshell diffsettings flush makemigrations migrate runserver shell startapp s ...
- 在Portainer上管理其他docker主机(这只是其中一种方式),另一种方式看这个文档:使用Portainer管理其他主机的docker应用有两种方式
其他主机开启远程连接docker端口 需要设置一下2375端口的监听.通过修改docker配置文件方式进行监听. 修改配置文件修改监听端口 使用Centos7安装的docker,所以下面的配置是适用于 ...