参考: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是semtech公司创建的低功耗局域网无线标准,它最大特点就是在同样的功耗条件下比其他无线方式传播的距离更远,实现了低功耗和远距离的统一,它在同样的功耗下比传统的无线射频通信距离扩大3-5倍。
编译安装LoRa包:
cd LoRa-SDR
mkdir build
cd build
cmake ../
make -j$(nproc --all)
sudo make install
参考: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的项目。
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
-- ######################################################
-- # 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
参考: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流图:
参考: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
由于我的gnuradio版本为3.7,跟着教程切换到了gr3.6的分支,导致编译出错,使用git checkout gr3.7
切换到gr3.7分支即可正常编译。
注意到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