Raspberry Piで航空機のADS-Bを受信してみました “デバッグ環境 まさかの故障->Raspbian再インストール” (7)
“Raspberry Piで航空機のADS-Bを受信してみました “NooElec R820T SDR & DVB-T MESDR Mini dump1090” (1)”
“Raspberry Piで航空機のADS-Bを受信してみました “IPアドレス固定化 ラズパイ環境整備 NTP RealVNC” (2)”
“Raspberry Piで航空機のADS-Bを受信してみました “macOS環境でADS-B信号のフィードにトライ” (3)”
“Raspberry Piで航空機のADS-Bを受信してみました “FR24 Feeder/Decoder フィード自動起動” (4)”
“Raspberry Piで航空機のADS-Bを受信してみました “SDR ADS-B 1090MHz 受信用アンテナ ssmtp mailutils mpack twython” (5)”
“Raspberry Piで航空機のADS-Bを受信してみました “無線LAN拡張 AirMac Express フレキシブルアーム” (6)“の続きです。
(1) デバッグ用のRaspberry Piを用意する
最初に買ったRaspberry Piは、羽田空港に近いリビングルームに設置して、”FR24 Feeder/Decoder”でADS-B信号を常時フィードしているので、いろいろ試してみたい機能が目白押しだったりするので、このタイミングで、デバッグ用のRaspberry Piをもう1台購入することにしました。
(a) 今回追加で購入したモノ
購入したモノは前回と同じ、
“Raspberry Pi3 Model B ボード&ケースセット 3ple Decker対応 (Element14版, Clear)-Physical Computing Lab”
“Raspberry Piスターターパック (Economy) – Pi3検証済“です。
こちらの製品にした理由は、Raspberry Piを箱から出して、すぐに使えるようなセット構成になっているからです。なかでも、ヒートシンクとRaspbianがプレインストール済のマイクロSDカードが同封されているところが良いですよね。
で、これから暑い季節になっていくので、試しに、CPUとLANコントローラにヒートシンクを付けてみました。ちなみに、ネットで調べてみると、ヒートシンクを付けても、あまり大きな成果は期待できないようなので、時間が出来た時に、ファンを工作してみようと思っています。
それから、デバッグ用なので、出来るだけリビングルームと同じような環境にしておきたかったので、たまたまアマゾンのタイムセールで7百円で販売していた”BESTEK スマホ iPhone 用クリップ式 フレキシブルアーム ホルダー BTIH750N“を購入して、リビングルームと同じようなスタイルで、Raspberry Piをセッティングしてみました。ちなみに、色違いですが、前回買った”ノーブランド品 スマートフォン iPhone 携帯 電話 用 クリップ 式 フレキシブルアーム スタンド ホルダー 360度 回転 角度 調節 可能 卓上 デスク ベッド 車 適用“と同じスペックなような気がします。
それと、デバッグと予備、両方の目的で、米国アマゾンで”NooElec R820T SDR & DVB-T MESDR Mini“も1 台追加購入しました。
余談ですが、前から一度試してみたかった”FlightAware Pro Stick Plus“も入手できたので、いずれ性能面の比較もしてみたいと思っています。
(b) セットアップしてみたんだけど…
2台目のRaspberry Piなので、基本的なセットアップ作業をサクサク進めていきます。
まずは、Raspberry Piのファームウェアとソフトウェアを最新版にアップデート。
“sudo rpi-update”
“sudo apt-get update”
“sudo apt-get upgrade”
ただ、1台目のRaspberry Piではなかった現象として、途中、何度かエラーが発生してアップデート処理が中断してしまいます。
よくよくチェックしてみると、どうもWi-Fiネットワークの受信レベルが安定していないみたいなんです。時々、ネットワークが切れてしまい、”wlan0 disassociated from xxxxx eth0 link is down”というポップアップが表示されます。
(c) Raspberry Piのホスト名を変更してIPアドレスを固定化
Raspberry Pi側で”ifconfig”してみると、IPアドレスがローカルなものではないので、やっぱり何か変。
続いて、macOS側の”AirMac ユーティリティ”で、クライアントの接続状態を確認してみると、あれ、増設したRaspberry Piがどこにもいないぞ!
昔、勉強したネットワークの基本をもう一度思い出しながら対策を考えてみると、あ、そうか!ホスト名が2台とも同じじゃん!
ということで、Raspberry Pi側の”Raspberry Piの設定”で、ホスト名を変更してリブート。
リブート後、もう一度チェックしてみると、ちゃんとローカルIPの範囲でアサインされています。
macOS側でも確認してみると、確かに、増設したRaspberry Piが見えるようになったのですが、書斎からは距離があるリビングルームに設置した”AirMac Express”に繋がっちゃっている。んんん、なぜ、わざわざ遠い場所にあるルーターに接続しちゃうんだろう?ローミングネットワーク構成の場合、接続したいルーターのチョイスって、どうやればいいのかなあ?んんん、また課題がひとつ増えてしまいました。
課題は残るものの、まずは先に進むために、IPアドレスの固定化を行ったうえで、”SSH“、”SFTP“、”RealVNC“のセットアップを行いました。
これで、デバッグ用のRaspberry Piを使って、いろいろ試せる環境が整いました。
(2) Raspberry Piが起動しなくなってしまいました…
さて、GWも過ぎ、生活リズムも戻ってきたので、デバッグ用のRaspberry Piを使って、ここのところ、Raspberry Pi用に買ったモノをボチボチ試しておこうかなあ、と思い、Raspberry Piを電源オン。あれれ、LEDが赤く点灯したままで、Raspberry Piが起動しないじゃないですか!!
もしかして、マイクロSDカードの不具合?と思い、macOS側で読み込ませてみたところ、一応、読み込み自体は問題なさそうだけどなあ?ちなみに、容量が66MBと極端に少なく表示されるのは、購入したマイクロSDカードがRaspbian OS用にパーティションが切られているため。
このままじゃあ、何ともしようがないので、まずは、アマゾン経由で”Physical Computing Lab“に、現象を伝えて対応方を問い合わせすることにしました。
回答が来るまで、2日ほどかかるということなので、Raspberry Piで動作実績のあるマイクロSDカードを”こちら“でチェックしたうえで、”Samsung microSDHCカード 32GB EVO Plus Class10 UHS-I対応 (最大読出速度95MB/s:最大書込速度20MB/s) Nintendo Switch 動作確認済 MB-MC32GA/ECO“を購入して、自分でブート用の環境を構築して、新しいマイクロSDカードでブートできるかどうか試してみることにしました。ま、作ったマイクロSDカードは、仮に無駄になってしまうかもしれませんが、やはりバックアップはあった方が後々いいかなあ、という感じ。
以下の手順で、真っさらのマイクロSDカードに、Raspberry Piをインストールする専用マネージャ”New Out Of Box Software (NOOBS)”あるいは”Raspbian”をセットアップしていきますが、macOS環境で作業する最も簡易的な手順を解説してくれているサイトが見つからなかったので、今回は、Raspberry Piの”公式サイトのドキュメント“を見ながら作業を進めていきました。
(a) 最新の”Raspbian”をダウンロードする
“こちら“から、最新の”NOOBS”あるいは”Raspbian”のZIPファイルをダウンロードします。
“NOOBS”をダウンロードした場合は、ZIPファイルを解凍して、その中身をマイクロSDカードにコピー後、Raspberry PiにマイクロSDカードを装填。Raspberry Piの電源を入れた後、画面の指示に従って、”Raspbian”をインストールする、といった手順になります。こちらの方法は、とにかく難しいコマンド投入の必要がなく、かつ”Raspbian”以外のOSインストールも簡単にできるということで、初心者には最適といった感じです。
今回は、”Raspbian”単体をマイクロSDカードにセットアップしていきます。恐らく、当初はコマンド投入を伴う作業手順だったため、書籍や雑誌などではあまり推奨していないのかもしれませんが、今回、やってみた手順は、2つのアプリを使った安心楽ちんな内容でした。個人的には、特段、”NOOBS”への拘りがないのであれば、こちらの手順をオススメします。だって、簡単なので。
ダウンロードしたZIPファイルは、解凍せず、そのままにして、次の手順に進みます。
(b) マイクロSDカードを初期化する
macOSの場合は、”こちら“から”SD/SDHC/SDXC用SDフォーマッター4.0″というアプリをダウンロードして初期化してもいいし、
macOSに標準で付いている”ディスクユーティリティ”を使ってもよいそうです。
ま、今回は、新品のマイクロSDカードを購入したので、敢えて初期化は不要な気もしたんですが、ここは念のために、”SDカードフォーマッター 4.0″を使って初期化しておきます。
(c) マイクロSDカードに”Raspbian”をセットアップする
マイクロSDカードに”NOOBS”をセットアップ(imageファイルを生成)する方法は、大きく分けて2通りあるそうです。
1つ目の方法は、ネット検索するとすぐにヒットするコマンドラインを使うやり方で、公式ドキュメントを参照したい場合は、”こちら“を見て下さい。えーっと、Windows環境だったら”こちら“。
2つ目の方法は、”Etcher“というアプリにお任せするやり方です。
POOHは、当然、”Etcher”を使う方法をチョイスしました。
操作手順はとても簡単で、マイクロSDカードをマウントした状態で、先程ダウンロードしたZIPファイルを選択し、”Flash!”ボタンをクリックするだけ。
およそ5分ぐらいで処理が完了し、
その後、検証プロセスが実行され、
作業完了となります。これなら、だれでもできそうですね。
(d) 作成したマイクロSDカードをRaspberry Piに装填してみる
上記の手順で作成したマイクロSDカードをRaspberry Piに装填してみたのですが、やはり現象は改善されず、LEDが赤く点灯したままダンマリ。
(e) 商品の交換をリクエストしてみる
ま、細かい原因は分かりませんが、少なくとも、Raspberry Pi本体に何らかの不具合があることだけは判明したので、アマゾンを通じて、問い合わせと返品リクエスト(個人的には交換を希望)の手続きを行いました。
販売元がアマゾンではない場合、購入ページの”この商品は、xxxxxが販売し、”の”xxxxx”部分をクリックすると、
こんなページに切り替わるので、このページの”質問する”ボタンをクリックすれば、販売元とアマゾン両方にメッセージを送ることができます。
今回は、念のため、注文履歴のページから、返品リクエストもしておきました。ただ、この時、返品が主旨ではなくて交換してほしいんだけど、という旨をちゃんと伝えておかないと、先程送ったメッセージとの整合性がとれなくなり、面倒なことになるかも。
今回は、こちらの意図がちゃんと伝わり、メッセージを送った翌日、販売元のご担当者さんから、交換手続きを行います、というご連絡を頂きました。で、返品リクエストの方は、この場合、販売元の方でキャンセルしてくれます。
こういうことを経験すると、やはり精密機器は、ちゃんと新品をお店で購入しないとだめだなあ、と思いました。仮に、安いからと言って、ヤフオク等で中古品を調達すると、不具合があっても、迅速かつ親身に対応してくれる可能性が低くなりますものね。
(f) 交換品をチェックしてみる
ご担当者から連絡を頂いた翌日、交換品が届きました。
早速、電源オンで、動作確認をしてみました。最初に気づいたことは、不具合品だとホスト名を変えないとWiFi接続が安定しなかったのに、交換品の方はホスト名を変更しなくても、ちゃんと書斎に置いてあるプライマリのベースステーションに接続でき、しかも通信も安定している感じ。ただ、後々。ややこしくなるので、ホスト名は変更しておきました。
続いて、アプリとファームウェアを最新版にアップデートした後、リブート。ここまで問題なし。
同様に、上記の手順で自分で作成した起動用のマイクロSDカードに挿し替えて動作確認したみました。こちらも問題なし。余談ですが、マイクロSDカードは高速まスペックのものの方が、全体的な処理時間が短縮される感じがしました。そういう意味では、”Samsung microSDHCカード 32GB EVO Plus Class10 UHS-I対応 (最大読出速度95MB/s:最大書込速度20MB/s) Nintendo Switch 動作確認済 MB-MC32GA/ECO“は正解だと思います。
(g) macOSからリモートログインを試してみる
“VNC“と”SFTP“を使ったリモートログインは問題なかったのですが、”SSH“でアクセスしてみると、”Host key verification failed.”というエラーで接続できなくなってしまいました。
原因は、仮想マシンを再作成した際に、クライアントである macOSに保存した”RSA” 鍵がサーバ側の鍵と照合できなくなったことによりログインに失敗してしまったそうです。
対処としては、macOS のターミナルで”rm ~/.ssh/known_hosts”を実行して、ホスト鍵の情報を削除し、再度 ログインすればOKとのこと。再度 ログイン時に、新しいホスト鍵の生成に関する確認メッセージが表示されますが、”yes”でOK。
続いて、何も変更を加えていない”Raspberry Pi”にSSHログインしてみたところ、今後は、”macOS Could not resolve hostname xxxxxx.local: nodename nor servname provided, or not known SSH”というエラーが表示され、ログインに失敗。こちらは、”AirMac ユーティリティ”でチェックしてみたところ、”Raspberry Pi”のホスト名(ノード名かな?)が変更されていたことが原因でした。変更された理由は分かりませんが、ホスト名を変更になったものと入れ替えて、再度ログインしたら、問題なくアクセスできました。それにしても、ネットワークって、何かと面倒くさいなあ。
(h) 一旦電源オフした後、再度起動すると、やはり赤いLEDが点灯したままに
これで問題解決!と思い、一旦、Raspberry Piの電源をオフし、念のため、もう一度電源オンしてみたところ、やはり赤いLEDが点灯したまま起動しない、という現象が再発してしまいました。
ただ、以前と違う点は、電源をオフした後、HDMIケーブルを抜き差しすると、Raspberry Piは問題なく起動してくれます。んんん、最初に買ったRaspberry Piでは、こんな現象には遭遇しなかったのになあ。ま、とりあえず、テンポラリーな対応方法は分かったので、購入元のご担当者に、この件も伝えたうえで、何らかのリアクションを待ってみることします。ちなみに、不具合品は販売元に返送したので、不具合の原因も後日教えてもらえるといいですけどね。
(i) 返品後のレスポンス->不具合品ではなかった模様
不具合品を返品後、販売元のご担当者さんから、迅速なレスポンスを頂きました。
「不具合品のご返送ありがとうございました。
本日到着いたしました。
こちらで確認したところ特に問題なく起動しました。
詳しい原因はわかりかねますが、ケーブルや電源などの環境が
あっていないのかもしれません。
お力になれず恐縮ですが何卒宜しくお願い致します。」
ということで、不具合の原因は、どうもPOOHサイドの環境上の問題だったようです。現時点で考えるのは、HDMIケーブルあるいはディスプレイだと思います。ただ、最初に購入したRaspberry Piでは、今回TALKしたような現象が発生しなかったので、もしかすると、Raspberry Piのロットなどの違いで、周辺環境との相性の違いがあるのかもしれません。いずれにしても、時間がある時に、HDMI周りを交換してみて、Raspberry Piの動作確認をしてみたいと思っています。
Raspberry Pi 3 Model B (日本製) |
【ラズベリー・パイ】Raspberry Pi 3 Model B 日本製 アールエスコンポーネンツ 国内正規代理店品 |
Raspberry Pi Raspberry PI3 B ELEMENT14パッケージ【RASPBERRYPI3MODELB】 |
ホームページ”THE POOH FILES”にも是非お立ち寄り下さい。