Raspberry Pi 日記
長嶋 洋一
2013年6月1日(土)
もう6月である。 この日記は5月14日にスタートなので、まだ半月ほどであるが、だいぶRaspberry Piが身近になってきた。 今日は晩のビアガーデンだけだと思っていたら、昨日の午後に卒業生の山口クンからメイルがあり、急転直下、今日のお昼には彼が1106に来ることになった。 卒業しても 僕の研究室サイト をチェックしてくれる彼は、 40虎 のページを発見して、彼の作品「Tiny Living」の復刻修理をしたい、と申し出てきたのだ。 何度も「虎」に参加し、後輩の憧れの活躍をする山口クンの来訪というのは、後輩にもいい刺激となりそうである。(^_^)モバイルWiFiルータの利用期限があと2時間ほどになったが、これに頼らず、今日の午前中に行う事は今朝、思いついていた。 Raspberry Piのシステムを入れたSDカードが1枚だけ、というのは心細いので、あと2-3枚は作るつもりだったのだが、昨日と同じことを繰り返すよりもうまい手があるのだった。 最初のSDカードは、ネットからダウンロードしたイメージファイルをターミナルの「dd」コマンドでSDカードに書き込んだので、今度は、昨日完成した、「sshが稼働し、VNCserverが稼働し、ブラウザではSUACのプロキシが設定されていてdefaultで[nagasm.org]に行く」というそのSDカードを読み込んで、新しいイメージファイルを作ってしまえばいいのである。 そこでインプレス本を参考に、以下の手順で昨日完成したSDカードからイメージファイル「ssh_vncserver_OK.img」を作った。
読み出したイメージファイルは、さっそくさらに新しいSDカードに書き込んで実験である。 今回は、ネットから落としたRaspberry Pi用のLinuxイメージは約2GBだったが、それを4GBのカードに書き込んで領域も拡張しているので、今後は最低でも4GBのカードに書き込むことになり、4GBであればそのまま、8GB以上であれば再度、領域を拡張することになる。 既にこの日記の前半にあったが、SDカードへのイメージファイルの書き込み手順を再録すれば以下となる。
- SDカードはライトプロテクトをかけないでMacに接続するとマウントされる
- ターミナルから「diskutil list」とする
- いつもの並びでSDカードを識別する。たいていは→「/dev/disk2」
- 「diskutil unmount /dev/disk2」とするとアイコンが消える
(エラーが出たら「diskutil unmountDisk /dev/disk2」とする)- 「dd of=ssh_vncserver_OK.img if=/dev/disk2 bs=2m」とする
- サクサクと読み出す(4GBで10分ほど)
- イメージファイルはカレントディレクトリに出来る
- 読み出しが完了してもアイコンは現れない。サイズは4.01GB
- これで取り出す。新しいイメージファイルの完成(^_^)
同じことを計3枚、行ったので、その合間には こんなもの を調べて、業者に発注した。 そして、このイメージファイルから作成したSDカードで、ssh出来ることとvncserverが起動する(パスワード設定まで完了した状態)と確認したところで、いよいよ今朝、思いついたアイデアの実現に向かった。 それは、「マウスもキーボードもモニタも無しでRaspberry Piを走らせる」「複数のRaspberry Piを同時に走らせる」「DHCPでなく固定IPとする」という事である。 起動するたびに自分のIPアドレスを確認するのにマウスとキーボードとモニタが付いている、というのは、まるでパソコンである(^_^;)。 せっかくのRaspberry Piなので、LANケーブルと電源だけで動かしたいのである。 必要なことは全て、sshとvncでホストから行えばいい筈である。
- イメージファイル「ssh_vncserver_OK.img」をデスクトップに置く
- イメージファイルの置かれたデスクトップに移動する
- SDカードをMacに接続するとマウントされる
- ターミナルから「diskutil list」とする
- いつもの並びでSDカードを識別する。たいていは→「/dev/disk2」
- 「diskutil unmount /dev/disk2」とするとアイコンが消える
(エラーが出たら「diskutil unmountDisk /dev/disk2」とする)- 「dd if=ssh_vncserver_OK.img of=/dev/disk2 bs=2m」とする
- サクサクと書き込む(4GBで10分ほど)
- 書き込みが完了するとアイコンが現れる。サイズは4.01GB
- 「diskutil unmount /dev/disk2」とするとアイコンが消える
- これで取り出す。新しいSDカードの完成(^_^)
そこで再びネット等の情報を元に、以下の手順で各Raspberry Piに固定IPを割り当てた。 SUACネットでは教員研究室のパソコン等は固定IPを申請登録することになっているが、開学以来、常に研究室に多数のWSやパソコンを持ち、実験で同時に多数のIPを使ってきたので、手持ちの(他とぶつからない)固定IPアドレスはたくさんあるのだった。
これにより、このRaspberry Piは固定アドレス「172.16.65.61」を持った。 同様にして「172.16.65.62」と「172.16.65.63」のRaspberry Piも作った。 いずれも、起動した場合には初期設定によってsshdは起動しているので、「sudo service ssh restart」は特に必要ない。 あとはユーザ権限で「tightvncserver」すれば、最初のSDカードで設定したパスワードでVNCも起動する。
- Raspberry Piで「sudo nano /etc/network/interfaces」と入れる
- この設定ファイルの「iface eth0 inet dhcp」を「iface eth0 inet static」に変更する
- その下に3行、以下を追加する (これはSUACの場合)
- [tab] address 172.16.65.61
- [tab] netmask 255.2552.254.0
- [tab] gateway 172.16.64.1
- ctrl+O でこの設定ファイルを書き出す
- ctrl+X で編集終了
- 「sudo /etc/init.d/networking restart」はうまく行かなかったので(^_^;)、「sudo halt」で再起動する
そして昼前になって、山口クンに会いたいという40虎の学生2人がやってきて、さらに山口クンが訪れたちょうどその時、以下のような風景がまさに実現した。 3人にはこの最初のテストに立ち会ってもらった。
これはつまり、LANハブに刺さったLANケーブルと電源だけで立ち上がった3台のRaspberry Piがいる、という風景である。 ただし以下のように、ホストMacの2画面を見てみると、3台のRaspberry Piにそれぞれsshするターミナル画面があり、そこからそれぞれのRaspberry PiでVNCサーバを起動した上で、ホストは3つのVNCクライアント画面をそれぞれのRaspberry Piに対して接続しているのである。 各Raspberry Piは別々のWebページをきちんとアクセスして表示しており、そのVNC画面内で開いたターミナルから、あるいはホストのターミナルからsshした先で「sudo halt」するとちゃんとRaspberry Piはシャットダウンして、ターミナルのsshも接続が切れて戻り、VNCウインドウも消失した。
ここでお昼となったので、4人で昼食、そして山口クンの最近のCMの仕事の情報と動画を受け取った。 山口クンの仕事はさっそく、来週の講義で後輩たちに紹介しよう(^_^)。 そして、40虎の学生2人と山口クンとともに電子制御機器制作室に行って、 こんなカンジ で、山口クンの卒業制作作品「Tiny Living」(映像作品「trip」と2本立ての卒制)の現状確認などをした。
そして研究室に戻り、学生は上のように漫画に没頭し(^_^;)、山口クンは他の先生のところに行ったりしている合間に、今日のここまでの部分をまとめてアップした。 梅雨入りしてビアガーデンに向けて気になる雨雲は、以下のようになんとか免れられそうな気もするが・・・。
そして遠鉄ビアガーデンに出発するまで1時間を切ったところで、以下のように再度、小さく組み立ててみた。 これは来週には、LANケーブルとハブを小型化して、さらに小さくする予定である(^_^)。
今日はここまでである。 ビールが旨いのは間違いない。(^_^)
「Raspberry Pi日記」トップに戻る