基於 Raspberry Pi 構建一個飛機觀察器

來源:互聯網
上載者:User

標籤:核心   原因   help   org   conf   mic   電腦   硬體   錯誤   

此項目使用帶超低成本軟體無線電 (SDR) 硬體的 Raspberry Pi,來接收數百萬裡之外的機載 S 模式應答器發送的跟蹤資訊。Raspberry Pi 配備了靈巧的 3.5 英寸 TFT 顯示屏,以提供便捷的飛機活動概覽。

 

 

硬體

基於 RTL2832U 的微小 SDR 接收器 (124-5461) 專為 DVB-T 的接收設計並第一次投放市場。然而,由於 Linux 核心駭客這幾年的努力,已經可以擷取裝置的原始樣本,而不僅僅還只是一個被解調的 DVB 訊號。這意味著無線系統之後可以應用於軟體,實現巨大的靈活性。

 

 

RTL2832U 晶片通常與調諧器 IC 配接。具體到 Adafruit 的 USB 接收器中,它是一個 R820T,可接收 24MHz 至 1,850MHz 的訊號。應該指出的是,RTL-SDR 硬體配備 8 位 ADC 解析度和約 7 位的有效位元 (ENOB),在更昂貴的 SDR 平台的動態範圍內無競爭優勢。但是對於許多用途來說,它已經足夠,並擁有極高的性價比。

 

 

用於接收和解碼 S 模式訊號的軟體提供了一個基於 Google 地圖的網站介面和一個並不特別需要的本地顯示屏。然而,Adafruit PiTFT 3.5 英寸顯示屏 (124-5487) 的增加提供了“一目瞭然”的簡明空中活動概覽。另外,Raspberry Pi、SDR 接收器和 TFT 顯示屏的結合還可配置成一個相當酷炫、實現頻譜可視化的獨立掃描器。

TFT 顯示屏只需插入 Pi 的 P1 管座,SDR 接收器則只需插入一個 USB 連接埠。

Raspbian

Raspbian 的安裝有兩種選項:從 Adafruit 為已配置好的 TFT 顯示屏下載一個受核心支援的映像,或編寫一個 Raspbian 內建映像,然後進行相應配置。我選擇了後者,因為我通常傾向於使用官方 O/S 安裝映像,然後執行所需自訂動作。然而,前者包含的步驟更少,更不容易出錯。Adafruit 為兩種方法提供指導。

使用 “dd” 編寫 Micro SD 記憶卡後,我通過編輯檔案將主機名稱從預設的 “raspberrypi” 更改為 “planepi”,以更方便地找到網路:

etc/hostnameetc/hosts

注意開始處缺失的斜線,因為您不會想在編寫 SD 記憶卡的電腦上的 /etc 下編輯檔案 - 所以,不管您的電腦已經安裝了什麼路徑,您都需要在 SD 記憶卡下添加根檔案系統。

如果您傾向於通過附帶的鍵盤、顯示器和滑鼠配置系統,則不必啟動 SSH。但是,如果您像我一樣傾向於通過 SSH 串連進行配置,則需執行以下操作:

$ sudo touch boot/ssh

隨便用什麼替代 “boot”。完整路徑是為了在 SD 記憶卡上引導系統檔案。

如果 Pi 串連至一個有線網路,您可以移除Micro SD 記憶卡,插入 Pi 然後引導。但是,如果您使用無線網路串連,則還需編輯:

etc/wpa_supplicant/wpa_supplicant.conf

再次重申,這不是您編寫 SD 記憶卡的電腦上 /etc/wpa_supplicant 中的設定檔,設定檔位於 SD 記憶卡根檔案系統上的 etc/wpa_supplicant 目錄中。

如需手動設定無線網路的詳情,請參閱 Raspberry Pi 文檔。

PiTFT 設定

 

 

因為我使用 Raspbian 內建映像,並需為 TFT 顯示屏配置此映像的核心支援,我按照 Adafruit 提供的 DIY 安裝人員指令碼說明:輕鬆安裝進行安裝。然而,”sudo apt-get install” 行出現如上所示錯誤,因為內建映像出現了更新的軟體版本,因此,需運行以下指令碼強制進行降級:

$ sudo apt-get install -y --force-yes raspberrypi-bootloader adafruit-pitft-helper raspberrypi-kernel

隨後運行輔助指令碼,以便安裝 3.5 英寸電阻型 PiTFT。

$ sudo adafruit-pitft-helper -t 35r

通常建議使用 Adafruit 提供的提前配置好的 Raspbian 映像。但是,以上資訊只對使用 Raspbian 內建映像的新手有用,不管其出於任何原因,如向運行其他應用程式的現有系統添加這些功能。

最後,如果出現本文頂部映像所示情況,即 USB 電源引線朝 Pi 向下,則需要更新配置才可將顯示屏旋轉 180 度。通過編輯 /boot/config.txt 檔案並將 rotate=270 更改為 rotate=90 即可完成。

dump1090

有多種軟體可用於接收和解碼 S 模式傳輸,這在 5 年前就實現了,那時我撰文介紹過基於 GNU Radio 的地對空模式。然而,這一次,我們打算使用名為 dump1090 的軟體,其以 S 模式的使用頻率 1090MHz 命名。

與 GNU Radio 相比,dump1090 的好處包括:擁有最低的外部依賴性;它還特別堅固,擅長於解碼弱訊號。當在互動模式下工作時,它將向控制台列印出活動概覽,且在 GitHub 上共用的分支會經過細微修改,以便適應 3.5 英寸 TFT 顯示屏。

要進行構建,我們需要運行以下指令碼:

$ sudo apt-get install libusb-1.0-0-dev librtlsdr-dev rtl-sdr$ git clone https://github.com/DesignSparkrs/dump1090$ cd dump1090$ make

隨後編輯 /etc/rc.local 檔案,並在 “exit 0” 前添加以下行:

cd ~pi/dump1090; ./dump1090 --net --net-http-port 80 --interactive &
運行

 

 

現在我們需要重新啟動以便為 TFT 顯示屏配置核心,如果未為 RTL-SDR 硬體載入預設的電視調諧器支援,則該配置將會受阻。如果一切進展順利,dump1090 將通過我們剛剛添加至 /etc/rc.local 的行啟動。隨後 TFT 顯示屏應會在接收到訊號時開始顯示內容。

 

 

如果瀏覽器串連Raspberry Pi,我們將會獲得一個簡單的網路應用程式。該程式基於 Google 地圖,帶有飛機位置標記和海拔等資料牛肉板面。

請注意,SDR 接收器隨附的天線對於 1090MHz 來說不是最優的,但是在大部分地區,使用該天線起碼可以擷取某些飛機訊號。請確保將其放置於窗戶邊或窗外。如果您運氣不佳,無法接收訊號,有線上的簡單DIY天線的計劃可以調諧到1090MHz,增益更高。

其他軟體和服務

 

 

dump1090 還可讓原始 S 模式資訊在網路上可用,這些可與 PlanePlotter 等軟體一起使用,以實現更複雜的顯示。此外,資料還可從接收器發送到提供眾包飛行資料存取權限的線上服務,如 OpenSky Network 和 FlightAware。

基於 Raspberry Pi 構建一個飛機觀察器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.