开篇

你知道如何利用你手中的树莓派来观察天空中的飞机吗?通过调谐和接收距离你所在地点250英里以外飞机无线电信号,你就可以追踪飞机航线,而完成这个任务,仅需要随处就能购买到的廉价USB电视棒。

本文将介绍如何追踪飞机飞行航道以及规律,同时介绍项目中用到的软件、硬件,以及使用Docker开源容器引擎来管理物联网项目中的软件。

该项目类似FlightAware网站项目,后者已经可以可以分析来自世界各地几万人次的飞机飞行路线,而这种项目中需要用到的设备,仅仅是35美元的树莓派以及USB电视棒。

如果你有兴趣的话可以拿起手中的工具来,并为这些实时追踪飞机的网站(FlightAware.com、Flightradar24和planefinder.net)尽一份力,你将会获得详细的度量值(无线电定向与测距(雷达))数据以及其它奖励。

为什么要分析飞机飞行规律?对于那些对树莓派不感兴趣的人来说该项目很实用,成本也很低

可以实现在线追踪飞机飞行规律并与你所在地的航班日程对比

安放天线并获取超详细的飞行统计数据

将数据用于自己的编程项目,同时可以学习到有关航空的知识

最重要的是,这是一个非常有趣的项目,可通过研究树莓派来获得满足感,值得一提的是,这个项目不会用到很多钱。

零件树莓派,SD卡(Raspbian Lite 、PIXEL)

我建议使用树莓派2、3代,这样有更多的可用内存,并可以进行多任务处理(如果想安装多个接收器还想省钱可以使用Pi Zero)

USB电视棒

SMA连接器-配置1090 MHz天线

DVB-T USB电视棒(Pimoroni上购买的)-我之前做了测试并选择该芯片型号,并将伸缩天线推至最小位置

NESDR SDR-三天线、SMA接口,考虑城市环境因素内置静噪滤波器

如果你想要买更便宜的接收器,需要保证他们有R820T 芯片组的设备。

注:为了取得更明显的实验结果,请购买品牌USB电视棒(没有必然联系)

天线

DVB-T USB电视棒主要利用天线接收电视机信号,而非1090 MHz的ADS-B信号。虽然你仍可以观察到一些飞机航道,但这取决于你所在位置范围内飞机高度和地面开阔度。

如果你需要一个1090 MHz天线,你可以购买一个SMA接头(3 dBi版本)。我曾做了一个样品,并将它放在窗台上,结果仅获取到150英里范围内的飞行航道。

最终当我使用FlightAware外置天线的时候,你可以观察到250英里的飞行航道,如果你安装在屋顶上,那么你就会观察的更远。

功率问题

你也需要一个2.5a-3a的电源,以确保有足够的电力为树莓派和USB电视棒供电,你当然可去官网购买树莓派(Pimoroni),ModMyPi还有树莓派3件套,然后你就可以继续开始这个项目了。

术语

我们将会使用usb电视棒来接收飞机ADS-B信号,但我们先从飞机的定义开始解释。

ADS-B信号

现代飞机可以从导航仪器面板上的自动应答器上收集信息,并利用ADS-B信号将这些信息传播到周边地区。任何人都可以接收这样的信号信息,无论是一架飞行控制台、飞机或一台树莓派。

自动相关监视-广播(ADS-B),确切说是一种监视技术,飞机通过卫星导航确定其位置,并定期发送信号,使之能被追踪。

DVB-T USB电视棒

电视调谐器DVB-T,主要为数字视频广播(地面站)接收设备。当然你也可以使用这些设备来接收喜欢的电视节目,也不是所有的DVB-T设备都能改变用途,这就需要购买之前进行详细的研究。

SMA天线接头

SMA(微型版)连接器会比同轴款小些,如果你购买了廉价的DVB-T,那么有可能需要配更小的连接器,上面会有一个“辫子”。这些主要的天线连接器(同轴款连接器、SMA以及RF)都可以从网上电子商店购买,解码ADS-B信号核心便是 dump1090,就1090来说是我们处理和解码原始数据时,所用到的频率大小。

dump1090是一个开源项目,该项目经手数人,不断进行完善和改进。所以在选择软件构建和测试时会令人觉得困惑。

这是我在GitHub上找到该系统的历史:antirez在2012年圣诞节期间开始这个项目

MalcolmRobb接手该项目,衍生代码并添加更多功能

mutability在MalcolmRobb衍生代码工作之后继续开始

FlightAware 接手项目后保留了mutability 库文件

我们使用 Docker来架构代码,这样你就可以很容易的在终端运行指令,使用Docker 优点:可重复构建编写脚本程序

可以让我们在不同版本代码之间切换

不用安装在树莓派什么程序,这样使用起来也很方便

可以与朋友共享映像文件,也可以与其它树莓派共享

对于dump1090多数版本来说还有一个网络接口,可以让你实时查询飞机航道

FlightAware

FlightAware是上文提到的网站之一,你可以使用dump1090汇总到的数据,之后使用虚拟雷达将其可视化。当然你也可以获得详细的统计数据,帮助你跟踪飞机航道以及飞行范围。

这是我的显示界面,利用的工具是FlightAware专用天线以及DVB-T(降噪)。

你可以查看我的详细信息(alexellisuk),这里有更多的统计数据。

MLAT

MLAT-多点定位场面监视系统(如树莓派),用来追踪ADS-B信号,它能够准确的分析时间偏差,这样可以比单一追踪信号获取更多航道信息。

软件安装

安装Docker

我们下面就会使用Docker 映像,我们可以添加除主机二进制文件以外的文件$ curl -sSL https://get.docker.com | sh

从GitHub上下载$ git clone https://github.com/alexellis/eyes-in-the-sky

USB电视棒黑名单

为了电视棒兼容 dump1090,我们在其内核模块设置了黑名单。

添加到文件目录/etc/modprobe.d/blacklist.conf:blacklist dvb_usb_rtl28xxu

重新启动

dump1090

安装dump1090

如果你想要查看自己的位置(经度以及维度),请用CMD命令 编辑最后一行Dockerfile.malcolmrobb,你就可以在谷歌地图发现自己的位置了。$ cd eyes-in-the-sky/dump1090

$ docker build -t alexellis2/dump1090:malcomrobb . -f Dockerfile.malcolmrobb

-t-指的是我们之后指定的图像名称

-f-我自定义一个函数名称Dockerfile,同时相当于为mutability也提供一个

使用Docker ,你可以在软件中将图像分享给其他人,同时上传到Docker 项目中,这样出现问题之后可以继续架构dump1090,如若出现问题也不需要从头再来。$ docker pull alexellis2/dump1090:malcolmrobb

测试dump1090

测试代码$ docker rm -f 1090 # remove any old container

$ docker run --privileged -p 8080:8080 -p 30005:30005 -p 30003:30003 --privileged --name 1090 -d alexellis2/dump1090:malcomrobb

docker 的功能主要负责运行你的代码,如果你重启树莓派并运行docker,同时加载dump 1090,则需要在docker运行指令rm -f 1090来阻止这一进程。

- P指令已经标记Docker容器端口,你可以通过更改Docker容器端口号和名称,并运行dump1090

-d指令便是将Docker容器以daemon方式运行,如果仅仅是看到控制台输出信息,请输入docker logs --tail 20 -f 1090

如果你清楚树莓派的IP地址,那么你现在就可以打开网页

当然你也可以利用ifconfig指令查找IP地址

那么你现在就可以登录到树莓派,找出飞机航道,以及你现在所在位置

提示:无权限访问

如果不想用高级权限运行Docker容器,那么可以利用以识别USB设备名称,然后更改,例如输入--privileged 或--device=/dev/bus/usb/001/004

这时你应该输入004,最终通过输入lsusb指令查找正确号码$ lsusb

Bus 001 Device 004: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T

安装FlightAware

虽然之前也介绍了几个飞行航道分析网站,但我还是选择FlightAware,他们的软件与你dump1090相连,并统计数据与网上的其他人的数据对比。

你可以安装FlightAware.deb文件到你的树莓派中,当然我已经创建了一个文件(Docker),这样做有两个优点,即不需要进行软件拷贝,还有就是不需要在树莓派的帮助下进行程序版本切换,无论是使用图像文件还是分享图像,都需要输入指令如下docker pull alexellis2/flightaware:3.5.0

:$ cd eyes-in-the-sky/flightaware

$ docker build -t alexellis2/flightaware:3.5.0 .

注:一定小心最后一行末尾的圆点

现在就可以在FlightAware.com网站上注册一个账号

编辑piaware.conf 文件更改下面信息

主机地址(树莓派IP地址)

FlightAware用户名(注册信息)

FlightAware密码(注册信息)

FlightAware 通过 MAC地址选取树莓派信息是正确的,幸运的是,我们可以利用软件更改Docker中 MAC地址。如果仅仅是改变MAC 地址,那么里面每一部分都是独立的。

运行并观察最后结果$ cd eyes-in-the-sky/flightaware

$ docker rm -f piaware_1

$ docker run --mac-address 02:42:ac:11:00:01 -v `pwd`/piaware.conf:/etc/piaware.conf --name piaware_1 -d alexellis2/piaware:3.5.0

看到出现结果之后按下Control + C$ docker logs --tail 20 -f piaware_1

几分钟后你就可以在线看到自己树莓派的相关信息

常见问题

设备功率多少?

树莓派2/3以及Pi Zero 需要2-3瓦特,当dump1090程序在树莓派上工作时,用电量会增长50%,这对Pi Zero来说也是一样的,这其中额外电力主要为 USB DVB-T供电。

能用充电宝为设备供电吗?

可以,如果你每天追踪航班运行不到3个小时,那么就可以坚持3天。

我可以使用太阳能发电装置供电?

我想使用太阳能发电装置并不是一个明智的选择,你不能在这种情况下稳定运行树莓派,而且你还需要额外的设备,包括控制器、太阳能电池板以及蓄电池。

你最好在屋顶开阔地方放置设备,然后通过网络控制树莓派,这是我之前用到的零件清单(点我查看)。

有没有在外部设备存储镜像文件的解决方案?

首先你可以趣 FlightAware上下载相应文件,并存储在sd卡中,如果你之前按前文使用标准的配件,那么你可以直接在设备上安装dump1090系统以及对应软件。

你打算详细解读里面每个零件功能以及其它用途吗?

如果大家对这篇文章关注多了,我会在以后详细解读里每个组件的其它用途。

注:树莓派易受电压尖峰影响,因此请考虑使用电涌保护器以防止损坏,如果您所在地区为高电压尖峰地区,请考虑使用800焦耳的电涌保护器。

*参考来源:alexellis,饭团君编译,转载请注明来自Freebuf.com。

姿态检测 树莓派_利用树莓派追踪飞机航行轨迹的骚姿势分享相关推荐

  1. 树莓派 docker homeassistant_利用树莓派追踪飞机航行轨迹的骚姿势分享(转载)

    开篇 你知道如何利用你手中的树莓派来观察天空中的飞机吗?通过调谐和接收距离你所在地点250英里以外飞机无线电信号,你就可以追踪飞机航线,而完成这个任务,仅需要随处就能购买到的廉价USB电视棒. 本文将 ...

  2. python追踪屏幕的移动目标_利用树莓派和Python建立一个简单、便宜的移动目标探测器...

    今天我们将讨论如何建立一个简单.便宜的移动目标探测器. 这项研究的目的是确定在一个便宜的移动设备上的对象检测模型是否可以用于现实世界的任务. 作为一个移动平台,我们使用的是树莓派3B.树莓派是一款售价 ...

  3. 树莓派python控制两个舵机_利用树莓派,光敏电阻和小型舵机实现自动获取 《最终幻想 X HD重制版》 连续避雷200次奖杯...

    我相信大家只要是玩过最终幻想 X的同学肯定头疼于跑鸟和连续避雷200次,为此可以说不眠不休,甚至连砸机器的心都有,这两个小游戏可谓极度变态.对于连续避雷200次这个小游戏,不仅要求玩家在屏幕出现闪电后 ...

  4. 树莓派sd卡格式化_利用树莓派和移动硬盘搭建下载机,常见视频网站都可下载...

    前言 一直想搭建一个下载机,查了很多资料,觉得树莓派+移动硬盘应该是最好的选择.树莓派是比较小众的东西,它可不是什么吃的,它是一台完整的微型电脑.对于树莓派,下载只是很小的一个功能. 树莓派 终于下手 ...

  5. kali 创建php可执行文件_利用树莓派在kali环境下搭建Web环境(Apache+Php7.3+Mysql)...

    前言 在kali下我们来搭建web系统环境,在平时我们可在win系列的系统上用Phpstudys等集成环境来搭建,快捷 方便.今天来看看如何在kali下搭建环境.此中安装方法也适应Debian系列的系 ...

  6. python控制电机_利用树莓派控制步进电机——Python语言

    步进电机的优点在于它能够被精确定位,正向或反向一次性转动"一步",并且也能够连续转动. #!/usr/bin/env python ######################## ...

  7. openhd 树莓派_记录树莓派数字图传

    用树莓派做数字图传,这应该是好多年前的一个想法了,一直是玩的模拟图传,大疆垄断的数字图传对玩开源的就是一个坎儿,因为大疆的数字图传就是6000多,和它的整体价格差不多,一直开源图传就没人把这个开发出来 ...

  8. esp32树莓派_用树莓派 DIY 宠物自动喂食机,再也不用担心家里的萌宠了

    由于公众号文章的推送规则已经改成了不按照发布时间排序,所以为了大家能够准时收到我们的文章推送,请记得猛戳右下角的「在看」,并点击公号主页右上角的" ... "将 程序员极客实验室  ...

  9. 4 anbox 树莓派_使用树莓派制作的远程开门器

    背景: 话说自从我厂的商务部门搬到旁边的商务楼之后,工程师发现漂亮的前台MM也搬走了,某区只留下冷冷清清的鱼缸.然后,工程师们发现开门成了个问题.鉴于进门需要刷卡,所以没有带卡的工程师就不得不摁下门铃 ...

最新文章

  1. Huber loss--转
  2. NYOJ 143 第几是谁?
  3. activiti候选人的多个场景应用
  4. 天津理工大学 计算机网络综合实验,天津理工大学计算机网络 实验二
  5. JavaWeb课程复习资料(九)——删除功能
  6. go run 和 go build 和 go install 命令区别
  7. mysql报错1517_请教一下 flask+sqlalchemy+mysql 连接错误问题
  8. ICollection IEnumerable/IEnumerator IDictionaryEnumerator yield
  9. Keepalived-在没有之前配置的Nginx高可用(不建议采纳)
  10. 【asp】aspUpload
  11. 【HTML5】字体删除线代码
  12. 【实战讲解】数据血缘落地实施
  13. 什么决定你的江湖地位
  14. 曾鹏锦老师:具备这5种能力人生之路越来越好走越走越宽
  15. 二维码的生成与解析示例 生成二维码
  16. NBIoT智能门锁已成为酒店必备硬件产品
  17. python生成不对称正弦波与傅里叶级数分解
  18. 2022年最新江苏建筑特种工(施工升降机)模拟题库及答案
  19. server数据库标记为可疑 sql_sqlserver2008数据库被标记为可疑的解决方法.docx
  20. python学习===从键盘输入一些字符,逐个把它们写到磁盘文件上,直到输入一个 # 为止。...

热门文章

  1. POJ:1006--BIORHYTHM(生理周期计算)
  2. PYTHON 实现 NBA 赛程查询工具(二)—— 网络爬虫
  3. 可用于SDR的C语言纠错编码通用算法收集(3)-卷积码与Viterbi译码
  4. 七部委联合整治房地产乱象 楼市调控再释强烈信号
  5. 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果
  6. 进口商品物料主数据国际商品条码前导0省略问题
  7. 污水除磷主要方法,磷酸盐的深度去除,正磷、次磷、亚磷树脂吸附
  8. 关于阿里巴巴基础设施,你要知道的都在这里
  9. mysql jdbc jsp学生管理系统_[项目分享]JSP+Servlet+JDBC实现的学生信息管理系统
  10. 华为折叠手机终究采用三星放弃了京东方,证明三星技术方向正确