登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
[SDR] 蓝牙专项教程 —— 从 0 到 1 教小白基于 SDR 编 ...
[SDR] 蓝牙专项教程 —— 从 0 到 1 教小白基于 SDR 编写蓝牙协议栈
[ 复制链接 ]
懵诬哇
2025-6-3 10:52:18
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
目录
前言
一、开题之作
二、动态发送 BLE 广播包
三、基于 PlutoSDR 实现 BLE 广播包的收发一体能力
四、基于 PlutoSDR 的 BLE 广播包的收发实现接入涂鸦智能 APP
教程列表
基础教程:
综合教程:
SDR 小工具教程:
基础块教程:
视频和博客
前言
之前我已经陆续出了 3 篇蓝牙收和 2 篇蓝牙发的视频,将蓝牙 BLE 广播收发的协议栈讲的非常清楚了:
图片来源:https://www.beautifulzzzz.com/gnuradio/
这里将其单独拎出来组成一个 BLE + SDR 的专题,用于汇总关于蓝牙协议栈在 SDR 上实现的各种技术点。
一、开题之作
为了方便后续代码构建,我将之前零零散散的关于 BLE+SDR 的相关工程代码,全部合并到一个独立仓库中 auto_test_tool。
PS:
这个仓库是之前我的一个很老的仓库,用于编写一些简单的自动化测试的 python 串口工具,因为里面有些组件整合适合 BLE 广播包的解析与发送,因此就在这里附加了。
为了防止后续的课程对代码修改导致老课程不方便复现,我这里每个课程都会生成一个 tag,这样每个课程都可以拉取对应的 tag 来还原现场。比如,我们这个开题之作采用的是 ble_course_1,因此可以使用下面三种方式拉取代码:
方法命令备注httpsgit clone --branch ble_course_1 https://github.com/nbtool/auto_test_tool.git小白懂 git 但不懂 sshsshgit clone --branch ble_course_1 git@github.com:nbtool/auto_test_tool.git既懂 git 又懂 ssh点击下载https://github.com/nbtool/auto_test_tool/releases/tag/ble_course_1啥都不懂
OK,开题相关的铺垫到此结束,那么硬核的东西也不能少:
如上图,我将之前的所有 BLE 广播包接收教程的代码全部重新整理,形成上图所示能兼容 hackrf、plutosdr、limesdr 和 zmq 等不同 SDR 源的蓝牙广播接收解析系统(抓包器)。
具体的教程细节见:app/app_sdr_ble_adv_rx
二、动态发送 BLE 广播包
上节我们将 BLE 广播包接收代码进行全部整理,本节我们将 BLE 广播包发送代码进行全部整理,实现每隔 1S 更换广播内容,并从零开始合成 BLE 广播 IQ 数据,然后调用 SDR 发送,实现 BLE 动态广播能力:
具体的教程细节见:app/app_sdr_ble_adv_tx
三、基于 PlutoSDR 实现 BLE 广播包的收发一体能力
本节将前两节的知识结合起来,借助具有全双工双收双发能力的 PlutoSDR 实现 BLE 广播包收发一体能力:
具体的教程细节见:app/app_sdr_ble_adv_tx_rx
四、基于 PlutoSDR 的 BLE 广播包的收发实现接入涂鸦智能 APP
本节在上一节的基础上更进一步:通过叠加 TuyaOS BeaconMesh 上层应用协议,最终实现从电磁波开始,到全双工蓝牙广播收发接入涂鸦智能,变成一个物联网 BeaconMesh 灯节点:
具体的教程细节见:app/app_sdr_tuya_beacon_node
教程列表
基础教程:
[1]. GNU Radio 系列教程(一) —— 什么是 GNU Radio
[2]. GNU Radio 系列教程(二) —— 绘制第一个信号分析流程图
[3]. GNU Radio 系列教程(三) —— 变量的使用
[4]. GNU Radio 系列教程(四) —— 比特的打包与解包
[5]. GNU Radio 系列教程(五) —— 流和向量
[6]. GNU Radio 系列教程(六) —— 基于层创建自己的块
[7]. GNU Radio 系列教程(七)—— 创建第一个块
[8]. GNU Radio 系列教程(八)—— 创建能处理向量的 Python 块
[9]. GNU Radio 系列教程(九)—— Python 块的消息传递
[10]. GNU Radio 系列教程(十)—— Python 块的 Tags
[11]. GNU Radio 系列教程(十一)—— 低通滤波器
[12]. GNU Radio 系列教程(十二)—— 窄带 FM 收发系统(基于ZMQ模拟射频发送)
[13]. GNU Radio 系列教程(十三)—— 用两个 HackRF 实现 FM 收发
[14]. GNU Radio 系列教程(十四)—— GNU Radio 低阶到高阶用法的分水岭 ZMQ 的使用详解
[15]. GNU Radio 系列教程(十五)—— GNU Radio GFSK 模块
[16]. GNU Radio 系列教程(十六)—— GNU Radio 的调试利器 Message Strobe
[17]. GNU Radio 系列教程(十七)—— GNU Radio PDU TX 利用三个块实现最小的数据包(帧头+数据+校验)
[18]. GNU Radio 系列教程(十八)—— GNU Radio PDU TX 将帧头和 payload 消息合并为数据帧
[19]. GNU Radio 系列教程(十九)—— GNU Radio PDU TX 将最小数据帧实施脉冲突发整形填充 --> 让帧更稳定
[20]. GNU Radio 系列教程(二十)—— GNU Radio PDU TX 根升余弦深度介绍&发送数据帧的收尾之作
[21]. GNU Radio 系列教程(二一)—— GNU Radio PDU RX 利用相关性估计器寻找数据帧的起始位置
[22]. GNU Radio 系列教程(二二)—— GNU Radio PDU RX 利用多相时钟同步块实现消除时钟偏移
[23]. GNU Radio 系列教程(二三)—— GNU Radio PDU RX 利用自适应线性均衡器消除 ISI
[24]. GNU Radio 系列教程(二四)—— GNU Radio PDU RX 利用 Costas Loop 校正相位和频率偏移
[25]. GNU Radio 系列教程(二五)—— 硬核,基于通信原理设计一个文件传输系统
[26]. GNU Radio 系列教程(二六)—— 开胃菜,hackrf 发送 ble 广播包的简单 DEMO
综合教程:
[1]. SDR 教程实战(一) —— 利用 GNU Radio + HackRF 做 FM 收音机
[2]. SDR 教程实战(二) —— 利用 GNU Radio + HackRF 做蓝牙定频测试工具(超低成本)
[3]. SDR 教程实战(三) —— 利用 GNU Radio + HackRF + WireShark 做蓝牙抓包器(超低成本)
[4]. SDR 教程实战(四) —— 利用 GNU Radio + HackRF 手把手深入了解蓝牙协议栈(从电磁波 -> 01数据流 -> 蓝牙数据包)
[5]. SDR 教程实战(五) —— 利用 GNU Radio + LimeSDR+ WireShark 做蓝牙抓包器(上上个视频使用 HackRF)
[6]. SDR 教程实战(五) —— 利用两个 hackrf 实现大文件(视频)高速传输
SDR 小工具教程:
[1]. SDR 小工具--一分钟将吃灰的 hackrf 化作价值数千元的频谱分析仪
基础块教程:
[1]. GNU Radio 块介绍(一)-- GNU Radio 的绝对值(Abs)块
视频和博客
:
如果觉得不错,帮忙点个支持哈~
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
SDR
蓝牙
专项
教程
小白
相关帖子
前端纯小白使用AI开发实战:一个免费的在线拼图工具Collaigo
致深度学习小白:一文理解梯度问题与Xavier初始化、He Kaiming初始化
【首选】PDF转视频教程:20秒一键将PDF转换为视频软件
从零跑起 RokidDemo:开发小白也能搞定的入门实践
PDF处理控件Aspose.PDF教程:如何使用Java从PDF中删除图像
批量镜像配置教程说明
喂饭级教程 —— 基于 OceanBase seekdb 构建 RAG 应用
小白必看:零花销开启微调模型之旅
小白必看:零花销开启微调模型之旅
喂饭级教程 II —— Dify x OceanBase seekdb 使用指南
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
前端纯小白使用AI开发实战:一个免费的在线拼图工具Collaigo
1
88
翁谌缜
2025-11-27
安全
致深度学习小白:一文理解梯度问题与Xavier初始化、He Kaiming初始化
0
407
套缈
2025-11-27
安全
【首选】PDF转视频教程:20秒一键将PDF转换为视频软件
0
407
靛尊
2025-11-28
业界
从零跑起 RokidDemo:开发小白也能搞定的入门实践
1
60
国语诗
2025-11-28
业界
PDF处理控件Aspose.PDF教程:如何使用Java从PDF中删除图像
1
527
翳舀
2025-11-29
教程
批量镜像配置教程说明
1
64
新程序
2025-12-01
科技
喂饭级教程 —— 基于 OceanBase seekdb 构建 RAG 应用
2
735
靳谷雪
2025-12-05
业界
小白必看:零花销开启微调模型之旅
2
48
缑莺韵
2025-12-07
业界
小白必看:零花销开启微调模型之旅
0
24
任静柔
2025-12-07
科技
喂饭级教程 II —— Dify x OceanBase seekdb 使用指南
0
14
韶又彤
2025-12-11
回复
(4)
阜逐忍
2025-10-15 02:38:14
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
前排留名,哈哈哈
荆邦
2025-10-20 00:50:15
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
过来提前占个楼
更成痒
5 天前
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
前排留名,哈哈哈
涂流如
3 天前
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
鼓励转贴优秀软件安全工具和文档!
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
代码
签约作者
程序园优秀签约作者
发帖
懵诬哇
3 天前
关注
0
粉丝关注
27
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994893
kk14977
6845357
4
xiangqian
638210
5
韶又彤
9998
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
641
AI 付费模式终极对比:ChatGPT、Gemini、Cl
832
JSAPIThree 加载 3D Tiles 学习笔记:大规
356
LLM 工具调用的范式演进与认知模型集成
354
Requirements Engineering with AI for Con
342
【节点】[Adjustment-WhiteBalance节点]原
302
上海专业建筑维修服务解析:标准化流程如何
944
【分析式AI】-带你弄懂XGBoost模型
730
【分析式AI】-带你弄懂XGBoost模型
51
【分析式AI】-带你弄懂XGBoost模型
272
C语言之统计天数
238
如何使用DashVector的多向量检索
270
【分析式AI】-朴素贝叶斯算法模型
216
【分析式AI】-朴素贝叶斯算法模型
934
【睿擎派】EtherCAT总线之IO模块读写
587
python3.13 3.14 新特性 好好好
783
Python新利器:用uv轻松管理venv虚拟环境和
956
Open-AutoGLM项目衍生自研app测试思路
180
.Net-Avalonia学习笔记(目录)
435
PoloAPI 绘画接口全攻略:从参数详解到实战
145
剑指offer-50、数组中重复的数字