thumbnail

解決に4時間かかった!Flightradar24へのADS-Bデータ送信でRaspberry Piでの設定の注意点

 飛行機追跡アプリFlightradar24へのADS-Bデータ送信者となり、

ついに、Flightradar24のBusinessプランの特典が付与されました。


今回、Raspberry Piを使いましたが、その設定で、落とし穴というか、私が解決に4時間ぐらいかかった箇所があるので、そこをメモしておきます。

使ったキットは、こちらのものです。

スピードマスタ・シリーズ プロの技術を1日で!実習キット付きVOD [VOD/Pi4 KIT]世界の航空機を同時追跡!Flightradar24 ラズパイ・キット

Raspberry Piのキット付きの教材で、

Raspberry Piほか、アンテナなども揃った状態で送られてくるので、初心者には優しいと思います。

Flightradar24の設定大まかな手順として

  1. Raspberry Piの組み立て:アンテナと基盤をつなぐ
  2. Raspberry Piに、Flightradar24モジュールソフトをいれる
  3. Raspberry Piの起動
  4. Flightradar24モジュールの稼働確認
  5. Flightradar24サイトでのアカウント紐づけ

といった流れです。細かい内容は、上教材を購入して見ていただければと思います。


今回、4時間かかったのは「3.Raspberry Piの起動」で、具体的には「wifiにつながらない」(IPアドレスが取得されない)の対処でした。それ以外は、全く問題なく進めました。

手順書には、
Flightradar24モジュールソフトをダウンロードした際に一緒にダウンロードされる「wpa_supplicant.conf」という設定ファイルに、wifiのSSIDやパスワードを書き込み、Flightradar24モジュールソフトを入れたSDカードの中に入れて起動すると、wifiがつながるはずが、何度やってもつながらない。


インターネットにつなっているのかどうかRaspberry Piの症状確認


まず、Raspberry Piのネット状況がどうなっているのかを確認します。
sudo ifconfig

 私の場合、wifiにつながっていませんでした。

SDカードにいれた「wpa_supplicant.conf」ファイルの設定内容は、こんなもので、打ち間違いや文字コードが違うのかと、いろいろと試しましたが、ダメでした。

country=JP

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1


network={

    ssid="YOUR_SSID"

    psk="YOUR_PASSWORD"

}


Raspberry Piのネットワーク設定

いろいろと調べてみると、SDカードに書き込んだはずの「wpa_supplicant.conf」の内容が反映されていないようです。
そこで、システムでの設定ファイルを変えることにします。

sudo mkdir /mnt/sdcard

sudo mount /dev/mmcblk0p1 /mnt/sdcard

sudo cp /mnt/sdcard/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf

SDカードをマウントして、SDカードの中の「wpa_supplicant.conf」を、システムの設定ファイルの「wpa_supplicant.conf」 に上書きします。

Raspberry Piは、SDカードはハードディスク代わりに使っているので、マウントしなとも、ファイルを見に行けるのかもしれませんが、ファイル場所が見つけられず、マウントしました。「mount」コマンドは古いと、システムアラートが出ましたが、ファイルを見に行けるようになりました。

ネットワークを再起動します

sudo systemctl restart networking

それでもwifiがつながりません。

wpa_supplicantサービスが正しく動作しているか確認します。

sudo systemctl status wpa_supplicant

どうも、wlan0インターフェースは存在するのですが、本来はここにIPアドレスが付与されるのですが、うまくいっていないようでした。その設定をしていきます。

ls /etc/network/interfaces.d/

sudo nano /etc/network/interfaces.d/wlan0.conf

私の場合、/etc/network/interfaces.d/ディレクトリ内にはファイルがありませんでした。 

/etc/network/interfaces.d/ディレクトリ内に「wlan0.conf」ファイルを作り、以下のように記述します。(「nano」というlinux系のテキストエディターを使いますが、画面下に操作方法が出ていると思います。Ctrl+Xで終了し、Yキーで保存を確認します)

auto wlan0

iface wlan0 inet manual

    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf


再度、ネットを再起動します。

sudo systemctl restart networking 

sudo ip link set wlan0 up  

sudo dhclient wlan0  

sudo reboot

これでインターネットとつながり、IPアドレスが取得されるようになりました。

ただ、Raspberry Piの電源を切って、再度立ち上げると、IP を拾わず、「sudo dhclient wlan0 」を行わないと、うまくいきません。

そこでシステム起動時、自動的にそのコマンドを送るようにしました。

/etc/rc.localファイルを編集して、起動時にコマンドを実行するように設定します

sudo nano /etc/rc.local

以下の内容にします。 

 # DHCPクライアントをリスタート

sudo dhclient wlan0

exit 0


今回のは、インターネットを調べても、ドンピシャな解決方法が見つけられず、chatGPTに相談しながら、解決した方法です。他にも解決方法があると思います。


同じような症状で困っている人の参考になれば、幸いです。

No Comments