首頁(yè)>資訊 >
我做了一個(gè)系統(tǒng),可以給所有飛過(guò)我家上空的飛機(jī)拍照 2022-01-24 13:41:08  來(lái)源:36氪

你以為的飛機(jī)迷們:

實(shí)際上的飛機(jī)迷們:

你永遠(yuǎn)也不知道他們腦袋瓜里都在搗鼓些什么。

比如,你能想象,一個(gè)飛機(jī)迷,為了拍下每架從他家上空飛過(guò)的飛機(jī),親手做了一個(gè)小系統(tǒng)skybot,追蹤拍攝到離地3萬(wàn)多英尺的航空飛機(jī)。

根據(jù)這位LukeBerndt推特用戶分享,成片大概長(zhǎng)這樣:

別看這照片像素啥的都挺一般的,就憑這張照片,系統(tǒng)就能同步更新飛機(jī)的基本信息了,比如型號(hào)、重量,以及什么時(shí)候經(jīng)過(guò)房子上空的等。

官網(wǎng)鏈接:

http://skybot.cam/

推特上也有不少網(wǎng)友對(duì)此表示絕絕子,有網(wǎng)友調(diào)侃道,“這波是無(wú)意間給聯(lián)邦快遞打了個(gè)廣告啊”。

甚至有人表示,這也太火爆了,“服務(wù)器都被擠爆了”。

如何做一個(gè)skybot系統(tǒng)

不知道有多少小伙伴已經(jīng)開(kāi)始動(dòng)心躍躍欲試了。

別急,我們先來(lái)看看做一個(gè)skybot需要哪些東西:一個(gè)樹(shù)莓派,一個(gè)RTL-SDRAxis PTZ安全攝像頭。

Axis的攝像機(jī)提供了一個(gè)很棒的API,它可以與他們家的PTZ攝像機(jī)一起使用,在這里使用的是m5525,因?yàn)閿z像機(jī)可以360度旋轉(zhuǎn),完美覆蓋天空上方的視野。

同時(shí)這里使用的是noelec NESDR SMArt v4 SDR,這款SDR結(jié)構(gòu)緊湊,不會(huì)阻塞樹(shù)莓派上的其他端口。

那么,要怎么接收飛機(jī)信號(hào)呢?

其實(shí)為了更好地實(shí)現(xiàn)跟蹤,大多數(shù)飛機(jī)會(huì)發(fā)射一種ADS-B信號(hào)。該信號(hào)為1090MHz,任何低成本SDR都可以輕松接收。同時(shí)從ADS-B傳輸中,我們還可以得到飛機(jī)的位置和高度,但如果你想知道飛機(jī)和你的相對(duì)位置,就還需要一點(diǎn)數(shù)學(xué)知識(shí)。

用相機(jī)對(duì)準(zhǔn)飛機(jī)拍照后,收集到數(shù)據(jù),就可以使用標(biāo)記的平面數(shù)據(jù)構(gòu)建平面檢測(cè)器和分類器。

在了解完系統(tǒng)的工作原理后,我們?cè)賮?lái)看看這個(gè)項(xiàng)目的軟件架構(gòu)。不同組件都被做成了Docker容器,這種模塊化使得添加新的數(shù)據(jù)源或攝像機(jī)也變得更加容易。

mikenye/pi+aware:FlightAware的piaware程序的dockerized版本。PiAware實(shí)際上只是一個(gè)dump1090的包裝。Dump1090是一個(gè)小程序,可以使用RTL-SDR接收ADS-B傳輸。該程序利用這些傳輸來(lái)跟蹤附近飛機(jī)的位置,并將它們顯示在網(wǎng)頁(yè)上,除此之外程序還將在TCP端口上接收到的所有消息輸出給其他程序使用。

adbs+MQTT:一個(gè)小型Python程序,讀取Dump1090通過(guò)TCP端口收集的信息,并將接收到的所有消息發(fā)布到MQTT總線上。

Tracker:接收飛機(jī)的位置信息,確定每架飛機(jī)離攝像頭有多遠(yuǎn),然后找到最近的飛機(jī)。

Axis+PTZ:接收要通過(guò)MQTT跟蹤的平面上的更新,然后將PTZ攝像機(jī)對(duì)準(zhǔn)該平面,同時(shí)拍照。

目前該系統(tǒng)已經(jīng)在GitHub上開(kāi)源了,鏈接如下:

https://github.com/IQTLabs/SkyScan

不過(guò)Luke表示,目前skybot還只能用于飛機(jī)的追蹤,要在鳥(niǎo)類身上實(shí)現(xiàn)可能還得費(fèi)一番功夫。

你可能不知道的ADS-B

說(shuō)到ADS-B,可能它的復(fù)雜程度要遠(yuǎn)超你的想象。

我們知道,ADS-B全稱廣播式自動(dòng)相關(guān)監(jiān)視系統(tǒng),其實(shí)就是飛機(jī)發(fā)出的廣播信號(hào),用明碼來(lái)對(duì)外發(fā)送自己的位置、高度、速度、航向等信息,是公開(kāi)信息。連續(xù)接收到一架飛機(jī)發(fā)出的ADS-B信息后,可以通過(guò)其坐標(biāo)點(diǎn)來(lái)描繪出飛機(jī)的航行軌跡,并實(shí)時(shí)獲取其飛行狀態(tài)。這對(duì)于現(xiàn)今的民航飛行來(lái)說(shuō)已經(jīng)是非常普遍的了。

不過(guò)由于ADS-B信息時(shí)效性比較差,信息不足,往往還需要flightradar24或者其他可以顯示飛機(jī)ADS-B信息的軟件來(lái)掌握飛機(jī)的動(dòng)態(tài),以做好準(zhǔn)備工作。

這架飛機(jī)在著名ADS-B網(wǎng)站FR24上顯示的根據(jù)ADS-B信息實(shí)時(shí)繪制的航線軌跡,實(shí)線部分是地面接收到了這飛機(jī)的ADS-B信號(hào)并且傳輸回服務(wù)器后自動(dòng)繪制而成的實(shí)際航線,虛線部分(紅圈)是該區(qū)域沒(méi)有ADS-B接收器信號(hào)丟失,系統(tǒng)直接在最后消失點(diǎn)與最新出現(xiàn)點(diǎn)之間拉了條直線以進(jìn)行示意。從圖中判斷該飛機(jī)目前還在無(wú)ADS-B接收器區(qū)域飛行,所展示的位置只是預(yù)估位置,在地面重新接收到ADS-B信號(hào)后會(huì)進(jìn)行修正。

但除了民用飛機(jī)外,軍用航空器也會(huì)安裝有ADS-B系統(tǒng),主要是為了空中防碰撞。以某些距離城市及機(jī)場(chǎng)非常近的軍用機(jī)場(chǎng)為例,他們使用的空域會(huì)與民用航空器的空域有不少的交集,這就需要開(kāi)啟ADS-B設(shè)備,便于地面指揮。

不過(guò)也不必?fù)?dān)心,在正常情況下,執(zhí)行任務(wù)的軍用航空器都會(huì)關(guān)閉ADS-B設(shè)備,防止暴露行蹤。同時(shí)在國(guó)內(nèi),雖然軍用航空器會(huì)開(kāi)啟ADS-B,但都會(huì)進(jìn)行一定的處理以消除敏感信息,只顯示必要的、滿足需求的信息出來(lái),比如高度航向速度等。

因此,在大家對(duì)飛過(guò)自家頭頂?shù)娘w機(jī)感興趣的同時(shí),也還需要注意安全問(wèn)題。嗯,不說(shuō)了,文摘菌準(zhǔn)備動(dòng)手了,也歡迎大家在評(píng)論區(qū)分享自己的動(dòng)手心得呀~

本文來(lái)自微信公眾號(hào) “大數(shù)據(jù)文摘”(ID:BigDataDigest),作者:Caleb,36氪經(jīng)授權(quán)發(fā)布。

關(guān)鍵詞: 上空 飛機(jī) 我家

相關(guān)閱讀:
熱點(diǎn)
圖片 圖片