LimeSDR 低功耗蓝牙信号接收解调解码

本文内容、开发板及配件仅限用于学校或科研院所开展科研实验!

本文介绍如何使用LimeSDR来接收、解调和解码低功耗蓝牙信号。程序来自于https://github.com/DesignSparkrs/sdr-ble-demo.git

目录

一、蓝牙版本介绍

二、BLE基本原理

三、实验硬件软件

四、编译安装

五、接收BLE信号

六、有用的链接


一、蓝牙版本介绍

蓝牙可分为经典蓝牙模块(v1.1/1.2/2.0/2.1/3.0),低功耗蓝牙模块(v4.0/4.1/4.2/5.0/5.1),以及蓝牙双模模块(支持蓝牙所有版本,兼容低功耗蓝牙及经典蓝牙)。

蓝牙的版本介绍,可以参见网址:https://www.minewtech.com/news/industry-2019-09-02-01.html

LimeSDR 低功耗蓝牙信号接收解调解码_第1张图片

自蓝牙4.0开始就主推低功耗,其最重要的特性是支持省电。蓝牙4.0是迄今为止第一个蓝牙综合协议规范,将三种规格集成在一起。还提出了低功耗蓝牙、传统蓝牙和高速蓝牙三种模式。

蓝牙5.0在低功耗模式下具备更快更远的传输能力,传输速率是蓝牙4.2的两倍(速度上限为2Mbps),有效传输距离是蓝牙4.2的四倍(理论上可达300米),数据包容量是蓝牙4.2的八倍。支持室内定位导航功能,结合WiFi可以实现精度小于1米的室内定位。

蓝牙5.1技术规范利用测向功能检测蓝牙信号方向,进而提升位置服务。借助蓝牙测向功能,开发者能够将可探测设备方向及实现厘米级定位精度的产品推向市场。

二、BLE基本原理

LimeSDR 低功耗蓝牙信号接收解调解码_第2张图片

BLE占用的频段为 2402Mhz-2480Mhz, 划分为40个Channel(频道), 每个频道占2Mhz带宽,与2.4G wifi的频段重叠,40个频道中有3个广播频段用来发送广播数据包,它们被放在了与2.4G wifi干扰冲突最少的频段, 被命名为 37,38,39 频道,其余的频段用作数据通讯, 并会采用跳频技术来避免干扰和冲突。在一些情况下,低功耗蓝牙(ble)模块会在3个广播频段上发送数据,例如低功耗蓝牙(ble)的配对过程和ibeacon设备发送广播信息的过程。本文的实验是使用LimeSDR抓取低功耗蓝牙(ble)发送的数据包。

三、实验硬件软件

硬件---Limesdr、天线(Limesdr适用的2.4G/5.8G/5G天线SMA内针)

https://item.taobao.com/item.htm?spm=a230r.1.14.27.22b977ffORpxg7&id=555064600966&ns=1&abbucket=8#detail

软件---Ubuntu运行支持Limesdr、SoapySDR、Pothos的环境,Pothos Flow v0.6.1,sdr-ble-demo模块https://github.com/DesignSparkrs/sdr-ble-demo.git

四、编译安装

以下命令在终端中依次运行,

git clone https://github.com/DesignSparkrs/sdr-ble-demo.git
cd sdr-ble-demo
mkdir build
cd build
cmake ../
make -j4
sudo make install
sudo ldconfig

安装过程中可能碰到的问题:

make -j4之后,碰到缺少poco的问题,

LimeSDR 低功耗蓝牙信号接收解调解码_第3张图片

原因:缺少poco库

解决办法:https://blog.csdn.net/yuhaiyang457288/article/details/43636247

sudo apt-get install libpoco-doc libpoco-dev

安装完poco库之后,需要把build文件夹完全删除掉,即sudo rm -r build

重新新建一个buid文件夹,然后继续执行

cd build

cmake ../

make -j4

运行完sudo make install命令之后,会看到

安装成功后,我们在终端中输入

PothosFlow

就可以打开Pothos Flow了(前提是您已经正确安装了Pothos,Pothos Flow的界面类似于gnuradio的GRC)

搜索栏输入BTLE,点击回车后可以看到如下模块已经安装完成。

LimeSDR 低功耗蓝牙信号接收解调解码_第4张图片

五、接收BLE信号

https://github.com/DesignSparkrs/sdr-ble-demo/tree/master/examples

这里有实际的例子,我们选用btle_printer_float32.pth,不过要想正常使用这个文件,你需要将文件的后缀pth修改为pothos,

LimeSDR 低功耗蓝牙信号接收解调解码_第5张图片

我在第一次打开该文件时,点击运行会出现图中红色字体的一点error,不过不影响正常使用,重新点击运行按钮后,你会看到程序运行结果打印到了Message Window。

LimeSDR 低功耗蓝牙信号接收解调解码_第6张图片

六、有用的链接

https://www.crowdsupply.com/lime-micro/limesdr/updates/receiving-bluetooth-low-energy

https://github.com/DesignSparkrs/sdr-ble-demo.git

https://www.minewtech.com/news/industry-2019-09-02-01.html

https://www.zhihu.com/question/60824531/answer/181351944

LimeSDR 低功耗蓝牙信号接收解调解码_第7张图片

 

你可能感兴趣的:(LimeSDR)