라즈베리파이로 flightradar24 피딩하기(ADS-B)

Dohyun Park·2024년 7월 26일

취미생활

목록 보기
1/1
post-thumbnail

공군 준비를 위해 학교를 휴학해두고, 제주도와 일본 등 간간히 여행 다니며. 그리고 유튜브를 보면서 비행기와 여행에 대한 관심이 커졌다. flightradar24라는 앱을 활용해 비행기를 추적(?)할 수 있는데, 라즈베리파이를 활용하면 직접 데이터를 얻어볼 수 있다고 해서 관심이 생겨 도전하게 되었다.

0. 준비물

뭔가 많아보이지만, 라즈베리파이를 가지고 있다면 ADS-B 수신기와 1090MHz 안테나만 준비하면 끝이다. 나는 ADS-B 수신기와 안테나만 알리익스프레스에서 구매했다.

  • SD카드(최소 8GB, 나는 32GB 샌디스크 SD카드를 사용했다.)

  • 라즈베리파이(3b+ 이상이라고 하는데, 3b로도 잘 동작했다.)

  • 어댑터(5.1V/3A 권장, 전력이 부족하지 않도록 넉넉하게 챙겨주는게 좋다.)

  • ADS-B 수신기

  • 안테나(1090MHz)


    ※ 아래는 프로그램과 라즈베리파이 이미지파일인데, 편의를 위해서 다운로드 바로 가는 링크를 걸어두었다. 에러가 뜨거나 다운로드가 안된다면 직접 구글에서 검색해 다운로드해도 무방하다.

  • SD Card Formatter - 페이지 하단 Agree 누르면 Windows용 프로그램 다운로드

  • balenaEtcher - 자신의 OS/아키텍처에 맞는 버전을 다운로드

  • Pi24 - 라즈베리파이에 플래싱 할 이미지 파일로, zip파일의 압축을 해제하면 .img 파일이 나온다.

1. SD카드 포맷

라즈베리파이에 사용할 SD카드를 이미지 입히기 전에, 먼저 포맷을 해야한다.

SD Card Formatter라는 프로그램을 이용해 라즈베리파이에 이용할 SD카드를 선택하고, 포맷해주면 된다.

2. 이미지 플래싱

SD카드를 포맷한 다음에는, SD카드에 이미지를 플래싱 해야한다.

  • 첫 번째 항목에서 Pi24 이미지파일(아까 다운받은 zip파일에서 압축을 해제하면 .img로 끝나는 파일)을 선택하고
  • 두 번째 항목에선 위에서 SD Card Formatter를 사용해 초기화한 SD카드를 선택한 다음
  • 세 번째 Flash! 버튼을 누르면 된다.

3. (선택) Wi-Fi 정보 입력

라즈베리파이에 전원을 연결하기 전에, 이더넷이 아닌 무선 와이파이를 이용할 예정이라면 아래의 과정을 거쳐 wpa_supplicant.conf 라는 파일을 SD카드에 작성해주어야 와이파이를 이용할 수 있다.

아래 내용에서 SSID와 password만 입력해주면 와이파이를 연결할 수 있다.

country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="wifi_ssid"
psk="wifi_password"
}

3-1. SSH

라즈베리파이에서 키보드와 마우스를 연결하지 않고 사용하려면 Secure Shell(이하 SSH)을 통해 사용해야 한다. 나중에 관리하기도 편하니, 왠만하면 직접 연결하는 것 보다 SSH를 사용하는게 낫다.

간혹 다른 글을 보면 ssh 파일도 만들어야한다는 내용이 있는데, Pi24에서 패치가 된 것인지..? 내가 설치한 다음 바로 SD카드 파일들을 살펴보니 ssh 파일이 있었다.

따라서 SSH를 사용하려면 SD카드 파일에 ssh라는 파일이 있는지 확인하면 된다. txtconf로 끝나는게 아닌 파일이름 자체가 ssh이다. 파일 내용은 없다.

ssh라는 파일이 있는 경우 인터넷에 연결되면 SSH를 통해 연결할 수 있다. 파일이 없다면 메모장을 연 다음 내용은 비워주고 ssh라는 이름으로 SD카드에 저장해주면 된다. 경로는 그냥 SD카드 최상위에 바로 넣어주면 된다.

참고로 SSH는 기본 계정(pi/raspberry)으로 로그인하면 된다.
로그인 후, sudo passwd 명령어를 통해 비밀번호 변경을 권장한다.

4. 부팅

ADS-B 수신기에 안테나를 먼저 연결해주고, USB타입의 ADS-B 수신기를 라즈베리파이에 연결해주고 전원을 인가한다.

부팅 시간이 좀 걸린다. 3-5분정도 기다려보고, 인터넷에 연결되었는지 확인해보면 된다. (직접 HDMI케이블을 통해 화면을 보거나, 공유기 관리페이지/nmap을 사용해서 확인할 수도 있다.)

나는 10분이 지나도 공유기 관리페이지에서 조회도 안되고, nmap 에서도 조회가 안되어 HDMI를 연결해 화면을 보니, 무한부팅..? 하고 있었다.

무한부팅은 전력 부족때문에 발생한 문제였다. 어댑터를 좀 더 좋은 걸 써보니 해결되었다.

어댑터가 충분해도 안되는 경우는 SD카드에 이미지를 다시 플래싱해보는 것도 좋은 방법이다. (1~3 과정 반복)

인터넷에 연결되면 저렇게 IP가 표시된다.

5. flightradar24 연동

라즈베리파이가 연결된 네트워크에 연결된 상태에서 https://flightradar24.com/activate-raspberry-pi 페이지에 접속하면 로그인하라고 뜬다.

로그인 후, 라즈베리파이에 연결된 네트워크와 flightradar24 activate 페이지에 접속한 기기의 네트워크가 동일한 경우 저렇게 activate 버튼이 활성화된 것을 볼 수 있다.activate 버튼을 누르면 지도가 뜨는데, 현재 위치(위도, 경도 고도)를 입력해준 다음 Verify application을 누른다.

.

그러면 이렇게 Everything is OK! 가 뜨면서 리시버를 활성화 할 수 있는 버튼이 뜬다. 저기에 있는 정보가 맞는 경우 Activate receiver를 눌러 활성화해준다.활성화되면, 저렇게 Congraultions! 가 뜨면서 활성화되었다고 뜬다.

활성화가 된 경우, 라즈베리파이의 HDMI 화면에는 저렇게 Radar Code가 뜨는 것을 볼 수 있다.

6. 비행기 관찰하기

참고로 http://라즈베리파이IP주소:8754 로 접속하면 대시보드? 처럼 보이는 페이지에 접속할 수 있다. 여기서는 현재 추적중인 비행기와 추적한 비행기가 얼마나 되는지와 같은 정보 확인 뿐 아니라 설정 변경 기능도 있다.마침 flightradar24 앱을 켜보니 중국에서 인천공항으로 가고있는 동방항공 MU2003편이 근처에 있길래 잘 잡히는지 한번 확인해보았다.

CES2003편이 잘 뜨는 것을 확인할 수 있었다.

flightradar24 앱에서 스크린샷을 찍은 시간과 PC에서 스크린샷을 찍은 시간 차이가 2분 정도 되는데, 거리가 멀어서 앱 스크린샷을 찍을 때는 라즈베리파이에서는 아직 잡히지 않았었다.

7. 어떤 원리로 되는 것일까?

일단 flightradar24 사이트의 경우 ADS-B와 MLAT, 위성 등 여러가지 방법으로 데이터를 수집해 제공하고 있는데, 이 글에서 사용된 방법은 ADS-B이다.

FR24에서 항공기를 추적하는 방법이 궁금하다면, 아래 페이지에 자세히 나와있다.
https://www.flightradar24.com/how-it-works

7-1. ADS-B 방식

ADS-B는 Automatic Dependent Surveillance – Broadcast의 약자로, 항공기와 항공기, 항공기 와 지상 관제기관 사이에 감시 데이터를 공유하여 조종사의 상황인식 능력과 관제사 의 감시 능력을 향상시키는 차세대 항공감시 기술이다. (출처: 한국항공우주연구원)

flightradar24와 같이, 비행기를 추적하는 사이트들은 ADS-B 수신기를 보유한 사용자들에게 직접 수십~수백km 근처 상공의 항공기로부터 항법 데이터를 실시간으로 제공하는 방식으로 운영되고 있다.

간혹 기령이 오래되거나, 일부 항공기들은 ADS-B가 탑재되어있지 않는 경우도 있는데. 이 경우는 ADS-B 방식으로 추적이 불가능하다.

8. 그래서 이걸로 뭘 할 수 있을까?

일단 나는 단순 취미이다!

flightradar24에서는 데이터를 피딩하면 연 499.99달러 상당의 비즈니스 플랜을 제공하긴 한다. 나는 근데 비즈니스 플랜을 얻으려고 하는 건 아니고, 그냥 취미로 한번 해보고 싶었다.

길을 걸으며 비행기 소리가 들리거나, 여행 가면서 비행기가 보일 때 저건 어디로 가는 무슨 비행기지? 하는 호기심으로 종종 flightradar24 앱을 켰었는데, 직접 ADS-B 수신기를 통해 데이터를 수신해보니 뭔가 더 신기했다.

그나저나, 글 쓰다보니 또 여행가고 싶다.. ㅠ

profile
공부한 내용을 기록하고 생각을 정리합니다.

0개의 댓글