Command Pi(100円)というiOSアプリでiPhoneからRaspberry Piを操作できるので試してみた。
現在できる命令はシャットダウンと再起動だけ。CPU使用量やメモリ使用量も見れる。システムの温度は多分 /opt/vc/bin/vcgencmd measure_temp
を使っていると思う(Show RPI’s Temperature with a command)。Raspberry Piに接続すると以下のような画面がiPhoneに表示される。
命令や情報取得はSSHのパスワード認証による接続で行っているので、Raspberry Pi側でSSHサーバを起動して、Command Pi側でIPアドレスとユーザ名、パスワードを設定する必要がある。SSHのポートを変えている場合はIPアドレスの設定項目を IPアドレス:port
というようにすれば接続できた。実行しているコマンドの都合上、接続するアカウントはsudoがパスワードなしで実行できないといけない。
RaspbianならSSHサーバはパッケージからインストールできる。
apt-get install ssh
パスワード認証を有効にするには /etc/ssh/sshd_config
で PasswordAuthentication yes
になっていることを確認する。
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication yes
なっていなかったら変更して再起動する。
/etc/init.d/ssh restart
Raspberry Piを自宅サーバにしているのでデフォルトは公開鍵認証でローカルネットワークからのみパスワード認証を使うようにしてみた。
Match Address 192.168.*.*
PasswordAuthentication yes
Match
ブロックを使うと特定の接続に対して設定を変えることができる。注意するところは Match
ブロックの終了を明示的に記述できない点。インデントは飾りでインデントが終わったからといって Match
ブロックが終了すると解釈してくれるわけじゃないので Match
ブロックはファイルの最後に記述すべき。
Command Piの仕組みはSSHでLinuxサーバにつないでるだけなので厳密なRaspberry PiチェックをしていなければRaspberry Piじゃなくても動くと思う、試していないけど。あとは任意のコマンドを送信できるようになると嬉しいんだけどな。