登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
每日签到
每天签到奖励2圆-6圆
发帖说明
VIP申请
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
VIP申请
VIP网盘
网盘
联系我们
每日签到
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
[SDR] 蓝牙专项教程 —— 从 0 到 1 教小白基于 SDR 编 ...
[SDR] 蓝牙专项教程 —— 从 0 到 1 教小白基于 SDR 编写蓝牙协议栈
[ 复制链接 ]
懵诬哇
2025-6-3 10:52:18
目录
前言
一、开题之作
二、动态发送 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
蓝牙
专项
教程
小白
相关帖子
Senparc.AI 系列教程(二):配置大模型,开始开发应用
Python Excel 高阶教程:使用 Spire.XLS 提取数据源、调整表大小、移动和删除图表
公众号附件上传教程:实现Word、Excel、Pdf、PPT文档下载
小米AX3000T完整刷机教程
Flink 与Flink可视化平台StreamPark教程(开篇)
【GitHub每日速递】从编程小白到造轮子高手,免费资源 + 实战指南全给你
漏洞解析--SSRF 从小白到透彻,一篇就够!
【Win11 启动项BCD文件修复教程】
新SHELL教程
Flink 与Flink可视化平台StreamPark教程(时间相关 1)
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
Senparc.AI 系列教程(二):配置大模型,开始开发应用
0
1011
田雅宁
2025-08-21
安全
Python Excel 高阶教程:使用 Spire.XLS 提取数据源、调整表大小、移动和删除图表
0
1054
上官银柳
2025-08-22
安全
公众号附件上传教程:实现Word、Excel、Pdf、PPT文档下载
0
206
窖咎
2025-08-25
业界
小米AX3000T完整刷机教程
0
522
扈季雅
2025-08-25
安全
Flink 与Flink可视化平台StreamPark教程(开篇)
0
750
奚娅琼
2025-09-08
安全
【GitHub每日速递】从编程小白到造轮子高手,免费资源 + 实战指南全给你
0
334
吮槌圯
2025-09-09
业界
漏洞解析--SSRF 从小白到透彻,一篇就够!
0
576
费卿月
2025-09-10
业界
【Win11 启动项BCD文件修复教程】
0
578
羽桑
2025-09-11
软件
新SHELL教程
0
7
新程序
2025-09-12
安全
Flink 与Flink可视化平台StreamPark教程(时间相关 1)
0
844
奚娅琼
2025-09-12
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
懵诬哇
2025-6-3 10:52:18
关注
0
粉丝关注
23
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
杭环
9988
凶契帽
9988
4
氛疵
9988
5
黎瑞芝
9988
6
猷咎
9986
7
里豳朝
9986
8
肿圬后
9986
9
蝓俟佐
9984
10
虽裘侪
9984
查看更多