Raspberry Pi Zeroを試してみる(CUI)

Raspberry Pi Zeroもやっと国内で購入できるようになりました。当サイトでもひとつ購入してみました。

今回はサーバーや工作の用途を想定して有線LANで設定、確認してみたいと思います。


チップにはELPIDAのロゴが見えますがこれはメモリでBCM2835はこの下に実装されているそうです。

マイクロSDカードのソケットは基板表についたのでこれは使い勝手が良くなりました。

HDMI端子はMINIですね。


マイクロUSBはPWRINとUSBがあります。

PIカメラ用コネクタがあります。

GPIO(40P)以外にRUN(リセット)とTV(コンポジット映像信号)がみえます。

LED(ACT)は1個になりました。

インストール
今回はCUIで確認を行いますが後にディスクトップ用途でも使ってみたいと思うので2017-03-02-raspbian-jessieをインストールします。

作業はいつものとおりPI3ディスクトップ
ダウンロードしたzipファイルを展開、32GBのカードをfat32でフォーマットしています。

# dd if=2017-03-02-raspbian-jessie.img of=/dev/sda bs=1M

現在のjessieは勝手にカードの領域を拡張してしまうので当サイトでは必要な領域だけを確保します。
gpartedは危険なToolです。自分自身の領域を削除することも可能なので右上のカードの選択を間違えないように注意します。

15000MBを確保しました。
これでバックアップを容易にする他にデータを分けるメリットがあります。
バックアップはパーテーション単位でも可能です。(こちらはまたの機会で)
必要であれば以下で作成したパーテーションを削除して拡張することも可能です。


残りの領域全部を新しく作成

メニューのチェックアイコンをクリックするまでは適用されません。


できたカードはsshを有効にするためboot領域にsshのファイル名で空のファイルを作成しておきます。

リモートから接続をするのでネットワークの設定をしておきます。
固定IPを割り当てるため/media/user/uuid/etc/dhcpcd.confを編集(要root)

# /media/pi/139ca52c-d45e-44ca-8b8c-12c0af0c9cf5/etc/dhcpcd.conf
interface eth0
static ip_address=192.168.11.13/24
static routers=192.168.11.1
static domain_name_servers=192.168.11.1

取り敢えずカードの準備は出来ました。pi zeroはイーサネットを持っていないため準備する必要があります。手持ちの中から使えそうなものを探してみました。

中華製ですが3年位前に購入(500円位)したものです

カードをセットしてアクセスしてみましょう。

$ ssh pi@192.168.11.13


2度目の電源投入からカードを読み込み始めます。
無事接続できているようです。

$ lsusb
Bus 001 Device 002: ID 0b95:772a ASIX Electronics Corp. AX88772A Fast Ethernet
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ dmesg | grep asix
[   16.275240] asix 1-1:1.0 eth0: register 'asix' at usb-20980000.usb-1, ASIX AX88772 USB 2.0 Ethernet, 00:0e:c6:f0:49:71
[   16.284916] usbcore: registered new interface driver asix
[   18.820466] asix 1-1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
[   18.956058] asix 1-1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1

もうひとつ試してみました。

エレコム LD-USB/T
LINK LEDは点灯しませんが(アクセスLEDはOK)こちらもつながりました。

スイッチハブは100Mで認識していますが実際LAN内でファイル転送をしてみるとasixの半分程度の速度になります。

$  lsusb
Bus 001 Device 002: ID 056e:abc1 Elecom Co., Ltd LD-USB/TX
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ dmesg | grep pegasus
[   10.413201] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver
[   10.455196] pegasus 1-1:1.0: eth0, LANEED USB Ethernet LD-USB/T, 00:90:fe:0d:f1:79
[   10.459052] usbcore: registered new interface driver pegasus


そんな訳でもう使い途のないLD-USB/TはPi Zero専用にマイクロBの尻尾をつけて使い倒すことにしました。
サイズメリットは無くなりますがコストメリットは大です。
Pi Zeroのベース部はミンティアのケースを使いました。コネクタ部分を切り取ればケース内に収まるのではと思うくらいZeroは薄いですね。

ネットワークもつながったのでraspi-config実行

Localisation OptionsからLocaleとTimezoneを設定
# apt update
# apt upgrade


raspbian-jessieをインストールしたので作成したパーテーション(/dev/mmcblk0p3)もオートマウントされています。

ZeroにはACT LED1個しかありません。起動時カードにアクセスしてLEDも点滅しますがアイドリング時は点灯しています。更に良く観察すると大きなデータを読み書きしている時にはカードにアクセス時消灯しているようにみえます。
ちょっと確認してみました。

root@raspberrypi:~ # cat /sys/class/leds/led0/trigger
none kbd-scrolllock kbd-numlock kbd-capslock kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock [mmc0] timer oneshot heartbeat backlight gpio cpu0 default-on input

led0はmmc0に割り当ててあります。ここはPi3も同様です。

# echo none > /sys/class/leds/led0/trigger
# echo 1 > /sys/class/leds/led0/brightness

Pi3はここで点灯しますがZeroは消灯します。Zeroはこのロジックをハード側で実装して電源ONモニターとして兼用していると思います

元のmmc0に設定を戻すには下記を実行するか再起動するとデフォルトの設定になります。

# echo mmc0 > /sys/class/leds/led0/trigger


次回はディスクトップ環境で試してみたいと思います。