ZenithBoard
Українська

ZenithBoard

Табло з крапок або аеропортове табло з перекидними літерами на старому планшеті, вебконсоль, дописи в Bluesky. Безкоштовно, відкрито, одне меню для всього.

Одним реченням

ZenithBoard перетворює Raspberry Pi та USB-радіобрелок на приймач ADS-B, який передає дані в чотири мережі, і показує літаки просто над вашим будинком на старому планшеті — як світне точково-матричне табло або аеропортове табло з перекидними літерами. Це вільне програмне забезпечення під GPL, і воно щодня працює на власному Pi 3B автора, надворі, через Wi-Fi, у Мозелі.

Точкове табло бурштинового кольору: 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 ГБ пам’яті, виміряно: на Pi 3B автора, з ADS-B Exchange і його MLAT, FlightAware, Flightradar24, табло, статистикою і дописами в Bluesky, 656 МБ пам’яті залишалися вільними. Pi Zero 2 W тягне приймач і табло, без додаткових фідерів. Raspberry Pi OS Lite, 64-бітна. Година першого разу; потім — sudo zenithboard update, коли виходить нова версія.

Наступний крокВстановіть його: github.com/regis57/ZenithBoard