1. 总述
夏令营活动已经接近尾声,而我也完成了整个项目任务。在本文中,我将对整个夏令营的工作进行总结。
2. 项目介绍及工作完成情况
我在中期总结中已经对整个项目进行了简要介绍,这里就不再赘述了。
在前期工作中,我对BLE协议进行了学习研究,了解了BLE物理层的工作流程;利用USB Dongle跑通ibeacon的基本原理,直观感受整个通信过程,并弄清楚了ibeacon数据包的格式;最后,我在Matlab上实现了ibeacon信号生成程序,通过hackRF发射,并由ios设备成功接收。
项目的后期任务是在Gnuradio实现ibeacon的发射/接收机,并封装为便于使用的gr-ibeacon模块。前期工作为后期工作提供了技术支持,得益于前期在Matlab上的仿真实现,我们可以直接将Matlab中的ibeacon信号的整个生成流程移植到Gnuradio上(
第五周工作),而在移植的过程中我们只需要理解并利用Gnuradio的功能和特性(
第五周工作、
第六周工作)。而对于ibeacon接收机(
第八周工作),我们需要额外考虑接收同步(
第七周工作)的问题,但是这在Gnuradio中也是很容易解决的。
3. 展望
早期基于软件无线电研究蓝牙的工作有
BlueSniff等,其指出了Bluetooth的潜在安全漏洞。该研究发表时(2007年),他们使用的软件无线电外设还是USRP1,其带宽只有5M,现在新版本的USRP的最大带宽能够达到20M,而价格只有USRP 1/10的HackRF的最大带宽也达到了16M,能够满足一般的使用需求了。当然,这些带宽参数远远达不到蓝牙的79M的工作带宽(同时他们的跳频的速率又不够快),但是,我们依然可以对蓝牙等宽带通信协议进行一定的研究。
其次,在本项目中,我们只实现了ibeacon协议的物理层,准确点说,是Bluetooth 4.0的BLE的ibeacon实例的物理层,这只是整个蓝牙通信协议的很小一部分。也许在硬件条件允许的情况下,我们能够实现一个较为完善的通信协议栈。
4. 感想
由于学习工作需要,我之前一直希望能够有一些学习和使用软件无线电的机会。HackRF,net社区提供了宝贵的学习机会,CSDN提供了夏令营这个重要的平台,在此我深表感谢。通过完成这个项目,我得到的收获不仅仅是了解了某个具体的通信协议(当然这也是很重要的收获之一),更在学习协议的过程中加深了对通信基本原理的认识和软件无线电工具的了解,这些都令我受益匪浅。