Tự xây dựng máy theo dõi các chuyến bay trên Raspberry Pi

Bạn có thể tạo ra đủ loại dự án thú vị khi kết nối Raspberry Pi với một thiết bị USB Software Defined Radio (SDR) giá rẻ kết nối USB. Về cơ bản, SDR là một bộ thu sóng vô tuyến có thể thu tín hiệu từ nhiều tần số khác nhau, bao gồm truyền hình kỹ thuật số, phát thanh AM, FM, DAB và dữ liệu vệ tinh thời tiết.

Hướng dẫn này tập trung vào thông tin được truyền đi bởi các bộ phát đáp được lắp đặt trên máy bay bay trên cao sử dụng Hệ thống Giám sát Tự động Phụ thuộc – Phát sóng (ADS-B). Các hệ thống điện tử hàng không này cung cấp thông tin nhận dạng và độ cao cho các hệ thống Kiểm soát Không lưu trên mặt đất và Hệ thống Tránh Va chạm Giao thông trên các máy bay khác. Hãy lắng nghe để hiểu sâu hơn về một thế giới mà tất cả chúng ta đều coi là điều hiển nhiên.

Trong hướng dẫn này, bạn sẽ hợp tác với những người đam mê hàng không khác và đóng góp cho Flightradar24, đơn vị vận hành mạng lưới máy thu ADS-B/Mode S lớn nhất thế giới. Mạng lưới này, cùng với hệ thống kiểm soát không lưu của chính phủ và các nguồn dữ liệu khác, theo dõi máy bay trên toàn cầu.

Cần có

  • Bo mạch Raspberry Pi (chắc chắn rồi)
  • Bộ nguồn cho Raspberry Pi (adaptor)
  • Thẻ MicroSD
  • Bộ Adapter chuyển microSD sang SD nếu máy bạn chỉ có đầu SD
  • USB ADS-B receiver

Để cài đặt hệ điều hành vào thẻ nhớ, bạn cần:

  • Một máy tính còn hoạt động

Chọn đúng bo mạch Raspberry Pi

Với bo mạch càng nhanh, mạnh thì hiệu năng bạn nhận được càng cao. Trong bài viết này, chúng tôi dùng Raspberry Pi 3 Model A+

Chọn bộ thu ADS-B phù hợp
Đối với bộ thu ADS-B USB, bạn có thể mua bất kỳ thiết bị USB nào sử dụng chip RTL2832/R820T2 có sẵn tại địa phương hoặc từ nhà bán lẻ trực tuyến yêu thích của bạn. Giá thường bắt đầu từ khoảng 20 đô la. Hướng dẫn này sử dụng Bộ thu USB RTL-SDR, DVB-T & ADS-B NESDR Mini (TV28T v2).

Cài đặt hệ điều hành Pi24
Tải xuống file hệ điều hành Raspberry Pi đã được chuẩn bị sẵn từ flightradar24.com bằng cách nhấp vào nút “Download Pi24” màu xanh lam:

Cấu hình cho Raspberry Pi

Để bắt đầu, bạn cần cài đặt hệ điều hành cho Rasperry Pi , đối với file hệ điều hành, bạn chọn Use custom, và chọn fr24-raspberry-pi-latest.zip mà bạn vừa mới download về.

Trong suốt quá trình tùy chỉnh, bạn thiết lập như sau:

  • Nhập hostname  theo ý bạn (chúng tôi gợi ý pi-flighttracker cho hướng dẫn này)
  • Nhập username và password; Bạn cần nó để xác thực sau khi cài xong
  • Nhấn vào ô Configure wireless LAN để Pi có thể tự động kết nối Wifi
  • Nhập thông tin Wifi bao gồm SSID (name) và password;
  • Nhấn luôn vào ô Enable SSH để bạn có thể kết nối Pi mà không cần chuột với bàn phím gắn trực tiếp vào Pi

Cài đặt Raspberry Pi

Rút nguồn Raspberry Pi, cắm thẻ nhớ , cắm USB Wifi vào. Cuối cùng, cắm nguồn cho Raspberry Pi và Pi sẽ tự động bật.

Điều khiển từ xa Raspberry Pi

SSH cho phép bạn điều khiển từ xa Raspberry Pi, sử dụng chính chuột và bàn phím từ máy tính bạn đang điều khiển.

Kết nối bằng SSH

Sử dụng chương trình có hỗ trợ SSH như Puty, sau đó kết nối với Raspberry Pi của bạn và nhập user name pasword đã cấu hình ở trên:

$ ssh <username>@pi-flighttracker.local
$ ssh <username>@pi-flighttracker.local
The authenticity of host 'pi-flighttracker.local (fd81:b8a1:261d:1:acd4:610c:b069:ac16)' can't be established.
ED25519 key fingerprint is SHA256:s6aWAEe8xrbPmJzhctei7/gEQitO9mj2ilXigelBm04.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/
[fingerprint])? yes
Warning: Permanently added 'pi-flighttracker.local' (ED25519) to the list of known hosts.

<username>@pi-flighttracker.local's password:
Linux pi-flighttracker 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Oct 26 09:41:00 2023
<username>@pi-flighttracker:~ $

Bây giờ bạn đã kết nối với Raspberry Pi, hãy chạy hai lệnh để đảm bảo rằng tất cả các gói của bạn đều được cập nhật:

$ sudo apt update
$ sudo apt full-upgrade

Sau khi lệnh cập nhật gói chạy xong, hãy khởi động lại Raspberry Pi để mọi thay đổi có hiệu lực:

$ sudo reboot

Chạy lệnh này sẽ ngắt kết nối bạn khỏi phiên SSH của Raspberry Pi. Đợi vài giây để Raspberry Pi khởi động lại và nhập lại lệnh kết nối ssh để kết nối lại với thiết bị.

Thiết lập Flightradar24
Bước đầu tiên là tạo tài khoản Flightradar24 bằng địa chỉ email và mật khẩu bạn chọn:

Tắt nguồn Raspberry Pi.

Tiếp theo, kết nối bộ thu USB ADS-B vào cổng USB trên Raspberry Pi. Kết nối ăng-ten bằng cách cắm nó vào cạnh bên của bộ thu. Bạn sẽ cảm thấy một tiếng tách nhẹ khi gắn đúng cách:

Bật lại Raspberry Pi của bạn. Kết nối SSH trở lại Raspberry Pi:

$ ssh <username>@pi-flighttracker.local

Để thiết lập trình theo dõi chuyến bay, hãy chạy lệnh sau:

$ sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)"

Sau một thời gian thiết lập ngắn, màn hình chào mừng và một số hướng dẫn sẽ xuất hiện, tiếp theo là bước cấu hình đầu tiên trong một loạt các bước sau:

Welcome to the FR24 Decoder/Feeder sign up wizard!

Before you continue please make sure that:

 1 - Your ADS-B receiver is connected to this computer or is accessible over network
 2 - You know your antenna's latitude/longitude up to 4 decimal points and the altitude in feet
 3 - You have a working email address that will be used to contact you
 4 - fr24feed service is stopped. If not, please run: sudo systemctl stop fr24feed

To terminate - press Ctrl+C at any point

Step 1.1 - Enter your email address ([email protected])

Để tiếp tục, hãy chỉ định vị trí thiết bị của bạn.

Bạn có thể lấy tọa độ vĩ độ và kinh độ từ LatLong.net, bằng cách tìm kiếm tên địa điểm hoặc bằng cách điều hướng trên bản đồ tương tác. Tìm tọa độ của bạn đến bốn chữ số thập phân (ví dụ: 52,2048, 0,1304 đủ gần để đưa bạn đến một quán rượu sang trọng ở Cambridge):

Bạn có thể lấy thông tin độ cao từ whataltitude.com. Nếu bạn sử dụng trang web này lần đầu tiên, bạn có thể được nhắc bật dịch vụ định vị cho trình duyệt để truy cập vị trí địa lý của mình:

Bây giờ đã đến lúc hoàn tất trình hướng dẫn FR24. Nhập địa chỉ email bạn đã dùng để đăng ký tài khoản Flightradar24:

Step 1.2 - If you used to feed FR24 with ADS-B data before, enter your sharing key.
If you don't remember your sharing key, you can find it in your account on the website under "My data sharing".
https:&#47;&#47;www.flightradar24.com/account/data-sharing

Otherwise leave this field empty and continue.
$:

Để trống Bước 1.2 vì chúng ta chưa sử dụng dịch vụ này trước đây và tiếp tục.

Step 1.3 - Would you like to participate in MLAT calculations? (yes/no)$:

MLAT, hay multilateration, là quá trình xác định vị trí và hướng đi của máy bay bằng cách phân tích chênh lệch thời gian giữa các lần nhận tín hiệu vô tuyến từ máy bay. Vì bộ phát đáp ADS-B không được trang bị trên tất cả các máy bay, đặc biệt là các máy bay cũ, Flightradar24 tính toán vị trí máy bay bằng cách sử dụng dữ liệu từ ba hoặc nhiều máy thu cộng đồng khác. Trong hướng dẫn này, chúng tôi sẽ tham gia, vì vậy chúng tôi sẽ trả lời “có” để tiếp tục.

Tiếp theo, hãy nhập thông tin vĩ độ, kinh độ và độ cao mà bạn vừa tra cứu:

Step 3.A - Enter antenna's latitude (DD.DDDD)
$:52.XXXX

Step 3.B - Enter antenna's longitude (DDD.DDDD)
$:0.XXXX

Step 3.C - Enter antenna's altitude above the sea level (in feet)
$:39

Using latitude: 52.XXXX, longitude: 0.XXXX, altitude: 39ft above sea level

Validating email/location information...OK

The closest airport found is ICAO:EGSC IATA:CBG near Cambridge.

Latitude: 52.205002
Longitude: 0.175000
Country: United Kingdom

Flightradar24 may, if needed, use your email address to contact you regarding your data feed.

Would you like to continue using these settings?

Enter your choice (yes/no)$:yes

Trình hướng dẫn sẽ hiển thị thông tin chi tiết về sân bay gần nhất với bạn, sau đó là yêu cầu cuối cùng để xác nhận cài đặt của bạn. Nhập “có” để tiếp tục.

Tiếp theo, bạn cần xác nhận loại phần cứng đầu thu bạn đang sử dụng. Trong hướng dẫn này, chúng ta cần chọn 1 – DVBT Stick (USB):

Step 4.1 - Receiver selection (in order to run MLAT please use DVB-T stick with dump1090 utility bundled with fr24feed):

 1 - DVBT Stick (USB)
 -----------------------------------------------------
 2 - SBS1/SBS1er (USB/Network)
 3 - SBS3 (USB/Network)
 4 - ModeS Beast (USB/Network)
 5 - AVR Compatible (DVBT over network, etc)
 6 - microADSB (USB/Network)

Enter your receiver type (1-7)$

Các bước thiết lập còn lại liên quan đến các chức năng nâng cao hơn, vì vậy chúng ta sẽ bỏ qua chúng để bắt đầu với thiết lập cơ bản.

Trong Bước 4.3, bạn có thể cung cấp thêm các đối số dump1090 mô tả cách dữ liệu mà thiết bị của bạn nhận được được xử lý. Để trống mục này.

Đối với Bước 5.1 và 5.2, liên quan đến việc xuất dữ liệu từ thiết bị sang thiết bị hoặc chương trình khác, hãy trả lời là không.

Bước 6 cho phép tạo tệp nhật ký. Tắt tính năng này bằng cách nhập 0.

Enter your receiver type (1-7)$:1
Checking for dump1090...FOUND

Step 4.3 - Enter your additional dump1090 arguments or leave empty
$:

Step 5.1 - Would you like to enable RAW data feed on port 30002 (yes/no)$:no

Step 5.2 - Would you like to enable Basestation data feed on port 30003 (yes/no)$:no

Step 6 - Please select desired logfile mode:
 0 -  Disabled
 1 -  48 hour, 24h rotation
 2 -  72 hour, 24h rotation
Select logfile mode (0-2)$:0

Tiếp theo, trình hướng dẫn sẽ gửi dữ liệu biểu mẫu và đăng ký thiết bị của bạn:

Submitting form data...OK

Congratulations! You are now registered and ready to share ADS-B data with Flightradar24.
+ Your sharing key (00013e5bf0d25b8d) has been configured and emailed to you for backup purposes.
+ Your radar id is T-EGTC8, please include it in all email communication with us.
+ Please make sure to start sharing data within one month from now as otherwise your ID/KEY will be deleted.

Thank you for supporting Flightradar24! We hope that you will enjoy our Premium services that will be available to you when you become an active feeder.

To start sending data now please execute:
sudo systemctl start fr24feed

Saving settings to /etc/fr24feed.ini...OK
Installation and configuration completed!

Xin chúc mừng, giờ bạn đã có một trình theo dõi chuyến bay hoạt động. Hãy ghi lại khóa chia sẻ và ID radar của bạn.

Xem dữ liệu theo dõi máy bay
Điều kỳ diệu của dự án này giờ đây đang diễn ra ở hậu trường: máy thu của bạn giờ đã có thể gửi dữ liệu. Hiện tại, chỉ cần đảm bảo ăng-ten của bạn ở gần cửa sổ có thể nhìn thấy bầu trời.

Hình ảnh hệ điều hành Flightradar24 dành cho Raspberry Pi có một máy chủ web tích hợp rất tiện lợi; nghĩa là, nó sẽ lưu trữ một trang web nhỏ trên mạng cục bộ của bạn để bạn xem tất cả thông tin mà trình theo dõi chuyến bay của bạn thu thập. Để truy cập thông tin này, hãy truy cập pi-flighttracker.local/dump1090/gmap.html.

Nhấn Enter và bạn sẽ thấy chế độ xem trực tiếp dữ liệu đang được thu thập. Nhấp vào từng máy bay để biết thêm thông tin về từng máy bay:

Vậy đó chính xác là những gì thiết bị của bạn đang làm. Truy cập flightradar24.com và đăng nhập vào tài khoản của bạn để xem thông tin từ tất cả các máy thu trong khu vực của bạn: