Day8 Raspberry Piと無線LAN

Raspberry PiにUSB無線LANを接続する方法を書きます。

今回は以下のハードウェアを使用します。
・Raspberry Pi model B R2
・Buffaloの無線LAN子機(WLI-UC-GNM : http://www.amazon.co.jp/BUFFALO-%E7%84%A1%E7%B7%9ALAN%E5%AD%90%E6%A9%9F-%E3%82%B3%E3%83%B3%E3%83%91%E3%82%AF%E3%83%88%E3%83%A2%E3%83%87%E3%83%AB-11n%E6%8A%80%E8%A1%93%E3%83%BB11g-WLI-UC-GNM/dp/B003NSAMW2/ref=sr_1_1?ie=UTF8&qid=1392612374&sr=8-1&keywords=WLI-UC-GNM)

無線LANの子機は様々な会社から様々なブランドのものが販売されています。しかし、その核となるコントローラチップを製造している肝心のベンダーの数はずっと少ない。そこで、WLI-UC-GNMの採用しているチップを調べて、それに合わせてファームウェアをインストールすれば、無線LAN子機のコントロールが可能となるのである。結果から言うと、今回はralinkという会社のチップが使用されており、デフォルトでralink社のコントローラ対応のファームウェアはインストールされていた。そのため、特に新たにファームウェアを入れる必要はありませんでした。

次は、無線LANの設定についてです。実は、CUIで巷に出回っている情報を元に、かなりトライしましたが、はまってしまい、結局成功しませんでした。

結局、VNC接続で一度GUIでログインして
「WiFi Config」-> 「Scan」-> 表示されたネットワークリストの中で自分が接続したいものをダブルクリック -> 「PSK」に無線LANのパスワードを入力 -> トップ画面で「Connect」をクリック。

あとは、再起動すれば、有線LANを抜いた状態でも自動的に無線LANで接続できるようになっています。

【参考文献】
『お手軽ARMコンピュータ ラズベリー・パイでI/O』CQ出版株式会社 2013
Eben Upton、Gareth Halfacree著、株式会社クイープ訳『Raspberry Piユーザーガイド』インプレスジャパン 2013
Japanese Raspberry Pi Users Group『Raspberry Pi[実用]入門』技術評論社 2013
nekosan『「Raspberry Pi」でつくる電子工作』工学社 2013



Day7 SSH接続でX window systemを使用する

X window systemとは、LinuxなBSDなどの一般的なUNIXが採用しているGUI環境のことを指す。以下の図に示すように、X window systemは、サーバー&クライアントシステムを採用している。このメリットは、いちいちVNCのように生の画像をデータで送るのではなく、GUIの構成を行う処理をクライアントのPCで担うことが可能な点である。すなわち、Raspberry Piから、私が使用しているMacには、GUIを表示するのに必要な情報が送られてくるだけで、実際にGUIを構築するのは、こちらのMacなのである。このことは、Webサーバーのシステムに似ている。

【画像情報】
Recreation of Image:X client server example.png 
日付 2006年11月21日 
原典 Wikimedia Commons 
作者 Original by David Gerard, recreated by Efitu
 許可 (ファイルの再利用) GFDL


方法は簡単。sshコマンドの後に-Xというオプションを付けるだけ。Raspbianはデフォルトで、ssh接続でX window systemの利用が可能となっている。
 $ ssh -X 

#midoriでテスト
$ midori &
 #Rでテスト
$ sudo apt-get install update
$ sudo apt-get install r-base

$ R
> hist(rnorm(100))


Day6 VNCでMacbookからRaspberry PiにGUIで接続

VNC(virtual network computing)という方法で、MacbookからRaspberry PiにGUIで接続する方法を紹介します。VNCでは、操作を行うたびにネットワークを介した画像データの送信が行われるため、動作が遅くなりがちである点に注意が必要です。

######## Raspbian側の操作#############

#vncサーバーをインストール
$ sudo apt-get update
$ sudo apt-get install tightvncserver

#ディスプレイ番号0、解像度1024×600、色数16bitでvncserverを起動
$ vncserver :0 -geometry 1024x600 -depth 16


#########Mac側の操作##############
「Finder」-> 「Go」-> 「Connect to Server」で以下のウィンドを開く。
ディスプレイ番号0でvncserverデーモンを起動しているため、"vnc://192.168.11.3"と入力。
ディスプレイ番号が1の場合は、"vnc://192.168.11.3:5901"、、ディスプレイ番号が2の場合は"vnc://192.168.11.3:5902"と入力。
 vncサーバーを起動させた時に設定したパスワードを入力
接続に成功すると以下のような状態になる。


【参考文献】
林和孝『Raspberry Piで遊ぼう』ラトルズ 2014 pp281-283
http://www.obenri.com/_vnc/vnc_server1.html

Day5 raspi-configを研究する

今回は、Raspbianの種々の設定を行うためのコマンドであるraspi-configについて勉強したことをまとめる。


##########rapi-configの各項目について#############
まずは、raspi-configを起動する
$ sudo raspi-config
1 Expand Filesystem
SDカードの未使用領域を拡張して、すべての容量を使えるようにする

2 Change User Password
piユーザーのパスワード変更

3 Enable Boot to Desktop/Scratch
GUI起動をデフォルトにするかを設定できる。

4 Internationalisation Options
     Change Local
     Change Timezone
     Change Keyboard
国際化設定メニュー。sshで接続している分には、とりあえずTime ZoneだけAsian -> Tokyoに変更した。

5 Enable Camera
カメラモジュールを使用可能にする。また今度設定する。

6 Add to Rastrack
Rastrackの登録(http://rastrackco.jk/)

7 Overclock
オーバークロオクの設定。特に変更の必要はない。

8 Advanced Options
     Overscan     画面表示において余白を取るか、目一杯取るか
     Hostname     ホスト名の設定
     Memory Split     CPUに割り当てるメモリの容量の設定。GPUとの兼ね合いを考えるときに必要。
     SSH     sshサーバーを起動するかどうかの設定。デフォルトではEnabledになっているのでそのままで良い。万が一、セキュリティ上、offにしたい場合には、Disableにする必要がある。
     SPI     SPIを使うためのKernelモジュールを読み込むかどうかの設定
     Update     Raspi-configのアップデート
9 About raspi-config
raspi-configの説明

###########################################




##########raspi-configの本体を暴く#############
raspi-configは実は、単なるシェルスクリプトのようです。つまり、raspi-configは我々がコマンドラインを通してもできることを、インタラクティブな環境を提供することで簡略化していると言えるでしょう。

それでは、raspi-configの中身を見てみます。

raspi-configのパスを知る
$ which raspi-config
/usr/bin/raspi-config

raspi-configの中身を閲覧する
$ less /usr/bin/raspi-config

ファイル内をいろいろ見てみると、expand_rootfsの項目にfdiskが出てきたりと、raspi-configの裏で動くコマンドの数々が理解できます。
###########################################
 


【参考文献】
林和孝『Raspberry Piで遊ぼう』ラトルズ 2014 Chapter 2
Japanese Raspberry Pi Users Group『Raspberry Pi[実用]入門』技術評論社 2013

Day4 expand_rootfsで、ルートファイルシステムを最大限に拡張する

http://kappa-bioinformatics.blogspot.jp/2014/02/raspbiansd.htmlで書いたように、Raspbianのルートファイルシステムのは3G弱しかない。よって、一般的なSDカードに最初のセクタからddコマンドでベタ書きするのでは容量が有効に使えないのである。そこで、raspi-configの中にあるexpand_rootfsという機能を使用する。これにより、ルートファイルシステムを空き容量を最大限使って拡張することができる。

Raspbianへアクセス(Macより)
$ ssh pi@192.168.11.3


まずは、既存のファイルシステムのサイズの確認
$ df -h












次に、raspi-configを呼び出す
$ sudo raspi-config



「1 Expand Filesystem」を選択してEnterをおす。すると、処理が実行される。


raspi-configをfinishするときにリブートすることを求められるため、それに応じる。


再度、手元のMacからRaspbianにアクセスする。
$ ssh 192.168.111.3

ファイルシステムの容量を確認する
$ df -h

目的通りにSDカードの容量いっぱいにルートファイルシステムが拡張された事がわかる。


###############参考文献##################
Eben Upton、Gareth Halfacree著、株式会社クイープ訳『Raspberry Piユーザーガイド』インプレスジャパン 2013
Japanese Raspberry Pi Users Group『Raspberry Pi[実用]入門』技術評論社 2013
nekosan『「Raspberry Pi」でつくる電子工作』工学社 2013
###################################################