でんげき☆ Network Service

Raspberry Pi 4 で運用実験中 Connect checker

No.11

ラズパイの Apache で CPU 情報を取得する vcgencmd が CGI で動かない問題を解決する

20211205061157-admin.png
 
Raspberry Pi 4 (ラズパイ) に CPU のクロック周波数や温度やらを取得する vcgencmd なるコマンドが用意されています
CPU などなどのクロック周波数を表示
for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi ; do echo -e "$src:\t$(vcgencmd measure_clock $src)" ; done
CPU の温度を表示
vcgencmd measure_temp
利用可能・不可能なコーデックの表示
for codec in H264 MPG2 WVC1 MPG4 MJPG WMV9 ; do  echo -e "$codec:\t$(vcgencmd codec_enabled $codec)" ; done

20211205053433-admin.png
実行例

その他にもいろいろあるんで…詳しくは 解説ページをご覧ください って感じの vcgencmd コマンドなんですが Apache 上の CGI として実行させようとすると失敗するんでその辺をどうにかしてみます

まぁ結論から云ってしまうと…グループ video に Apache が実行するユーザである www-data が入っていないから動かないって事らしいです
cat /etc/group | grep video
video:x:44:pi

ちなみに Apache が実行するユーザは /etc/apache2/envvars で指定しているようです
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

試しにコマンドラインでユーザを www-data に切り替えて確認してみましょう
sudo su -s /bin/bash www-data
vcgencmd measure_temp
VCHI initialization failed
やはり使えないみたいですね…

それじゃグループ video にユーザ www-data を追加していきましょう まぁコマンド一発なんですが
sudo usermod -aG video www-data
これで追加できます 確認すると…
cat /etc/group | grep video
video:x:44:pi,www-data
グループ video にユーザ www-data が追加されました

それでは再びユーザを www-data に切り替えて確認してみましょう
sudo su -s /bin/bash www-data
vcgencmd measure_temp
temp=28.2'C
ちゃんと使えるようになりました

  :

しかし Apache 上の CGI として vcgencmd コマンドを実行しても「VCHI initialization failed」のエラーが出続けます なんで??
いろいろと試していて…まぁはっきりとした理由は不明なんですが Apache を再起動させたらこの問題が解決しました
sudo systemctl restart apache2
これで Apache 上の CGI として vcgencmd コマンドが使えるようになりました 何か別の所に問題があるかもだけど…我が家の環境ではこの手法で解決できました

202112050534331-admin.png
そんな操作の過程のスクリーンショットをぺたり 改竄の余地のないよう作業の過程を全て収録してあります

※参考資料 グループからユーザを削除するには…
トラブルの解決中っていうか…いろいろやってて勢い余って必要のないユーザをグループに追加しちゃった!(>_<)qって時なんかにグループからユーザを削除する場合には以下のようにします
例えばグループ video に追加されたユーザ www-data を削除する場合は
sudo gpasswd -d www-data video
こんな感じに操作します 先ほどの usermod の場合とユーザ名とグループ名の指定が逆になってるので注意が必要です なんなら gpasswd -a でグループにユーザを追加することができるらしいんですが…どっちを使うといいんだろうね

  :

さてさてそんな vcgencmd を使ってこんな感じで動かしています
 (キャプション自動取得対象外) その都度都度で PNG 画像を生成しています
Web サーバの処理やら画像の生成などで一時的にクロック高めな感じですがアイドル時は 600MHz くらいになってるようです
そんなこんなで何かの都合でラズパイを再セットアップした際に悩まないようなメモでした #[Raspberry Pi] #Apache #コマンドヘルプ #CGI

情報 <2063文字>

DASHBOARD

■複合検索:

  • 投稿者名:
  • 投稿年月:
  • #タグ:
  • カテゴリ:
  • 出力順序:

■ハッシュタグ:

■カテゴリ:

■日付検索:

■機器状態:

Raspberry Pi 4 Status

編集

RSSフィード