我是靠谱客的博主 甜美野狼,最近开发中收集的这篇文章主要介绍USRP B210蓝牙信标,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

USRP B210蓝牙信标

        • 安装Pothos Flow
        • 安装LoRa
        • 安装sdr-ble-demo
        • 安装ble_dump
        • 安装gr-osmosdr扩展
        • 安装gr-osmosdr
        • 出错及解决方法汇总

安装Pothos Flow

参考:LimeSDR实验教程(4) LoRa通信

Pothos源代码和LoRa包源代码下载地址:百度云免登陆下载地址

编译安装和apt安装选择其中一种方法即可。
编译安装pothos方法:

#sudo apt-get install cmake g++
#已经安装过的不用再安装
sudo apt-get install
software-properties-common
sudo apt-get install libnuma-dev
libpython-dev python-numpy qtbase5-dev libqt5svg5-dev libqt5opengl5-dev libqwt-qt5-dev portaudio19-dev libjack-jackd2-dev graphviz
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo apt-get update
sudo apt-get install limesuite liblimesuite-dev limesuite-udev limesuite-images
sudo apt-get install soapysdr-tools soapysdr-module-lms7 libsoapysdr-dev
mkdir build
cd build
cmake ..
make -j$(nproc --all)
sudo make install
sudo ldconfig #needed on debian systems
PothosUtil --self-tests
PothosFlow #launches GUI designer

apt安装pothos方法 :

sudo add-apt-repository -y ppa:pothosware/framework
sudo add-apt-repository -y ppa:pothosware/support
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo apt-get update
sudo apt-get install libpoco-dev
sudo apt-get install libspuce-dev nlohmann-json-dev libmuparserx-dev
sudo apt-get install soapysdr-tools soapysdr-module-lms7 limesuite limesuite-udev liblimesuite-dev limesuite-images libsoapysdr-dev libi2c-dev libusb-1.0-0-dev
#sudo apt-get install git g++ cmake
#已经安装过的不用再安装
sudo apt-get install pothos-all python-pothos pothos-python-dev python-soapysdr python-numpy
sudo apt-get install python3-pothos python3-soapysdr python3-numpy

安装LoRa

LoRa是semtech公司创建的低功耗局域网无线标准,它最大特点就是在同样的功耗条件下比其他无线方式传播的距离更远,实现了低功耗和远距离的统一,它在同样的功耗下比传统的无线射频通信距离扩大3-5倍。

编译安装LoRa包:

cd LoRa-SDR
mkdir build
cd build
cmake ../
make -j$(nproc --all)
sudo make install

安装sdr-ble-demo

参考:LimeSDR实验教程(8) BTLE低功耗蓝牙接收

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

安装完成后找到examples/btle_printer_float32.pth

复制一份然后把文件格式从.pth改为.pothos,然后双击打开运行即可。

Failed to make connection with
无法连接设备


Pothos Flow的问题解决不了,在github上继续找GNU Radio的项目。

安装ble_dump

cd ~/workarea	#选择想要存放的路径
proxychains4 git clone https://github.com/drtyhlpr/ble_dump.git
#使用proxychains4代理加速下载,安装教程参考:https://blog.csdn.net/u011745228/article/details/103588004
gnuradio-companion	#打开GNU Radio Companion

在GNU Radio Companion选择"Open an existing flow graph",找到并打开刚才下载的/ble_dump/grc/gr_ble.grc

打开后发现Missing Block:

待解决…2020.07.08


更新:2020.07.09

安装gr-osmosdr扩展

-- ######################################################
-- # Gnuradio enabled components
-- ######################################################
--
* Python support
--
* Osmocom IQ Imbalance Correction
--
* sysmocom OsmoSDR
--
* FUNcube Dongle
--
* FUNcube Dongle Pro+
--
* IQ File Source & Sink
--
* Osmocom RTLSDR
--
* RTLSDR TCP Client
--
* Ettus USRP Devices
--
* Osmocom MiriSDR
--
* HackRF & rad1o Badge
--
* nuand bladeRF
--
* RFSPACE Receivers
--
* AIRSPY Receiver
--
* SoapySDR support
--
* Red Pitaya SDR
--
* FreeSRP support
--
-- ######################################################
-- # Gnuradio disabled components
-- ######################################################
--
-- Building for version: 0.1.5 / 0.1.5
-- Using install prefix: /usr/local

gr-osmosdr有许多的扩展组件,可以根据实际需要安装并启用,这些扩展并不能直接让GNURadio控制硬件,需要安装SDR相应的驱动。

其中以下5个扩展在安装gr-osmosdr的时候就被启用了:

IQ File Source & Sink
RTLSDR TCP Client
RFSPACE Receivers
Red Pitaya SDR
FUNcube Dongle

下面以此说明如何安装及启用每个扩展:

1.Python support

sudo apt-get -y install python-dev
sudo apt-get -y install swig

2.Osmocom IQ Imbalance Correction && FUNcube Dongle Pro+

sudo apt-get -y install gr-fcdproplus

3.sysmocom OsmoSDR

sudo apt install libosmosdr-dev

4.Osmocom RTLSDR

sudo apt install librtlsdr-dev

5.Ettus USRP Devices

sudo apt-get -y install libuhd-dev

6.Osmocom MiriSDR

sudo apt install libmirisdr-dev

7.HackRF & rad1o Badge

sudo apt install libhackrf-dev

8.nuand bladeRF

sudo apt -y install libbladerf-dev

9.AIRSPY Receiver

sudo apt install libairspy-dev

10.SoapySDR support

sudo apt-get -y install libsoapysdr-dev

11.FreeSRP support

#sudo apt-get -y install libboost-all-dev
#已经安装过的不用再安装
sudo apt-get -y install build-essential libusb-1.0-0-dev
git clone https://github.com/FreeSRP/libfreesrp.git
cd libfreesrp && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release && make && sudo make install

安装gr-osmosdr

参考:osmocom Gnu Radio Blocks

git clone git://git.osmocom.org/gr-osmosdr
cd gr-osmosdr/

如果你的gnuradio版本为3.6,需要切换到gr3.6分支:

git checkout gr3.6

由于我的gnuradio版本为3.7,因此不需要切换到gr3.6。

然后对源码进行编译:

mkdir build
cd build/
cmake ../

安装所有扩展编译后出现以下信息表明编译成功,可以根据需要启用或禁用组件。

然后使用以下命令进行安装:

make
sudo make install
sudo ldconfig

安装完成后原来的Missing Block key:osmosdr source问题解决

gr_ble流图:

出错及解决方法汇总

  1. Missing Block key:osmosdr source

参考:gnuradio companion 找不到第三方模块gr-osmosdr的问题

该博客的方法需要修改/etc/gnuradio/conf.d/grc.conf文件,而在我的电脑上不存在/etc/gnuradio/文件夹,查找后发现该文件在我的电脑上的路径为/usr/local/etc/gnuradio/conf.d/grc.conf,找到后使用以下命令修改文件内容:

sudo gedit /usr/local/etc/gnuradio/conf.d/grc.conf

打开文件后发现local_blocks_path 一项为空:

复制上一行global_blocks_path的路径粘贴过来即可:local_blocks_path = /usr/local/share/gnuradio/grc/blocks

  1. gr-osmosdr在cmake时出错:

由于我的gnuradio版本为3.7,跟着教程切换到了gr3.6的分支,导致编译出错,使用git checkout gr3.7切换到gr3.7分支即可正常编译。

  1. gr-osmosdr在make时出错:

注意到error都跟bladerf有关,检查后发现通过sudo apt-get install libbladerf-dev安装的libbladerf-dev版本为0.2016.01,可能过于老旧,在https://launchpad.net/ubuntu/+source/bladerf下载最新稳定版libbladerf-dev(amd64),使用

sudo dpkg -i libbladerf-dev_0.2019.07-4build1_amd64.deb安装,出错:

根据提示需要先安装libbladerf2,同理在上面的网址下载libbladerf2(amd64),然后使用以下命令先安装libbladerf2再安装libbladerf:

sudo dpkg -i libbladerf2_0.2019.07-4build1_amd64.deb
sudo dpkg -i libbladerf-dev_0.2019.07-4build1_amd64.deb

安装后重新:

cmake ../ && make && sudo make install

最后

以上就是甜美野狼为你收集整理的USRP B210蓝牙信标的全部内容,希望文章能够帮你解决USRP B210蓝牙信标所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部