LimeSDR 上手指南

前言

LimeSDR 是一款完全開源的SDR產品,和 HackRF 一樣,包括 PCB 設計圖,FPGA 代碼,HOST代碼完全公開,方便研究和學習 SDR 系統原理。雖然市面上有很多 SDR 產品,但很少有像 LimeSDR 性價比這麼高的。
LimeSDR 支持 100kHz 到 3.8GHz 頻率範圍,已經可以不需外置上變頻器,即可完成短波應用的使用,另外LimeSDR 是一款完全開源的SDR產品包含了 2×2 MIMO 的支持,滿足了大部分應用場景。

通過它的一些應用來了解一下其靈活性:
蜂窩網絡、WiFi、藍牙、IoT協議(LoRa/SigFox等)、導航、氣象信息、航空信息、海事信息、空間通信、還有廣播和電視。
這只是 LimeSDR 應用場景的一小部分,你可以應用到你能想到的任何領域。

編譯環境

軟件結構

Lime Suite 是一款支持多種硬件平臺的軟件,包括LimeSDR,LMS7002M收發器,以及使用基於 LMS7 開發的其他硬件。安裝 Lime Suite 可以使許多 SDR 應用程序(如GQRX)可以通過中間適配組件 SoapySDR 適配多種 SDR 設備配合使用。

SoapySDR 是位於 LimeSDR 的驅動程序和 SDR 應用程序之間的膠水層。使用一個簡單的包裝器 (SoapyLMS7), LimeSDR 可以在任何 SoapySDR 或 Gr-OsmoSDR 支持的應用程序中使用。這包括編程環境, 如 Pothos 框架和 GNU Radio,以及像 GQRX 和 CubicSDR 這樣的圖形應用程序。

安裝UHD

Wiki:http://files.ettus.com/manual/page_build_guide.html

$ sudo apt-get install libboost-all-dev libusb-1.0-0-dev python-mako doxygen python-docutils cmake build-essential git
$ git clone https://github.com/EttusResearch/uhd
$ cd uhd
$ cd host && mkdir build && cd build
$ cmake ../
$ make -j5
$ sudo make install
$ sudo ldconfig

安裝SoapySDR

Wiki:https://github.com/pothosware/SoapySDR/wiki/BuildGuide

$ sudo apt-get install cmake g++ libpython-dev python-numpy swig
$ git clone https://github.com/pothosware/SoapySDR.git
$ cd SoapySDR
$ git pull origin master
$ mkdir build && cd build
$ cmake ..
$ make -j5
$ sudo make install
$ sudo ldconfig

安裝SoapyUHD

Wiki:https://github.com/pothosware/SoapyUHD/wiki

$ git clone https://github.com/pothosware/SoapyUHD.git
$ cd SoapyUHD
$ mkdir build && cd build
$ cmake ..
$ make
$ sudo make install

安裝LimeSuite

Wiki:http://wiki.myriadrf.org/Lime_Suite

$ sudo add-apt-repository -y ppa:myriadrf/drivers
$ sudo apt-get update
$ sudo apt-get install git g++ cmake libsqlite3-dev libsoapysdr-dev libi2c-dev libusb-1.0-0-dev libwxgtk3.0-dev freeglut3-dev
$ git clone https://github.com/myriadrf/LimeSuite.git
$ cd LimeSuite
$ mkdir builddir && cd builddir
$ cmake ../
$ make -j5
$ sudo make install
$ sudo ldconfig

輸入下列命令使非ROOT用戶可以訪問LimeSDR這樣基於USB的設備

$ cd LimeSuite/udev-rules
$ sudo sh ./install.sh

安裝上述驅動後,運行命令檢查驅動是否安裝成功

然後查看能不能找到設備

安裝GNU Radio、gr-osmosdr

Wiki:https://www.gnuradio.org/doc/doxygen/build_guide.html
從源碼構建

$ sudo apt-get -y install git-core cmake g++ python-dev swig \
$ pkg-config libfftw3-dev libboost-all-dev libcppunit-dev libgsl0-dev \
$ libusb-dev libsdl1.2-dev python-wxgtk3.0 python-numpy \
$ python-cheetah python-lxml doxygen libxi-dev python-sip \
$ libqt4-opengl-dev libqwt-dev libfontconfig1-dev libxrender-dev \
$ python-sip python-sip-dev python-qt4 python-sphinx libusb-1.0-0-dev \
$ libcomedi-dev libzmq-dev
$ git clone --recursive https://github.com/gnuradio/gnuradio.git
$ cd gnuradio && mkdir build && cd build
$ cmake ../
$ make -j5
$ make test
$ sudo make install

安裝gr-osmosdr支持包
Wiki:http://osmocom.org/projects/gr-osmosdr/wiki

$ sudo apt-get install libsoapysdr-dev gr-fcdproplus
$ git clone git://git.osmocom.org/gr-osmosdr
$ cd gr-osmosdr && mkdir build && cd build/
$ cmake ../
$ make
$ sudo make install
$ sudo ldconfig

安裝之後,會看到Soapysdr support在Gnuradio enabled裏

測試LimeSDR接收、發射通道

GNU Radio和gr-osmosdr安裝完成後,我們加載一個接收信號的grc流程圖
Grc流程圖下載地址:https://1drv.ms/f/s!AsE4BpolygfCjGfspV7_Gno3rpy5

RF增益設置爲20,IF中頻增益設置成12,BB基帶增益設置成19
天線設置爲LNAL 對應的是RX Channel 0

然後運行,按下遙控鑰匙,可以看到成功接收到433MHz遙控鑰匙的信號,說明GNU Radio和gr-osmosdr安裝沒有問題。

測試通完接收通道後,我們測試下發射通道,做一個小型FM電臺試試
*注意請在不干擾正常無線通訊的基礎上進行實驗

在另一臺電腦上打開SDRSharp將FM頻率調到104MHz可以明顯看到我們發射的信號

相關鏈接

名稱 鏈接
《物聯網安全百科》 iot-security.wiki
伏宸安全實驗室 future-sec.com
IOT Security iot-security.org
Yaseng Blog yaseng.org
知乎專欄 zhuanlan.zhihu.com
郵箱 [email protected]
qq 交流羣 306482276
微信公衆號
微信交流羣
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章