我做了一个系统,可以给所有飞过我家上空的飞机拍照

简介: 我做了一个系统,可以给所有飞过我家上空的飞机拍照

image.png

你以为的飞机迷们:

image.png

实际上的飞机迷们:

image.png

你永远也不知道他们脑袋瓜里都在捣鼓些什么。

比如,你能想象,一个飞机迷,为了拍下每架从他家上空飞过的飞机,亲手做了一个小系统skybot追踪拍摄到离地3万多英尺的航空飞机。

image.png

根据这位LukeBerndt推特用户分享,成片大概长这样:

image.png

别看这照片像素啥的都挺一般的,就凭这张照片,系统就能同步更新飞机的基本信息了,比如型号、重量,以及什么时候经过房子上空的等。

image.png

官网链接:

http://skybot.cam/

推特上也有不少网友对此表示绝绝子,有网友调侃道,“这波是无意间给联邦快递打了个广告啊”。

image.png

甚至有人表示,这也太火爆了,“服务器都被挤爆了”。

image.png

如何做一个skybot系统

不知道有多少小伙伴已经开始动心跃跃欲试了。

别急,我们先来看看做一个skybot需要哪些东西:一个树莓派,一个RTL-SDRAxis PTZ安全摄像头

Axis的摄像机提供了一个很棒的API,它可以与他们家的PTZ摄像机一起使用,在这里使用的是m5525,因为摄像机可以360度旋转,完美覆盖天空上方的视野。

同时这里使用的是noelec NESDR SMArt v4 SDR,这款SDR结构紧凑,不会阻塞树莓派上的其他端口。

image.png

那么,要怎么接收飞机信号呢?

其实为了更好地实现跟踪,大多数飞机会发射一种ADS-B信号。该信号为1090MHz,任何低成本SDR都可以轻松接收。同时从ADS-B传输中,我们还可以得到飞机的位置和高度,但如果你想知道飞机和你的相对位置,就还需要一点数学知识。

用相机对准飞机拍照后,收集到数据,就可以使用标记的平面数据构建平面检测器和分类器。

image.png

在了解完系统的工作原理后,我们再来看看这个项目的软件架构。不同组件都被做成了Docker容器,这种模块化使得添加新的数据源或摄像机也变得更加容易。
image.png

  • mikenye/pi+aware:FlightAware的piaware程序的dockerized版本。PiAware实际上只是一个dump1090的包装。Dump1090是一个小程序,可以使用RTL-SDR接收ADS-B传输。该程序利用这些传输来跟踪附近飞机的位置,并将它们显示在网页上,除此之外程序还将在TCP端口上接收到的所有消息输出给其他程序使用。

  • adbs+MQTT:一个小型Python程序,读取Dump1090通过TCP端口收集的信息,并将接收到的所有消息发布到MQTT总线上。

  • Tracker:接收飞机的位置信息,确定每架飞机离摄像头有多远,然后找到最近的飞机。

  • Axis+PTZ:接收要通过MQTT跟踪的平面上的更新,然后将PTZ摄像机对准该平面,同时拍照。

目前该系统已经在GitHub上开源了,链接如下:

https://github.com/IQTLabs/SkyScan

不过Luke表示,目前skybot还只能用于飞机的追踪,要在鸟类身上实现可能还得费一番功夫。

image.png

你可能不知道的ADS-B

说到ADS-B,可能它的复杂程度要远超你的想象。

我们知道,ADS-B全称广播式自动相关监视系统,其实就是飞机发出的广播信号,用明码来对外发送自己的位置、高度、速度、航向等信息,是公开信息。连续接收到一架飞机发出的ADS-B信息后,可以通过其坐标点来描绘出飞机的航行轨迹,并实时获取其飞行状态。这对于现今的民航飞行来说已经是非常普遍的了。

不过由于ADS-B信息时效性比较差,信息不足,往往还需要flightradar24或者其他可以显示飞机ADS-B信息的软件来掌握飞机的动态,以做好准备工作。

image.png

这架飞机在著名ADS-B网站FR24上显示的根据ADS-B信息实时绘制的航线轨迹,实线部分是地面接收到了这飞机的ADS-B信号并且传输回服务器后自动绘制而成的实际航线,虚线部分(红圈)是该区域没有ADS-B接收器信号丢失,系统直接在最后消失点与最新出现点之间拉了条直线以进行示意。从图中判断该飞机目前还在无ADS-B接收器区域飞行,所展示的位置只是预估位置,在地面重新接收到ADS-B信号后会进行修正。

但除了民用飞机外,军用航空器也会安装有ADS-B系统,主要是为了空中防碰撞以某些距离城市及机场非常近的军用机场为例,他们使用的空域会与民用航空器的空域有不少的交集,这就需要开启ADS-B设,便于地面指挥。

不过也不必担心,在正常情况下,执行任务的军用航空器都会关闭ADS-B设备,防止暴露行踪。同时在国内,虽然军用航空器会开启ADS-B,但都会进行一定的处理以消除敏感信息,只显示必要的、满足需求的信息出来,比如高度航向速度等。

因此,在大家对飞过自家头顶的飞机感兴趣的同时,也还需要注意安全问题。嗯,不说了,文摘菌准备动手了,也欢迎大家在评论区分享自己的动手心得呀~

相关文章
|
6月前
|
Web App开发 移动开发 小程序
看我如何让手机秒变扫码枪
为解决无扫码枪问题,作者受到微信小程序“超级扫码枪”启发,决定自制手机扫码到电脑的应用。项目需求是手机扫描条形码或二维码后实时传送到电脑。实现步骤包括:电脑端用Java Swing和Robot模拟键盘输入,手机端H5调用摄像头扫码(借助html5-qrcode库),并通过WebSocket服务将结果发送至电脑。项目源码及演示视频链接提供。
697 5
|
弹性计算 Python
有风,你就能在空中飞翔
新时代有了许多机会,给还在校园的学生提供便利,恰好你有在空中飞翔的愿望,这里有风。
飞机改装服务
本文研究全球及中国市场飞机改装服务现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美、欧洲、中国、日本、东南亚和印度等地区的现状及未来发展趋势
只要 5 步,科技宅小哥教你将手机变成 3D 全息投影仪
科技宅们最不缺乏的应该就是奇思妙想吧,最近,一个叫做“Mrwhosetheboss”的科技宅小哥,用了一张坐标方格纸、一张塑质的CD包装壳、胶带纸或者强力胶、一支笔、一把剪刀、一台智能手机、餐具刀或者一把裁玻璃的刀,简单5步,就将他的智能手机打造成一台3D全息投影仪。
257 0
|
传感器 机器学习/深度学习 人工智能
用鞋子给视障人士导航!这款“导盲鞋”可检测4米外障碍物,振动提醒躲避,一双2w5
用鞋子给视障人士导航!这款“导盲鞋”可检测4米外障碍物,振动提醒躲避,一双2w5
289 0
|
机器学习/深度学习 算法 自动驾驶
加拿大小哥用树莓派做了一个狗子探测器:实时识别路过的狗子,还能向狗主人“表白”
加拿大小哥用树莓派做了一个狗子探测器:实时识别路过的狗子,还能向狗主人“表白”
247 0
试飞成功的“龙”飞船即将返回地球,计划于7月进行真人飞行
据多方消息,7月的这一载人发射任务还有一些不确定性。
150 0
彩铅练习,夜色中的小鸟
这张好丑,颜色练习 图片发自简书App
875 0