Raspberry Piで航空機のADS-Bを受信してみました “USBポートの制御 hub-ctrl ミニ扇風機” (10)
“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)”
“Raspberry Piで航空機のADS-Bを受信してみました “デバッグ環境 まさかの故障->Raspbian再インストール” (7)”
“Raspberry Piで航空機のADS-Bを受信してみました “状態の定期チェック Postfix cron USB温度計 temper” (8)”
“Raspberry Piで航空機のADS-Bを受信してみました “カメラ監視 LOGICOOL C270 MJPG-streamer monitor fswebcam” (9)“の続きです。
(1) CPUの高温対策の一環としてUSBポート接続用のミニ扇風機をコントローラしてみる
夏場に近づいてくると、気になるのは、Raspberry Piに実装されているCPU温度の上昇。Raspberry Piには、パソコンみたいなファンが付いているわけではないので、温度が高くなってくると、CPUの熱暴走などが心配だったりします。
そこで、先日作成したcronを使った状態の定期チェックのなかでCPU温度は把握できるので、Raspberry PiのUSBポートに接続した扇風機で、Raspberry Piの周辺を冷やすことができないかなあ?と思い、今回、トライしてみました。
(a) まずミニ扇風機を買ってみる
USBポートから電源を供給するタイプの扇風機は、巷でゴロゴロ販売されているのですが、今回は、以下の条件を満たした製品を探しました。
・USBポートから供給する電源のオンオフだけで、扇風機が回ったり停止する仕様の製品であること。なかには、タッチセンサー等でオンオフする製品もあるのですが、そういったモノですと、そもそもUSBポートの制御だけでは扇風機をオンオフできないので、兎にも角にもシンプルな仕様の製品であること。
・リビングルームに設置するので、動作音が静かであること。これは、とても重要なポイントです。
・そこそこの風力がある製品であること。ちなみに、今回チョイスした製品は、電源スイッチで風力を2種類選択できるタイプで、強の場合は、それなりの風力です。
・リビングルームに設置してあるRaspberry Piはフレキシブルアームを使って固定しているので、扇風機本体を普通に置くスペースがないため、フレキシブルアームと同様、クリップで固定できるタイプの扇風機であること。
・これは我が家に限ったことですが、リビングルームのカラーが白基調なので、白い扇風機であること。
以上の条件を満たしていて、かつ安価な製品ということで、”Keynice USB扇風機 卓上 クリップ型 静音 USBケーブル1.5m ミニ扇風機 風量2段階調節 360度角度調整 4枚羽根 USBファン – ホワイト“を購入しました。
こんな感じです。
余談ですが、こちらの商品をアマゾンで購入すると、999円相当のスマホ用車載ホルダーがオマケで付いてきます。ま、モノによる値引きっていう感じ。
車に乗っている時、iPhoneの置き場がなくて困っていたので、こんなオマケ、意外と役に立ちそう。
(b) USBポートの電源オンオフを制御する”hub-ctrl”をインストールしてみる
“AC Power Control by USB Hub“で公開されている”hub-ctrl”を以下の手順でインストールします。インストール作業は短時間で終わります。
sudo apt-get install libusb-dev
wget http://www.gniibe.org/oitoite/ac-power-control-by-USB-hub/hub-ctrl.c
gcc -O2 hub-ctrl.c -o hub-ctrl-armhf-static -lusb -static
sudo cp hub-ctrl-armhf-static /usr/local/bin/hub-ctrl
(c) USBポートの電源オンオフを制御してみる
何事もなくインストールが完了したので、早速、制御してみます。
と、その前に、Raspberry PiのUSBポートの使用状況を、”lsusb”コマンドでチェックしたところ、どれがミニ扇風機なのか分からない!
で、気を取り直して、キーボード、マウス、USB温度計を取り外して、再度チェック。
どうも、”Bus 001 Device 002″に接続中の”Standard Microsystems Corp”というやつがミニ扇風機らしい。(消去法で、そう判断しただけですが…)
続けて、”sudo hub-ctrl -v”コマンドで、各USBポートの電源供給に関する情報をチェックしてみます。
上記の判断が正しければ、”Hub #0 at 001:002″がミニ扇風機に関するデータということになります。で、Hub Portの状態は、”Port 1〜Port 5″が電源周りっぽいことも分かります。
早速、”hub-ctrl”コマンドで、電源のオンとオフを試してみます。”b”が”Bus”、”d”が”Device”、”P”が”Port”の設定パラメータです。最後の”p”をゼロにすれば電源オフ、”1″にすれば電源オンといった制御ができます。
sudo hub-ctrl -b 1 -d 2 -P 2 -p 0
sudo hub-ctrl -b 1 -d 2 -P 2 -p 1
ちなみに、今回は使いませんが、4つあるRaspberry PiのUSBポートの電源供給を、一括でオフあるいはオンにする場合は、
sudo hub-ctrl -h 0 -P 2 -p 0
sudo hub-ctrl -h 0 -P 2 -p 1
といった感じで。
(2) 状態の定期チェックと組み合わせてみる
(a) まずは、Pythonのスクリプトファイルを編集してみる
既に、定期チェック用に作成してあるPythonスクリプトファイル”raspberry_report.py“の中身を編集します。
未だ適切な値が掴めていないので、取り敢えず、CPU温度が54℃を超えた場合、という仮の想定でスクリプトを追記しておきます。スクリプトの記述的には、いまいちですが、細かいチューニングは後ほどということで。
編集したスクリプトを実行してみます。
“python raspberry_report.py”。
はい、まずはエラーなく、スクリプトの実行は確認できました。
(b) cronで定期チェックするようにしてみる
“sudo apt-get install postfix”でインストール開始。インストール後の各種設定内容については、過去のTALKをご覧下さい。
念のために、テストメールを送ってみます。
“echo “This is test mail.” | mail -s “test” “xxxxx@gmail.com””
はい、ちゃんと届きました。
続いて、”cron”周りの準備を進めていきます。
“crontab -e”で、”cron”の設定ファイルの編集を行います。
今回は、1時間毎に、先程作成したPythonのスクリプトを実行したいので、
“*/60 * * * * python raspberry_report.py”と記述して、”cron”を”sudo /etc/init.d/cron start”でスタートします。
このままだと、Raspberry Piをリブートしたりすると、”cron”が起動しないままになってしますので、
“sudo apt-get install chkconfig”
“sudo chkconfig cron”
で、Raspberry Piの起動時に、”cron”も起動してくれるようにしておきます。
序に、”cron”の動作に関するログをチェックできるようにしておきます。
“sudo nano /etc/rsyslog.conf”で設定ファイルを開き、
“#cron.* /var/log/cron.log”という記述行をコメントアウトします。
その後、”nano /etc/init.d/rsyslog restart”で、ログを記録するサービスをリスタートすれば、
“/var/log/cron.log”に、”cron”に関するログが記録されるようになります。
こんな感じ。
で、肝心な定期チェックの結果ですが、こんな風に、CPU温度とミニ扇風機の動作有無に関するツィートが、ちゃんと1時間に1度、届くようになりました。
ちなみに、ツィートが4行に渡っているのは、リビングルームに設置しているRaspberry Piの分も一緒にツィートされているから。
後は、ミニ扇風機をオンにするCPU温度の設定値を決めた後、今回、デバッグ環境で試した内容を、リビングルームに設置しているRaspberry Piの本番環境に反映することになります。
【期間限定♪送料無料】Keynice USB扇風機 卓上 & クリップ型 静音 ミニ扇風機 風量2段階調節 360度角度調整 4枚羽根 USBファン デスク パソコン PC 冷却 冷房 首振 くびふり (ホワイト) USBfan-WH |
【期間限定♪送料無料】Keynice USB扇風機 卓上 & クリップ型 静音 ミニ扇風機 風量2段階調節 360度角度調整 4枚羽根 USBファン (ブラック)デスク パソコン PC 冷却 冷房 首振 くびふり USBfan-835 |
送料無料 USB mini 扇風機 卓上 & クリップ型 静音 ミニUSBファン 2段階調節 360度回転 4枚羽根 ミニUSB扇風機 ブラック ホワイト |
ホームページ”THE POOH FILES”にも是非お立ち寄り下さい。