飛行機追跡アプリFlightradar24へのADS-Bデータ送信者となり、
ついに、Flightradar24のBusinessプランの特典が付与されました。
今回、Raspberry Piを使いましたが、その設定で、落とし穴というか、私が解決に4時間ぐらいかかった箇所があるので、そこをメモしておきます。
使ったキットは、こちらのものです。
スピードマスタ・シリーズ プロの技術を1日で!実習キット付きVOD [VOD/Pi4 KIT]世界の航空機を同時追跡!Flightradar24 ラズパイ・キット
Raspberry Piのキット付きの教材で、
Raspberry Piほか、アンテナなども揃った状態で送られてくるので、初心者には優しいと思います。
Flightradar24の設定大まかな手順として
- Raspberry Piの組み立て:アンテナと基盤をつなぐ
- Raspberry Piに、Flightradar24モジュールソフトをいれる
- Raspberry Piの起動
- Flightradar24モジュールの稼働確認
- 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に相談しながら、解決した方法です。他にも解決方法があると思います。
同じような症状で困っている人の参考になれば、幸いです。