2019年08月07日

RaspberryPiのCPU温度を計測し、SVG画像として表示する

RaspberryPi上のWebページにアクセスした際、その時点のCPU温度を表示できるようにします。
以下のPHPファイルを作成

--------------------- ここから ---------------------
<?php
header('Content-type: image/svg+xml');

$text1 =<<<SVG
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
xmlns="http://www.w3.org/2000/svg"
width="200"
height="40"
viewBox="0 0 200 40">

<rect x="0" y="0" width="200" height="40" stroke="black" fill="white"/>
SVG;

//CPU温度を取得するコマンドを実行(www-dataのサブグループとしてvideoグループを追加済み…【 # usermod -aG video www-data [Enter] 】)
$cmd = "vcgencmd measure_temp";
$result = exec($cmd);

//正規表現で小数点付き数値のみを抽出
preg_match('/\d+\.\d+/', $result, $match);

$text2 = '<text x="40" y="25">CPU温度: '.$match[0].'°C</text>';
$text3 = '</svg>';

echo $text1.$text2.$text3;

?>
--------------------- ここまで ---------------------

このPHPファイルを画像ファイル(SVG)として、IMGタグで指定するだけ。

投稿者 masatsu : 10:10 | コメント (0)

2019年07月10日

PicoのためにPHPをインストール

Markdownで記述するCMSの『Pico』(以前のサーバで運用していたもの)を動かすためにPHPを導入しました。

1.外付けUSBハードディスク上に置かれた『Pico』(ディレクトリは「rasp」)にドキュメントルートからシンボリックリンクを張る
# cd /var/www/html [Enter]
# ln -s /mnt/hdd1/rasp/ ./rasp [Enter]

2.PHPをインストール(domとmbstringモジュールも必要)
# apt install php [Enter]
# apt install php-xml [Enter]
# apt install php-mbstring [Enter]
# systemctl restart apache2 [Enter]

これで、ブラウザから下記のURLにアクセスできれば完了!
http://(サーバのIPアドレス)/rasp/

投稿者 masatsu : 09:48 | コメント (0)

Raspbian Buster Liteに変更

RaspberryPiのケースを空冷ファン付きに変更しました。
当然、一度シャットダウンして、(ケース変更後)再起動したわけですが、なぜかvimとsambaとapacheが動きません。
これらソフトウェアの共通点は、あとからaptでインストールしたものってくらいで、まったくもって原因不明です。
まぁSDカードだから不具合も起きるだろうと、別のmicroSDを用意して、新たにOSから入れ直しました。

選択したOSは、2019年6月20日版の『Raspbian Buster Lite』です。
以前投稿した『Raspbian Lite』のインストール手順書を参考に固定IPアドレス設定まで終えた後、以下の作業を行いました。

1.まず何はともあれvimをインストール(…vimじゃないと使いにくい)
# apt install vim [Enter]

2.外付けUSBハードディスクの設定(元々接続していたものなので、フォーマット等は省略)
(ハードディスクを接続後)
# fdisk -l [Enter] で外付けUSBハードディスクが「/dev/sda1」であることを確認
# blkid /dev/sda1 [Enter] でUUIDを取得

(マウントポイント…/mnt/hdd1…を作成後)
# vi /etc/fstab [Enter]

【UUID=(取得したUUID) /mnt/hdd1 ext4 nofail 0 0】
の一文を追記

# reboot [Enter]

3.aptのアップデート
aptでSambaをインストールしようとするとエラーになったため、先にaptをアップデート

# apt-get update --allow-releaseinfo-change [Enter]

「main」がエラーで取得できなかったけど、まぁ良しとしましょう(^-^;)

4.Sambaのインストール
# apt install samba [Enter]
# systemctl status smbd [Enter]

5.Apacheのインストール
# apt install apache2 [Enter]
# systemctl status apache2 [Enter]

6.SambaとApacheの設定ファイルを書き換えて再起動
# systemctl restart smbd [Enter]
# systemctl restart apache2 [Enter]

ちなみにCPU温度は以下のコマンドで把握できます。
# vcgencmd measure_temp

本当にファンの効果はあるのだろうか?(笑)

投稿者 masatsu : 03:08 | コメント (0)

2018年10月17日

Raspbian LiteのPHP環境構築

RaspberryPi上に「concrete5」を入れたいと思い、PHPモジュール環境を整備しました。
(結局「concrete5」はCentOS上にインストールしましたが…(^-^;))

まず、OSインストール時のPHPのバージョンは、Ver.7.0.27でしたが、upgradeしてVer.7.0.30に変更。
必要なPHPモジュールをaptで入れようと思いましたが、リポジトリ上に見つかりません…。

そこで、「/etc/apt/sources.list」の参照リポジトリを元々の
http://raspbian.raspberrypi.org/raspbian/
から
http://ftp.jaist.ac.jp/raspbian
に変更。

# apt update [Enter]
# apt install php7.0-curl php7.0-mbstring php7.0-mcrypt php7.0-gd php7.0-xml php7.0-zip [Enter]

でPHPモジュールをインストールした後、Apacheを再起動。

# service apache2 restart [Enter]

# php -m [Enter]

を叩いて、PHPモジュール一覧を表示して確認しましたが、問題なく全て入りました。
なお、iconvやFileinfo等のPHPモジュールは以前のリポジトリからインストール済みだったので、今回入れたのは追加分のみということになります。

concrete5の導入は別サーバに行ったので無駄な作業だったわけですが、将来何かに使うこともあるでしょう…多分。

投稿者 masatsu : 00:42 | コメント (0)

2018年02月16日

「Raspberry Pi B+」を再設定

昔から持っている『Raspberry Pi B+』は開発用のテスト環境として使っていましたが、最初にRaspbianを入れたまま何もしていませんでした。
ウィンドウ環境(X Window)は不要なので、OSをより軽量な『Raspbian Lite』に変更すると共に、後々のために手順を記録しておきましょう。

1.Raspbian LiteのZIPファイルをダウンロード
2.Etcherをインストールして起動し、MicroSDカードに書き込み
3.MicroSDカードのルートディレクトリに「ssh」という名前のファイルを作成(初期起動時にSSHを有効にするため)
4.ルータのDHCPサーバのIPアドレス払い出し情報から、RaspbianのIPアドレスを取得
5.SSHクライアントから上記のIPアドレスに接続し、ユーザ名「pi」、パスワード「raspberry」でログイン
6.$ passwd[Enter] … ユーザ「pi」のパスワードを変更(sudo権を持っているので、必ず変更すること)
7.$ sudo su -[Enter] … rootに切り替え
8.# passwd[Enter] … rootパスワードを設定
9.# raspi-config[Enter] … 設定ツールを起動
10.「4 Localisation Options」→「Change Locale」→「en_GB.UTF-8 UTF-8」のチェックを外して、「ja_JP.UTF-8 UTF-8」をチェック
11.Default localeで「ja_JP.UTF-8 UTF-8」を選択
12.「4 Localisation Options」→「Change Timezone」→「Asia」→「Tokyo」を選択
13.raspi-configを終了
14.# vi /etc/dhcpcd.conf[Enter] … 固定IPアドレスに変更
interface eth0
static ip_address
static routers
static domain_name_servers
等を設定し、リブート

とまぁ、初期設定はこんなところかな。
開発用テスト環境構築は、おいおいやっていきましょう。

投稿者 masatsu : 12:29 | コメント (0)