Raspberry Pi 日記 (part2)

長嶋 洋一


2013年6月17日(月)

新しい週が始まった。5月はゴールデンウイークがあり、7月にも海の日があるが、6月は祝日も無く梅雨の時期で、学生は課題などに追われてあまり好きな季節ではないかもしれないが、コンスタントに仕事を進められるこの時期は嫌いではない。 今年はNIMEをスキップしていて静かな6月である。 Sketching2013の主催者であるMike Kuniavskyからは、今年の参加者に以下のようなメイルが届いた。 このメイルの末尾には、Googleやゼロックスに次いで、インテルもSketching2013のスポンサーに加わったとの情報もあった。 いよいよあと1ヶ月、参加者は皆んな、世界先端のスリリングな仕事を持って集まってくるので、こちらも負けずにあれこれ用意して臨みたい。
Our digital design tools help us think of things we would never have 
considered, before the tool gave us the ability to think of them (as per 
the ideas of distributed cognition). As these tools move into the cloud, 
these thoughts become increasingly social and the tools create a shared 
understanding of what's being designed, an understanding simultaneously 
shaped by the capabilities of the tools and the knowledge and skills of 
the people using them. Then these shared ideas have to become real, they 
have to be projected from virtual approximations to real designs, and 
everything changes again. The ability to instantiate ideas as actual 
objects still falls short of our tools' ability to imagine them.

Sketching in Hardware this year will be about these interfaces: between 
people and their digital tools, between people and each other, and between 
virtual tools and physical tools. How do we project ideas from one to the other?

BRINGING NEW TECHNOLOGY?
+++++++++++++++++++++++
Are you bringing new things to show off? Please do, and please let me 
know. I'm making space in the schedule for a kind of "Science Fair" style 
that will give everyone an opportunity to get some in-depth experience 
with everyone else's new cool stuff.
If you're considering bringing something to show and aren't sure if it's 
ready, just bring it and show what you have. Having nearly complete 
projects is as exciting as having the finished thing. But do let me know.
さて、先週新しくゲットしたMacBookAir(これは今後、「Air2号機」とでも呼ぶことにしよう)の環境設定もあらかた出来たので、インストールしたVNCやターミナルの環境設定を確認するところからRaspberry Piを再開することにした。 まずは以下のように、新しく仕入れた小型LANハブとLANリールと改造ACアダプタでコンパクトに組み上げた。

そして、Raspberry Piとコンタクトするのが初めてのAir2号機からターミナル経由で通信してみると、以下のようにそれぞれ「初めてのSSH」でも何でもなく開通した。 つまり、以前にあった「MacとのSSH問題」はやはり、Raspberry Piの方でMacとSSHをしていない場合に発生する模様である。 「MacとSSHで繋がった」というような履歴情報がRaspberry Piにいったん書かれてしまえば、初めてのMacからのSSHで、「-X (X11)」という謎のおまじないは不要であるらしい。



Last login: Mon Jun 17 07:23:23 on console
MacBookAir-2:~ nagashima$ ls
Desktop		Downloads	Movies		Pictures	Sites
Documents	Library		Music		Public

MacBookAir-2:~ nagashima$ ssh pi@172.16.65.61
The authenticity of host '172.16.65.61 (172.16.65.61)' can't be established.
RSA key fingerprint is 4c:f8:4d:b3:f1:db:31:80:b6:74:19:94:38:e1:06:4d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.65.61' (RSA) to the list of known hosts.
pi@172.16.65.61's password: 
Linux raspberrypi 3.6.11+ #456 PREEMPT Mon May 20 17:42:15 BST 2013 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri May 31 16:07:30 2013

pi@raspberrypi ~ $ ls
Desktop  ocr_pi.png  python_games  twilight.png
pi@raspberrypi ~ $ exit
ログアウト
Connection to 172.16.65.61 closed.

MacBookAir-2:~ nagashima$ ssh pi@172.16.65.62
The authenticity of host '172.16.65.62 (172.16.65.62)' can't be established.
RSA key fingerprint is 4c:f8:4d:b3:f1:db:31:80:b6:74:19:94:38:e1:06:4d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.65.62' (RSA) to the list of known hosts.
pi@172.16.65.62's password: 
Linux raspberrypi 3.6.11+ #456 PREEMPT Mon May 20 17:42:15 BST 2013 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri May 31 16:42:30 2013

pi@raspberrypi ~ $ ls
Desktop  check.txt  mess.txt  ocr_pi.png  python_games  twilight.png
pi@raspberrypi ~ $ rm check.txt
pi@raspberrypi ~ $ ls
Desktop  mess.txt  ocr_pi.png  python_games  twilight.png
pi@raspberrypi ~ $ rm mess.txt
pi@raspberrypi ~ $ ls
Desktop  ocr_pi.png  python_games  twilight.png
pi@raspberrypi ~ $ exit
ログアウト
Connection to 172.16.65.62 closed.

MacBookAir-2:~ nagashima$ ssh pi@172.16.65.63
The authenticity of host '172.16.65.63 (172.16.65.63)' can't be established.
RSA key fingerprint is 4c:f8:4d:b3:f1:db:31:80:b6:74:19:94:38:e1:06:4d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.65.63' (RSA) to the list of known hosts.
pi@172.16.65.63's password: 
Linux raspberrypi 3.6.11+ #456 PREEMPT Mon May 20 17:42:15 BST 2013 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri May 31 17:27:53 2013

pi@raspberrypi ~ $ ls
Desktop  ocr_pi.png  python_games  twilight.png
pi@raspberrypi ~ $ exit
ログアウト
Connection to 172.16.65.63 closed.
MacBookAir-2:~ nagashima$
・・・とここまで順調だったが、ここでトラブルが発生した。 以下のように、3台のRaspberry Piのうち、IPアドレス「172.16.65.61」のマシン(これも今後のために「61号機」とか呼ぶことにしよう)の基板上のLEDが他の2台と異なり、どうやら静かに死んでいる模様である(^_^;)。 新しいAir2号機からVNCのアドレス登録とともにVNC接続すると、62号機と63号機はちゃんと応答したものの、61号機はVNCの接続待ちのままストップした。 最初はSSHで接続できたが、この状態だとSSHでも繋がらなくなった。

これはつまり、Raspberry Piに入れていたSDカード、つまりシステムのストレージがdirtyになった、という事だろう。 本来であれば、 ここでやった方法 に従って、SSHをONにして、さらにVNCまでインストールされたSDカードのイメージファイルを作ってあるので、これを再度、SDカードに書き込めばいいのだが、せっかくなので、別の方法をとってみる事にした。 ここでやった方法 に準じるが、以下の作戦である。

イメージファイルをいちいち読み込む手間はかかるが(今回、読み込んだものも別途に保存しておこう)、この方法で、出張など出先でも、Raspberry Piにモニタやキーボードを繋がずにリモートで修復する、という段取りの実験なのである。 そして以下のように、62号機のイメージファイル「ssh_IP_62_fix.img」を作り、これを再度、SDカードに書き込み。起動させてみたところ、なんとVNCサーバに接続した後で、またまた61号機のRaspberry Pi上のLEDが「赤」だけとなった。 つまりこれは、SDカードのデータがdirtyになったのではなくて、この61号機のRaspberry Piのハード故障と判明して、新しいRaspberry Piに交換したところ、無事に3台のシステムが稼働した。 時間はかかったが、これで解決、さらにトラブル対応のいい練習となった(^_^)。

ここで2限になり「音楽情報科学」の講義を経て、午後は5限にアカペラの補習特訓希望の新入生が来るまで、お仕事タイムである(^_^)。 さっそく以下のように、やってみたかった実験を行った。 これまでと同じように見えるが、実はLANハブに挿さっていた、研究室LANのケーブルを抜いているのである。

研究室LANから分離されたという事は、SUACネットのDHCPサーバと接続されていない状態である。 もちろんこのために、Air2号機のIPアドレスも固定で「172.16.65.32」と設定した。 すると上のように、3台のRaspberry Piに対して、ホストのAir2号機からそれぞれVNCで接続できた。 ただし、SSHは無反応で駄目であった。 おそらくSSHはDHCPサーバとやりとりしているのだろうが、とりあえずVNCベースでは、文字通りのローカルネットワークをMac+Raspberry Pi3台で構築できたことになる。 これは少なくとも自分としては、今後に向けて、幸先良い実験結果なのである。

スタンドアロンLANの動作も確認でき、Slice_Pi基板も届いたので、いよいよ、やろうとしていた事に取りかかる環境が整った。 手元にあるRaspberry Pi本も、インブレス本は「Python解説」と「アドオンボード(拡張入出力)」のところだけ残っている。 CQ本は4章から11章まで、やはりハードのアクセスの部分を残して、他は既に捨てた。 ふーみん本(原稿)は98ページから最後(257ページ)までドサッと残っているが、ここがこの本の佳境、ハードを叩いて物理コンピューティング大会である。 ここでは、これら3冊のRaspberry Pi本のポイントと、あと何点か、ぜひやってみたい事が残っているので、備忘録として以下のようにまとめてみた。 これが今後1-2ヶ月、夏までのメインターゲットとなる。

さて、そこでインブレス本のPython解説である。 ここに サンプルブログラムがたくさんある、というので、これをコピペしては試してみよう。 既にMacではやっていたが、あらためてHello Worldプログラム(test.py)をMac上で作り、これをVNC越しにRaspberry Piのターミナルからrcpでゲットして走らせたのが、 以下である。

以下は、「raw_input」というコマンドで入力を受けて表示するだけであるが、このコマンドは入力待ちのところに不正コードを侵入させようとするのを防ぐものであるという。 Raspberry Piはじかにインターネットに繋がってしまうので、このセキュリティは重要だが、「Raspberry Piにハッキングする」というハッカーは少ないだろう。

以下の例は、以前にもやったフィボナッチ数列だが、親と赤ちゃんという名前で記述しているので、あまり「数学」という感じがしないのが好感を持てる。(^_^)

ここで時間となった。 遅々としているのは、同時に裏で学部関係の真面目なメイルが行き来しているからである。 学部の将来に関する重要な議論もまた、大切なのだ。 ここの 続きは、また明日にも進めてみよう。


「Raspberry Pi日記」トップに戻る