2015年02月09日

RPi - Raspberry Pi 2 ハンズ・オン! 〜 ケース選びは慎重に。

来ましたね! Raspberry Pi 2。 僕は Model B+ は買わなかったので Raspberry Pi 1 からのバージョン・アップ。 早速触ってみますよ!

cho_san

Raspberry Pi 2 スペック&開封の儀(ケースは・・・失敗だった)


まずは、簡単に Raspberry Pi 2 のスペックを確認しておきましょうか。

Raspberry Pi 2 (Model B)
SoC Broadcom BCM2836
CPU ARM Cortex-A7 (Quad-core)
Memory 1 GB LPDDR2 SDRAM
Ethernet 10/100 BaseT x1
USB USB 2.0 port x4
Storage microSD card slot x1
HDMI HDMI 1.3, 1.4 Video/Audio socket x1
GPIO 40 pin (Alternative Raspberry Pi 1 26 pin)


システム・オン・チップが BCM2835 から BCM2836 へ変更され、メモリが倍増の 1 GB。CPU は過去の 700MHz ARM11(ARMv6)対して約 6 倍の性能があると言われる 900MHz のクアッド・コア ARM Cortex-A7(ARMv7)。 ARMv7 になったことでこれまで以上に色々な OS が Raspberry Pi で動くことになりそうですね!

さて、僕は発表当日に RS エスコンポーネンツ・オンライン(http://jp.rs-online.com/web/)で購入。 届いたのがこちら。

RaspberryPi2 rs box


梱包が異常に大きいので驚きますが、Raspberry Pi 2 自体は初代の箱に比べて 1.5 倍ほど厚みをました程度。

RaspberryPi2 Boxes


箱を開けると、出ましたよ! Raspberry Pi 2。

RaspberryPi2 open box


ケースは色々と迷ったんですが Pibow レインボーケースに「似ている」パチモン?ケース(Pibow に比べて半額程度で購入可能)を買いました。

IMG_0176


一枚一枚保護シートを剥がしていきますが、剥がし辛いのでイライラします。(#^ω^)ピキピキ

IMG_0186


そして割れます・・・(#^ω^)ピキピキピキピキ

RaspberryPi case broken2


一枚割れたぐらいは問題無い、気を取り直して組み立てますがボード本体のチップと干渉して綺麗に積み上げられません・・・・・・(#^ω^)ピキピキピキピキピキピキ

RaspberryPi2 case not fit


安物買いの銭失い、先人の残してくれた言葉を噛み締めながら(通算で5回目ぐらい)。 ケースを外し、そっと机の中にしまいます。

IMG_0169

最初から Pibow のケースにすれば良かった・・・。


Raspberry Pi 2 ファースト・インプレッション


気を取り直して Raspberry Pi 2 をセットアップ、性能測定してみましょう。 Raspbian OS をダウンロード(http://www.raspberrypi.org/downloads/)、用意したマイクロ SD カード(ここでは /dev/sdb)にイメージを書き込みます(dd)。

$ sudo dd if=~/Downloads/2015-01-31-raspbian.img of=/dev/sdb bs=1M


書き込みが終わったら一度 SD カードを抜き差しします。 すると僕の Ubuntu では boot パーティションだけで無くルート・ファイルシステムまでアクセスできるので /etc/network/interfaces ファイルを編集して、

$ sudo vi /media/netbuffalo/1263ae8d-aaf3-41b6-9ac0-03e7fecb5d6a/etc/network/interfaces


有線 LAN ポート(eth0)に固定の IP アドレス(ここでは 192.168.0.125/24)を設定しておきます。

auto lo

iface lo inet loopback
#iface eth0 inet dhcp
iface eth0 inet static
  address 192.168.0.125 # eth0 addr
  netmask 255.255.255.0
  gateway 192.168.0.1 # router addr
  dns-nameservers 8.8.8.8 8.8.4.4 # name server addr

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp


sync してから SD カードを umount すればイメージの作成はおしまい。

$ sync && umount /media/netbuffalo/*


Raspberry Pi へ SD カードを挿入してしばらく待つと設定したアドレスから ping レスポンスが戻ります。

$ ping 192.168.0.125
PING 192.168.0.125 (192.168.0.125) 56(84) bytes of data.
From 192.168.0.196 icmp_seq=1 Destination Host Unreachable
From 192.168.0.196 icmp_seq=2 Destination Host Unreachable
From 192.168.0.196 icmp_seq=3 Destination Host Unreachable
64 bytes from 192.168.0.196: icmp_seq=4 ttl=64 time=999 ms
64 bytes from 192.168.0.196: icmp_seq=5 ttl=64 time=0.461 ms
64 bytes from 192.168.0.196: icmp_seq=6 ttl=64 time=0.553 ms


こうなったら pi ユーザー(パスワードは raspberry)で SSH できるはず。

$ ssh pi@192.168.0.125
The authenticity of host '192.168.0.125 (192.168.0.125)' can't be established.
ECDSA key fingerprint is f8:f2:c3:28:9e:e7:49:f6:1c:4a:f9:0c:c4:77:c5:9a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.125' (ECDSA) to the list of known hosts.
pi@192.168.0.125's password:
Linux raspberrypi 3.18.5-v7+ #225 SMP PREEMPT Fri Jan 30 18:53:55 GMT 2015 armv7l

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.

NOTICE: the software on this Raspberry Pi has not been fully configured. Please run 'sudo raspi-config'

pi@raspberrypi ~ $


出力されたウェルカム・メッセージの通り、まず僕が行うべきは raspi-config の実行。

pi@raspberrypi ~ $ sudo raspi-config


SD カードの容量を全て使うために Expand Filesystem は絶対に実行。 その他はお好みで Internationalisation Options からロケール(ja_JP.UTF8)とタイムゾーン(Asia/Tokyo)を設定します。 より詳しい手順はこちらをどうぞ。

raspi-config expand filesystem


終わったら一度再起動($ sudo reboot)して、パッケージの更新をすればおしまいですね!

pi@raspberrypi ~ $ sudo sh -c "apt-get update && apt-get upgrade -y"


さて、CPU 処理能力は本当に 6 倍にアップしたのでしょうか? 「RPi - Raspberry Pi で High Performance Computing! スパコンを作る方法」で紹介した円周率 π を求める Python コードを実行してみましょう。

#!/usr/bin/env python

def f(x):
  return 4 / ( 1.0 + x**2 )

n = 10000000
sum = 0
step = 1.0 / n

for i in range(0, n):
  x = ( i + 0.5 ) * step
  sum += f(x)

pi = sum * step

print pi


このコードを pi.py という名前で保存・実行してみると約 1 分 12 秒で円周率の算出が終わります。

pi@raspberrypi ~ $ time python pi.py
3.14159265359

real    1m12.587s
user    1m12.030s
sys     0m0.330s


全く同じ SD カードを使い Raspberry Pi 1 で実行すると約 4 分 10 秒を要し、今回試したシングル・スレッドかつユーザ空間で動くアプリケーションであれば 3.5 倍の性能アップが見込めることが確認できました。

ストレージの I/O はどうでしょうか?  dd を使って約 400 MB のファイルを /tmp に作ってみます。

pi@raspberrypi ~ $  time sh -c "dd if=/dev/zero of=/tmp/zero.dat bs=4k count=100000 && sync"
100000+0 レコード入力
100000+0 レコード出力
409600000 バイト (410 MB) コピーされました、 52.8737 秒、 7.7 MB/秒

real    1m28.750s
user    0m0.090s
sys     0m3.970s


dd 単体で約 53 秒(7.7 MB/秒)、物理的なストレージ同期まで含めると約 1 分 29 秒ですね。

これも同じ SD カードを使い初代 Pi と比較してみます。
 
pi@raspberrypi ~ $ time sh -c "dd if=/dev/zero of=/tmp/zero.dat bs=4k count=100000 && sync"
100000+0 レコード入力
100000+0 レコード出力
409600000 バイト (410 MB) コピーされました、 88.5751 秒、 4.6 MB/秒

real    1m40.959s
user    0m0.370s
sys     0m9.640s


このテストでは SD カードが支配因子になり劇的には早くなりませんでしたが、それでも約 12 秒早くなりましたね。

Raspberry Pi 1, 2 のより詳しい比較は日経 Linux 安東さんの書かれたレポートが興味深いですよ。


Photonic Reset of the Raspberry Pi 2


別名デス・フラッシュ(Xenon death flash free physics lesson)。 これはボード上 U16 の位置にあるチップにキセノン(Xenon)フラッシュを照射すると起こると言われている Raspberry Pi 2 のクラッシュ。

RaspberryPi2 u16 chip


スマートフォンに付いているような LED によるフラッシュでは起こりません。

RaspberryPi2 Xenon Flash


しかし、一眼レフのフラッシュを照射すると・・・・

RaspberryPi2 Xenon Flash


僕の Raspberry Pi 2 もクラッシュしました。

$ ping 192.168.0.125
PING 192.168.0.125 (192.168.0.125) 56(84) bytes of data.
64 bytes from 192.168.0.125: icmp_seq=1 ttl=64 time=0.528 ms
64 bytes from 192.168.0.125: icmp_seq=2 ttl=64 time=0.467 ms
64 bytes from 192.168.0.125: icmp_seq=3 ttl=64 time=0.476 ms
64 bytes from 192.168.0.125: icmp_seq=4 ttl=64 time=0.455 ms
64 bytes from 192.168.0.125: icmp_seq=5 ttl=64 time=0.420 ms
--- Xenon Flash ! ---
From 192.168.0.196 icmp_seq=43 Destination Host Unreachable
From 192.168.0.196 icmp_seq=44 Destination Host Unreachable
From 192.168.0.196 icmp_seq=45 Destination Host Unreachable


放っておくと再起動しますが気になる人はケースに入れた方が良いですね!

さて、ケースは何にしようかな・・・。


みんなのRaspberry Pi入門 [対応言語:Python]
石井モルナ 江崎徳秀
リックテレコム
売り上げランキング: 6,527

Posted by netbuffalo at 22:00│Comments(0)TrackBack(0)Raspberry Pi | Linux


この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/netbuffalo/4964381

コメントする

名前
URL
 
  絵文字