待补充
bastibl/gr-ieee802-15-4
智能家居
3/5
🧩 软硬件结合
已发布
项目简介
IEEE 802.15.4 ZigBee Transceiver
这是一个基于GNU Radio框架开发的IEEE 802.15.4 O-QPSK收发器开源项目,源自Thomas Schmid的早期实现。项目核心功能是提供完整的无线传感器网络物理层和协议栈实现,主要特点包括:将O-QPSK物理层封装为层次化模块,支持CSS物理层(但要求固定长度数据包),集成了Contiki操作系统中的Rime轻量级通信协议栈,并构建了从USRP硬件到物理层、MAC层、网络层直至UDP Socket应用层的完整ISO/OSI七层模型收发流程。技术栈方面,项目完全依赖GNU Radio原生模块完成物理层调制解调,使用gr-foo库实现Wireshark数据包导出、突发标记等功能,并提供了与TelosB传感器节点和Contiki系统互操作的固件支持。该项目解决了无线传感器网络开发中缺乏开源、可定制的IEEE 802.15.4协议栈的问题,特别适合需要快速原型验证的物联网研究场景。典型应用包括:通过USRP硬件进行真实环境下的传感器网络通信测试,使用Wireshark实时分析802.15.4和Rime协议数据包,以及基于Socket PDU模块快速连接外部应用程序(如用netcat发送传感器数据)。项目还提供了可视化传感器数值的示例应用,展示了如何通过Socket PDU模块轻松实现外部程序与GNU Radio流图的集成。
标签
项目特点
**完整的协议栈实现**:从O-QPSK物理层、MAC层、网络层到UDP Socket应用层,覆盖ISO/OSI七层模型
**层次化模块封装**:将IEEE 802.15.4物理层封装为GNU Radio的层次化模块,方便复用和二次开发
**Contiki Rime协议栈集成**:内置Contiki操作系统的轻量级通信协议栈,支持多跳无线传感器网络
**CSS物理层支持**:支持Chirp Spread Spectrum物理层,但要求固定长度数据包
**Wireshark数据包导出**:通过gr-foo库实现数据包导出和突发标记,方便网络分析
**纯GNU Radio实现**:物理层调制解调完全依赖GNU Radio原生模块,无需额外硬件依赖
技术规格
| 支持的IEEE标准 | |
|---|---|
| 调制方式 | |
| 符号速率 | |
| 数据速率 | |
| 芯片速率 | |
| 扩频方式 | |
| 每符号芯片数 | |
| 支持的SDR平台 | |
| 依赖框架 | |
| 协议栈 | |
| 数据包导出 |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| USRP B210/B200 | 1 | — | 推荐全双工型号 |
| USRP N210/N200 | 1 | — | 需搭配WBX子板 |
| WBX子板 | 1 | — | 用于N系列USRP |
| 天线 (2.4 GHz) | 2 | — | 收发各一 |
| GNU Radio | 1 | — | ≥3.7版本 |
| UHD驱动 | 1 | — | USRP硬件驱动 |
| gr-foo | 1 | — | 数据包导出库 |
| Contiki OS | 1 | — | Rime协议栈 |
| Wireshark | 1 | — | 可选,用于抓包分析 |
能力画像
**记忆与知识检索**:3/5 — 需要查阅IEEE 802.15.4标准和GNU Radio文档,但项目本身文档较完整
**动手与操作**:4/5 — 需要连接USRP硬件、配置天线、调试射频链路,硬件操作要求较高
**编程与算法**:4/5 — 涉及GNU Radio模块开发、Contiki协议栈移植、C++和Python混合编程
**设计与建模**:3/5 — 层次化模块设计已由项目完成,用户主要做参数配置和流图搭建
**实验与调试**:5/5 — 需要反复调试射频参数、分析误码率、用Wireshark抓包验证协议栈
**协作与分享**:2/5 — 项目为个人维护,社区贡献较少,但可通过GitHub提交Issue和PR
**学习与研究**:5/5 — 非常适合研究无线传感器网络协议、学习SDR和物理层实现
**系统集成**:4/5 — 需要将GNU Radio、Contiki、USRP驱动等多个组件集成到完整收发链路
项目图库
所需技能
GNU Radio框架使用与模块开发
C/C++编程(GNU Radio OOT模块开发)
Python脚本编写(流图控制与数据处理)
IEEE 802.15.4协议栈理解(物理层、MAC层)
USRP SDR硬件操作与调试
无线通信基础(O-QPSK调制、DSSS扩频)
Contiki操作系统基本使用
Wireshark网络抓包分析
Linux系统操作与命令行
CMake构建系统使用
适用场景
无线传感器网络协议研究与教学实验
ZigBee/IEEE 802.15.4物理层算法验证与优化
SDR平台上的物联网通信原型开发
多跳无线网络协议栈(如Rime)的测试与评估
无线通信课程中的GNU Radio实践教学
工业物联网场景下的自定义MAC层开发
无线安全研究中的数据包注入与嗅探
智能家居、楼宇自动化等低功耗无线通信系统原型