ZenithBoard
繁體中文

ZenithBoard

舊平板上的點陣牆或機場翻板顯示牌、網頁主控台、Bluesky 上的貼文。免費、開放,一個選單裝好一切。

一句話說完

ZenithBoard 把一台 Raspberry Pi 和一支 USB 無線電接收棒變成一台餵送四個網路的 ADS-B 接收器,並在一台舊平板上,以發光的點陣看板或機場翻板顯示牌的樣子,顯示正飛過你家上空的飛機。它是 GPL 授權的自由軟體,每天都在作者自己的 Pi 3B 上運行,放在戶外、用 Wi-Fi、在摩澤爾(Moselle)。

琥珀色的點陣牆:一架 Tunisair Airbus A320 和它的兩面小旗子,文字旁邊用點陣畫出的飛機,接著是下一個航班

那面牆

牆是 Pi 在你家網路上提供的一個網頁。在任何有瀏覽器的平板或螢幕上打開它,加到主畫面,它就會一直亮著。它會輪流顯示你所選半徑內的每一架飛機,從 1 到 50 公里(或英里):呼號、機型、高度、速度、航班從哪裡來、往哪裡去、距你的距離和方向。兩種外觀:一個 128 乘 80 點的格陣,像老車站的看板;或一面翻板顯示牌,下一架飛機來的時候字母會翻動。五種顏色:琥珀、綠、紅、白、青綠;一次只用一種,因為重點是一面發光的看板,而不是一張地圖截圖。

紅色的翻板顯示牌:字母從一個航班翻動切換到下一個航班

六種外觀的牆:上排是琥珀、青綠和白色的點陣;下排是琥珀、綠和青綠的翻板顯示牌

牆的角落有一個小齒輪,點開就是它的設定:單位、半徑、每架飛機的秒數、顏色、樣式和旗子。這些設定只保存在那台平板上,所以每個螢幕都可以有自己的外觀,而 zenithboard config 則為所有螢幕設定預設值。

牆自己的設定面板疊在翻板顯示牌上:單位、半徑、每架飛機的秒數、顏色、樣式和旗子

文字旁邊有以點陣畫出的飛機剪影、兩面小旗子(飛機註冊於哪國、製造於哪國),如果你想要,還有來自 Planespotters 的照片,附攝影師的名字。沒有航空公司標誌,沒有製造商標誌:這些是受保護的商標,所以用國旗代替。航線和機型來自公開查詢;牆只說它知道的,不知道的就讓那一列留空。

你可以在完全沒有硬體的情況下試試這面牆:程式庫附有一個示範,用虛構的航空公司,並包含從 A380 到直升機的各種範例,可以在任何裝有 Python 的電腦上執行。

接收器,以及四個網路

ZenithBoard 安裝 readsb 作為解碼器,連同它的地圖 tar1090,以及你勾選的餵送程式:ADS-B Exchange 永遠安裝,FlightAware、Flightradar24 和 Plane Finder 則視你需要。它只讓恰好一個 MLAT 用戶端運行,並在 zenithboard status 中計算數量。一切預設關閉且可逆:每一個開都有一個能回復原狀的關,任何破壞性操作前都會先備份,選單永遠有退路。

接收器的增益可以從選單或主控台一次調一格,並有統計資料讓你看出是否有幫助。選用的統計功能會保留一個月的每小時訊息數、每日距離和飛機數;graphs1090 能把多年的資料畫成圖表。

主控台

從 0.39 版起,http://<the Pi>:8080/console 以牆的外觀顯示設定:Pi 的總覽(運行時間、溫度、記憶體、每個服務)、牆、接收器、Bluesky、看門狗、更新。一次一個區段,電腦上是側邊欄,手機上是分頁。每一次變更都執行選單會執行的同一個指令,並顯示它印出的結果。主控台有二十一種語言;本網站使用同一份清單和同一組旗幟。

翻板上的一架 Airbus Beluga

Bluesky

選用,預設關閉。開啟後,Pi 會把值得一貼的飛機發到 Bluesky:一架軍用加油機、一架 Beluga、一個月沒見過的機型、當月飛得最遠的一架。每則貼文是一張牆的圖片,旁邊是飛機航跡的地圖,兩者都由 Pi 自己繪製,附一段短文:航班、機型、航線、高度,以及你所在城鎮的名稱,絕不是你的位置。你的 Bluesky 應用程式密碼留在 Pi 上,存在一個只有該服務能讀取的檔案裡;它從不出現在日誌或牆上。

為了不出錯而打造

ZenithBoard 以 root 身分執行、監聽你的網路、並安裝別人的軟體,所以它的設計就是要限制可能出錯的範圍。牆只回應你家的網路,對其他所有人回傳 403,不管有沒有轉發連接埠;要從外部查看,選單會說明如何用 VPN,而不是開放連接埠。每個服務都在 systemd 沙箱中執行,只擁有其工作所需的權限。套件簽章從不停用。Debian 的安全修補可以每天自動安裝。兩個看門狗會重新啟動凍結的東西,而一個 health 指令能在一個畫面裡告訴你一切是否正常。

它需要什麼

一台 Raspberry Pi 3B 或更新、1 GB 記憶體的機器,已實測:在作者的 Pi 3B 上,同時跑 ADS-B Exchange 和它的 MLAT、FlightAware、Flightradar24、牆、統計和 Bluesky 貼文,仍有 656 MB 記憶體可用。Pi Zero 2 W 可以跑接收器和牆,但不含額外的餵送程式。Raspberry Pi OS Lite,64 位元。第一次一小時;之後有新版本時,執行 sudo zenithboard update 即可。

下一步安裝它:github.com/regis57/ZenithBoard