使用RTLSDR接收FM与跟踪航班
最近闲来无聊就买了个RTL2832U的电视棒搞个入门SDR.这里我分享一下个人经验.
RTL2832U的电视棒在tb上有卖,为了避嫌我就不发链接了.
然后你需要一台装有Windows7(含)及以上电脑. 虽说Linux下应该也能运行(我的树莓派4B能正常识别并输出ADS-B数据),但是比起Windows下还是麻烦许多.
注意:本教程适合有一定折腾能力朋友使用,对于小白会比较困难.
FM广播部分
在正式进入本部分之前,需要一些准备工作
这里我打包所有所需的软件,链接放在评论区(专栏内容貌似不能复制)
在成功解压所有文件之后,你应该看到如下内容
确保RTL2832U已经插入电脑USB接口,此时上面的LED应该亮起
首先运行zadig-2.5.exe安装好RTL2832U的驱动(需要管理员权限,只能同时打开一个)
勾选List All Devices(显示所有设备)
然后你就能看到灰色的下拉菜单(Edit左边)可以下拉选择目标USB设备
选中Bulk-In, Interface(Interface 0)注意不要选择成Bulk-In, Interface(Interface 1),这个是遥控用的设备,这里我们不需要对它进行改动
选中Bulk-In, Interface(Interface 0)
然后不要管箭头左边是什么(出问题再说),右边选WinUSB(默认为WinUSB),然后点击下面的Replace Driver(替换驱动) 我这里已经替换过驱动所以是Reinstall Driver(重装驱动)
等待驱动安装完成即可,然后重启电脑
重启完毕之后就可以运行SDR#来解调接收到的无线电信号了
这里推荐把SDRSharp(#即sharp)中的所有文件复制到其他不含中文的文件夹中运行
按文件名A-Z排序则程序本体在文件夹里比较靠下的位置
然后你会看到
如果有连接扬声器则还可能会听到ScreenReader plugin is running(屏幕讲述者插件正在运行),如果不想要这个插件或者觉得这个插件很烦可以删除目录下的
然后SDR#的主界面已经打开
点击左上角的齿轮样按钮(设置),检查是否为
下面的参数不需要调整
然后关闭该窗口,点击设置左边的播放按钮,应该能得到
调频频率请自行摸索,上图的大数字(图中为000.099.200.000)为频率(图中为99.2MHz),鼠标指针悬停其上任一位数字用滚轮滚动可以增减该位数字
如果需要调整解调方式(FM变为AM等)则
其他参数可以不用调整
如果需要更好的接收质量可以尝试调整参数,或者更换更好的设备
特别感谢为SDR#提供汉化的朋友(火腿?),你们真的太棒了
享受FM广播吧!(FM篇结束)
ADS-B篇
想了解什么是ADS-B的朋友请自行查找资料. 简而言之,通过接收飞机广播的ADS-B信息可以得知飞机的位置,航线,高度和速度等(航班还会附上发站和终站)
接收ADS-B广播同样需要安装RTL2832U的驱动,具体请参照FM篇
首先运行旧版VirtualRadar(确保.NET Framework 3.5已经安装)创建数据库
程序启动之后会得到两个错误信息提示找不到数据库,不用管他,我们马上就会创建这个数据库
然后
成功创建数据库
然后就可以关闭打开的所有窗口了
随后运行新版的VirtualRadar
至于为什么不用新版的VirtualRadar创建数据库,是因为新版的VirtualRadar貌似在处理Database Writer插件的时候会遇到一些问题,我也没有更新的插件
运行新版的VirtualRadar
这个时候就可以进入Show local address下蓝色的链接访问VirtualRadar创建的网站(本地)
这个时候还不能看到飞机的位置,我们需要配置VirtualRadar
接着按OK完成设置
这个时候你还是不能获取到飞机数据,因为我们还没有解调ADS-B的数据并将其提供给VirtualRadar
找到ADS-B解调软件,右键其快捷方式
例子中的目标为C:UsersDrHuangMHTDesktopRTL-SDR必备软件ADS-B解调软件rtl1090.exe /15000
/15000为之前在VirtualRadar中设置的端口,该参数意为在15000端口上广播解调好的ADS-B数据包
按右下角应用以保存修改
然后双击该快捷方式运行rtl1090
可能会得到这个错误信息,但是可以不用管,问题不大
按START开始对ADS-B信号进行解调
如果下方有内容不断滚动即成功接收到了ADS-B信号
但你可能会遇到下面的情况
这个时候请关闭其他正在占用电视棒的软件(如之前的SDR#),如果你不知道是什么在占用,请重启电脑
重启之后再通过快捷方式打开rtl1090,按下START之后由于首次运行会弹出Windows防火墙
允许访问即可
然后你会看到有数据在滚动
这里可能是因为之前运行过所以读取了之前的设置,端口变成了31001,如果端口和之前例子中的15000不同请在VirtualRadar里面更改为相同的(这里为31001)
随后再看到VirtualRadar软件的窗口
不出意外的话Connection Status(连接状态)应为Connected(已连接),即能与rtl1090连接收到ADS-B的数据包 Total Messages(数据总计)会不断增加 Aircraft Tracked(已跟踪的航空器)应该会大于等于1
这个时候访问VirtualRadar的网站即可看到能接收到ADS-B信息的飞机了
ADS-B篇结束
本文作者水平有限,如有错误欢迎指正,如有问题或者建议请评论区留言
|使用RTLSDR接收FM与跟踪航班
ads-b 使用RTLSDR接收FM与跟踪航班 数据库