SDR软件无线电之ADS-B信号接收与上传至飞常准教程

警告:请不要尝试将相关电波数据传送至FR24,RadarBox,FA等境外平台, 这将严重违反无线电管理条例以及国家安全法!

本文采取全docker方案,所用镜像均为开源镜像,若无法连接DockerHub或Github,请自行解决网络问题。

第一步,硬件选择

1.上传设备

请确保你的硬件可以正常工作正确安装了Linux系统,安装Linux的步骤根据设备不同也不同,请自行查找。

我用的是中国移动的和家亲CM311-1a电视盒子,DC12V供电,可以插网线,这类电视盒子保有量大,价格低,在闲鱼上五六十就可以收到一个使用晶晨S905系列芯片的电视盒子,性价比很高。

如果对电视盒子的稳定性不太放心,那么推荐使用树莓派、香橙派之类的开发板。除非你所处的位置飞机很多,数据量很大,CPU性能高不低于树莓派2B就足以了,实在不行少开几个docker嘛。当然,使用X86架构的工控机、退役电脑也是一个不错的选择,只是功耗比较高罢了。

2.SDR

我使用的是飞常准定制的有滤波放大器的SDR,其实使用RTL2832U小蓝棒+DIY滤波放大器也能有不错的效果。下文中使用的信号解码容器也支持RTLSDR,BladeRF,Modes-Beast和GNS5894等多种方案。

3.天线

我用的是华鸿定制的1090Mhz玻璃钢天线,从阿里巴巴找工厂加微信定的货,120一根。

也可以使用最便宜的吸盘天线,用钳子将金属棒剪至6.75cm长效果也不错。

第二步,连接设备

将天线,SDR,控制设备按顺序连接,注意ADS-B信号频率为1090Mhz,所以天线尽量放置在窗外楼顶,并做好防水防雷措施。

第三步,安装Docker环境

建议使用docker官方脚本傻瓜式安装

curl -fsSL https://get.docker.com | bash -s docker

可在此命令后附带--mirror参数设置镜像源,以提高国内服务器下载docker的速度

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

安装成功后,即可通过docker –version命令查看docker版本信息。

第四步,安装各类docker

1.安装Portainer-CE

Portainer-CE是一个用来对docker进行可视化管理的docker,推荐优先安装。

docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce

此时打开对应的连接即可打开portainer-ce的管理界面,首次启动需要设置用户名和密码,连接环境时选择本地环境即可。

此时即可在主页里看到local主机,左侧边栏中可以针对containers(容器)、images(镜像)进行管理。

2.安装Readsb-protobuf

首先要SSH登录到设备,确认可以通过lsusb等命令识别到SDR,若无法识别,可以尝试重新插拔几次。

然后即可通过下列命令进行安装,首次运行会自动下载镜像,时间较长,请耐心等待

docker volume create readsbpb_rrd
docker volume create readsbpb_autogain
docker run \
-d \
-it \
--restart=always \
--name readsb \
--hostname readsb \
--device /dev/bus/usb:/dev/bus/usb \
--net=host \
-e TZ=Asia/Shanghai \
-e READSB_DCFILTER=true \
-e READSB_DEVICE_TYPE=rtlsdr \
-e READSB_FIX=true \
-e READSB_GAIN=autogain \
-e READSB_LAT=<纬度> \
-e READSB_LON=<维度> \
-e READSB_MODEAC=true \
-e READSB_RX_LOCATION_ACCURACY=2 \
-e READSB_STATS_RANGE=true \
-e READSB_NET_ENABLE=true \
-v readsbpb_autogain:/run/autogain \
-v readsbpb_rrd:/run/collectd \
--tmpfs=/run:exec,size=64M \
--tmpfs=/var/log:size=32M \
ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest

注意:<纬度>、<维度>替换为你设备所在位置的经纬度,建议使用谷歌地图确定,避免火星坐标系带来的偏移。

命令运行成功后,打开 http://设备IP:8080 ,就可以看到飞机了,如果地图打不开是因为软件默认使用的是OpenStreetMap的开源地图,国内无法直接打开。

3.安装飞常准上传docker

项目主页也有详细的教程可以参考,这里只做摘抄。

使用命令行传递参数(新手推荐):

docker run -d \
--restart=always \
--name feeyo-feed \
--net host \
dextercai/feeyo-adsb-golang:latest /app/feeyo-adsb-golang \
-use-file=false -feeyo-url=https://adsb.feeyo.com/adsb/ReceiveCompressADSB.php \
-ip=127.0.0.1 -port=30003 -uuid=你的UUID

注意:将“你的UUID”替换为自己的UUID,若没有UUID可以使用该脚本作者制作的UUID生成网站请牢记并保存该UUID

至此已经完成了最基本的ADS-B信号解码、上传过程。打开https://flightadsb.variflight.com/device/index/你的UUID ,可以查看飞常准采纳的飞机数量、位置信息。如需监控容器的运行状态,可以在portainer-ce里查看容器日志。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇