今回は「Raspberry Pi Model A+」を使って遊びます!
A+といえば、省エネ設計が特徴で、バッテリー駆動に適しているモデルです。バッテリー駆動でコンセントから外せるのなら、ディスプレイもキーボードもマウスも外して、コード類から開放されたい!そのために必要なのは、外部の端末からのリモート操作ですね!
そんなわけで今回は、Raspberry Pi1 A+を使って、好きなところに置いて遠くから操作できるポータブルラズベリーパイを焼き上げます!
Raspberry Pi A+について
今まで使ってきたModel Bシリーズとは形が違うので、まずは見た目をチェック!

写真1
小さーい!そして薄い!正方形に近い形なので、丸みが際立っていてかわいいです!

写真2
現在(2015年3月13日)の最新機種Raspberry Pi2 Model BとA+を並べてみました。
見た目の違いは、LANポートがない!そしてUSBポートが1つ!小さい分、本当に「必要最低限」の部品に絞り込んでありますね。
LANポートがないということで、ネットワークに接続するには、USBを経由する必要があります。そして、いつものようにディスプレイを接続してデスクトップ環境を使用するには、マウスとキーボードも必要ですね。
そこで使用するのはこちら!

写真3
セルフパワー付きのUSBハブです。USB接続の機器を直接接続すると、ラズベリーパイ本体の電力を使用してしまいますが、セルフパワー付きであれば、USB用の電力が別途供給されるため、ラズベリーパイの電力不足を防ぐことができます。
こちらのUSBハブは、データ転送用のUSBポートが3つと、さらに電源供給用のUSBポートが1つあるので、コード類をすべて1つのハブにまとめることが可能です。

写真4
こんなにすっきり!
いつもコードが絡まって困っていたのですが、これで解消されそうです!別の端末を使うときも、ハブを差し替えるだけで済むのでとても便利です。もっと早く導入すればよかった!
中身の性能についても調べていきましょう。公式サイトのドキュメントページに、ラズベリーパイ各モデルの比較表があります。
Raspberry Pi Model Specifications – Raspberry Pi Documentation
※このページは現在公開されていません(2019年7月現在)
参考:The computer hardware
A+は、USBポートの数とメモリ以外はModel B+とほとんど同じ仕様ですね。USBの数についてはハブを使えば解決されるので、B+との実質的な違いはメモリと電力くらいでしょうか。
「Power」の欄が空欄となっていますが、答えは別のページに。
Raspberry Pi 1 Model A+ | Raspberry Pi
Lower power consumption. By replacing linear regulators with switching ones we’ve reduced power consumption by between 0.5W and 1W.
Model A+の紹介ページです。こちらによると「0.5W~1Wの消費電力を削減」とありますが、こちらはModel Aと比較した内容なので、300mA(1.5W)未満、ということになるようです。
Raspberry Pi Model A+の下ごしらえ
互換性があるため、B+やRaspberry Pi2で使っていたmicroSDカードを、A+に差し替えて利用することが可能です。
今回は新しくインストールしてからスタートします!いつも使っていた「NOOBS」ではなく「Raspbian」のイメージファイルを使用してみました。手順を簡単にご紹介します。

図1
公式サイトのダウンロードページから「RASPBIAN」をダウンロードします。解凍すると、中身はイメージファイル1つとなっているので、Win32DiskImagerなどのソフトを使ってSDカードに書き込みます。(やり方は前回の記事を参考にしてくださいね)
NOOBSとは違い、SDカードの準備には少々手間がかかりますが、ラズベリーパイ本体でのインストール処理を省略できるため、操作に慣れた方はこちらの方法の方が時間短縮になりそうです。
NOOBSでは、言語設定はイントール前に選択することができましたが、Raspbianのイメージファイルを使用する場合はコマンドラインから設定を行います。
sudo raspi-config
青い背景の設定画面が表示されたら、「4. Internationalisation Options」「I1. Change Locale」と順番に選択していきます。

図2
デフォルトでは「en_GB.UTF-8 UTF-8」のみが選択されています。日本語化するためには「ja_JP.EUC-JP EUC-JP」「ja_JP.UTF-8 UTF-8」の2つが必要です。カーソルを合わせた状態でスペースキーを押すと「*」マークが表示され、選択状態となります。

図3
次に、デフォルトの言語を設定します。「ja_JP.EUC-JP EUC-JP」「ja_JP.UTF-8 UTF-8」のどちらかを選択しましょう。
タイムゾーンの設定については第4回記事で紹介しています。最初は同じ手順で設定できます。(文字化けが発生してしまった場合の解決方法もこちらで紹介しています)。
次はWiFiの設定です。手順については第8回記事を参考にしてください。
再起動後、自動でネットワークに接続されます。セルフパワーUSBハブの効果なのか、意外にも安定して接続できました。以前、B+で試したときは、すぐに途切れてしまうことが多かったのですが、もしかすると電力不足が原因だったのかもしれません。
環境にもよると思いますので、接続が不安定な場合は、LANアダプタの使用がオススメです。

写真5
LANをUSBに変換してくれるアダプタです。USBを介して有線LANを直接接続するので、ネットワークの接続設定も不要です。
SSH接続
先に、ラズベリーパイ側のSSHの設定を行います。デフォルトではオンになっているようですが、念のため確認しておきましょう。
LX Terminalから、設定画面を開きます。
raspi-config

図4
「8. Advanced Options」を選択します。

図5
「A4. SSH」を選択します。

図6
こちらがSSHの有効・無効の設定画面です。言語設定を日本語にしていても英語で表示されます。有効化するには、左側の「Enable」を選択します。

図7
このような画面が表示されれば設定完了です!(最後だけなぜか「了解」と日本語で表示されます……)
ラズベリーパイ側の設定はこれで終了です。Windowsから接続する際にIPアドレスが必要になるので、ここで確認しておきましょう。
ip a
WindowsからSSH接続
今回は「Tera Term」というソフトを使用して、WindowsからラズベリーパイへSSH接続を行います。
Tera Term
Windows環境用のターミナルエミュレータソフトウェアです。SSH-1/2、UTF-8表示、IPv6、半透明表示等に対応しています。

図8
「Tera Term」を起動すると、図8のような画面が表示されます。「ホスト」の欄に、先程調べておいたIPアドレスを入力し、OKボタンをクリックします。

図9
無事にアクセスできると、認証画面が表示されます。ここで、ラズベリーパイのユーザー名とパスワードを入力します。その他の設定項目はデフォルトのままでOKです。
「OK」ボタンをクリックすると……

図10
見覚えのあるコンソール画面が登場!
図10は、デフォルトユーザーである「pi」ユーザーでログインしたところです。ラズベリーパイを直接操作しているのと同じようにコマンドを実行できます。試しに、設定画面を呼び出してみましょう。
sudo raspi-config

図11
いつもと同じように表示されました!
インターネットに接続されていれば、パッケージのインストールなどもTera Termから行えます。マウス・キーボード・ディスプレイを直接つながなくてもラズベリーパイを操作できるようになるので、とても便利です!
コマンドラインのみを使うのであればSSH接続で十分ですが、できれば使い慣れたデスクトップ画面で操作したい!そんなときは「リモートデスクトップ接続」を使いましょう!
リモートデスクトップ接続
Windowsに標準インストールされている「リモートデスクトップ接続」を使用します。Windows7では、スタートメニューの「アクセサリ」から起動できます。
ラズベリーパイ側には、「xrdp」パッケージをインストールする必要があります。せっかくなので、このままSSH接続でインストールコマンドを実行してみましょう。
sudo apt-get install xrdp
インストール完了後、ラズベリーパイを再起動します。こちらもリモート操作で実行できます。
sudo reboot
再起動コマンドの実行後は、「Tera Term」のウィンドウは閉じられてしまいます。ディスプレイをつないでいない場合は、ラズベリーパイ本体の「ACT」のLEDの点滅が止まった頃合いを見て、再起動が終わったかどうかを判断しましょう。(起動前に接続しようとしても、接続先が見つからずに終了するだけなので、特に問題はありません)

図12
「リモートデスクトップ接続」も、「Tera Term」と同じように、接続先とログイン情報を入力すると接続できます。

図13
こちらはログイン画面。「Module」欄はデフォルトの「sesman-Xvnc」のままでOKです。

図14
ログインすると、ラズベリーパイのデスクトップ画面が表示されました!
使い慣れたデスクトップ画面があると使いやすいですね!
毎回IPアドレスを調べる手間を省くために、IPアドレスを固定しておくという方法もありますが、もっと便利にしてくれるのが「avahi-daemon」パッケージです!
sudo apt-get install avahi-daemon
インストール後、一度再起動して、リモートデスクトップを終了します。
Windows側には「Bonjour」というソフトが必要です。こちらは別途インストールする必要があります。一番簡単に、最新のWindows用「Bonjour」を入手する方法は、「iTunes」をインストールすることだそうです。詳しい内容はこちらのページで紹介されています。
Bonjourのインストール (Windowsのみ) | Raspberry Pi の初期設定 | OpenRTM-aist
「リモートデスクトップ接続」を起動して、今度はIPアドレスの代わりに「raspberrypi」または「raspberrypi.local」と入力しましょう。
コードレス化!

写真6
USBポートにWiFiアダプタを接続し、スマートフォン用のモバイルバッテリーから電源を取るように配線を変更しました。これでコードレス化!充電が切れるまでという時間制限はありますが、好きなところに持ち運んでもOK!
MPDを使ったラズベリーラジオを設定して、使い心地を実験してみました。数時間インターネットラジオを流しっぱなしにしても、WiFiも音も途切れることなく、ラジオを楽しむことができました。
まとめ
ラズベリーパイのリモート操作とコードレス化、無事、焼きあがりました!
ラズベリーパイとWindowsマシン、それぞれのディスプレイ・キーボード・マウスを2つずつ使っていて、どれが何のコードか分からなくなったり(笑)、コード同士が絡まったりと、接続機器にはいつも悩まされていたので、1つにまとめることができてとても便利になりました!ネットワークさえ安定していれば、リモート操作でも支障なく使っていけそうです。
バッテリー駆動のラズベリーパイは、消費電力の多い工作には不向きかもしれませんが、実際に使ってみて不都合を感じることはありませんでした。とはいえ、充電器の電池切れがこわいので、長時間使用するときは、電源コードだけはコンセントを利用した方が良さそうですね!
次回は……
ラズベリーパイのプリインストールソフト「Sonic Pi」で遊びます!
この連載でもおなじみ(?)の上司に教わりながら、音を使ったプログラミングに挑戦します!