當前位置:
首頁 > 新聞 > 利用樹莓派追蹤飛機航行軌跡的騷姿勢分享

利用樹莓派追蹤飛機航行軌跡的騷姿勢分享


開篇


你知道如何利用你手中的樹莓派來觀察天空中的飛機嗎?通過調諧和接收距離你所在地點250英里以外飛機無線電信號,你就可以追蹤飛機航線,而完成這個任務,僅需要隨處就能購買到的廉價USB電視棒。


本文將介紹如何追蹤飛機飛行航道以及規律,同時介紹項目中用到的軟體、硬體,以及使用Docker開源容器引擎來管理物聯網項目中的軟體。


該項目類似 FlightAware網站項目,後者已經可以可以分析來自世界各地幾萬人次的飛機飛行路線,而這種項目中需要用到的設備,僅僅是35美元的樹莓派以及USB電視棒。


如果你有興趣的話可以拿起手中的工具來,並為這些實時追蹤飛機的網站(FlightAware.com、Flightradar24和planefinder.net)盡一份力,你將會獲得詳細的度量值(無線電定向與測距(雷達))數據以及其它獎勵。



為什麼要分析飛機飛行規律?



對於那些對樹莓派不感興趣的人來說該項目很實用,成本也很低


可以實現在線追蹤飛機飛行規律並與你所在地的航班日程對比


安放天線並獲取超詳細的飛行統計數據


將數據用於自己的編程項目,同時可以學習到有關航空的知識

最重要的是,這是一個非常有趣的項目,可通過研究樹莓派來獲得滿足感,值得一提的是,這個項目不會用到很多錢。


零件



樹莓派,SD卡(Raspbian Lite 、PIXEL)


我建議使用樹莓派2、3代,這樣有更多的可用內存,並可以進行多任務處理(如果想安裝多個接收器還想省錢可以使用Pi Zero)


USB電視棒


FlightAware Pro Stick(注意自己樹莓派的型號)-內置靜噪濾波器


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地址,那麼你現在就可以打開網頁


http://192.168.0.10:8080/


當然你也可以利用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




喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

烏龍的CVE-2017-8570樣本及背後的狗血
你的網路攝像頭可能也被監控,維基解密曝光CIA視頻流竊聽工具
一個漏洞能潛伏多少年?細數那些有名的高齡安全漏洞
Gartner 2017年WAF魔力象限報告:雲WAF將替代物理設備成為主流

TAG:FreeBuf |

您可能感興趣

捕捉鳥的飛行軌跡
科學家運送火箭去碰撞小行星,希望能改變它的運行軌跡
探尋·飛行員的成長軌跡
飛機的「白色軌跡」竟能致氣候變暖!專家:飛機污染遠超人們想像
研究人員已經開發出一套系統,利用手機的軌跡追蹤氣候變化導致的人類遷徙
手機App追蹤運動軌跡,意外泄露美軍機密?
跑步軌跡圖的「妙用」
一個被俘「黑貓中隊」飛行員的人生軌跡
改變命運軌跡的一些有效方法,確實能增強運勢!
邂逅威尼斯:這一次用手機追逐光的軌跡
活動悅跑圈開啟保護濕地跑步活動,跑友以動物跑步軌跡寄情
手把手教你把無人機飛行軌跡做成一張漂亮的可視化交互地圖,太美!
空襲敘利亞基地導彈軌跡清晰可見,兩戰機躲橋洞下仍無法倖免
航空工業飛控系統所劉龍:用拼搏和成長划出最美的青春軌跡
九星運行軌跡
手機應用替代行車記錄儀:可追蹤位置記錄軌跡
我們追隨著人生的軌跡一路前行
聽說現在跑步軌跡都流行聲明權利了?
坐飛機被陌生人搭訕,還準確說出我的飛行軌跡!小心這款APP
從借勢到被借勢《旅行青蛙》網路口碑軌跡復盤