前言
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 |
微信公衆號 | |
微信交流羣 |