"软件无线电"(Software Defined Radio -- SDR). 实际上软件无线电技术的研究和开发已经有几十年的历史了,最初源于美军的多制式电台项目. 目前我们日常使用的移动通信系统中其实已经大量使用软件无线电技术, 比如基站中的信号处理大量的使用可编程的FPGA和DSP完成, 比如手机当中的基带处理器也越来越多的采用软解调的方法(少数运算量特别大实时性要求特别高的模块除外,比如turbo解码器,扩频相关器等,这些模块往往在基带处理器中嵌入一些高度定制化"硬"核来实现) 首先要先选择一根支持rtl-sdr的电视棒.就是采用RTL2832u(频率范围为64-1700mh)解调芯片的.价格无疑方面是最便宜的无线电(SDR)硬件设备. 普通的电视棒当然不能把原始信号送给电脑,不过用了rtl2832芯片的电视棒被破解了,可以把原始信号送给电脑,这样就可以用电脑分析解调任意信号而不是局限于电视信号了。
0x01 树莓派+SDR 会发生什么呢?
先安装必须的依赖项:
sudo apt-get update
sudo apt-get install cmake build-essential python-pip libusb-1.0-0-dev python-numpy git
# 下载rtl-sdr的
cd ~
git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr
mkdir build
cd build
cmake ../ -DINSTALL\_UDEV\_RULES=ON -DDETACH\_KERNEL\_DRIVER=ON
make
sudo make install
sudo ldconfig
sudo pip install pyrtlsdr
# 这个时候相关的驱动就装好了.开始使用FreqShow!
cd ~
git clone 714K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6S2k6r3q4X3M7Y4g2A6N6q4)9J5c8V1k6J5k6i4q4e0K9r3!0%4i4K6u0W2k6$3W2@1
cd FreqShow
然后根据情况修改freqshow.py的配置.因为pi的屏幕不同我建议是将下面的注释了.
# Initialize pygame and SDL to use the PiTFT display and chscreen.
#os.putenv('SDL_VIDEODRIVER', 'fbcon')
#os.putenv('SDL_FBDEV' , '/dev/fb1')
#os.putenv('SDL_MOUSEDRV' , 'TSLIB')
#os.putenv('SDL_MOUSEDEV' , '/dev/input/touchscreen')
pygame.mouse.set_visible(True)