Raspberry Pi Setup memo


Raspberry Piの2とAが手元にあったのでセットアップと
そのあと試した事の備忘録。GUIは極力使わない方向で。
まだ書き漏れしてる事がありそうなので後でまたアップデートします。(SDカードのセットアップとかね)

# Timezoneの設定
`raspi-config`のInternationalisation Optionsから変更可能
特に迷う事はないので特に詳細は書かなない。

# キーボードレイアウト
`raspi-config`のInternationalisation Optionsから変更可能
Generic 105key(Intel)PCがデフォルトで選ばれていたので、それをそのまま選択。キーボード選択でEnglishになってたので、Japaneseに変更。どうせ後からSSHしてしか作業しないんだけど一応ちゃんと設定したおこう。

# 日本語環境の構築

## 日本語フォントのインストール
```
sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname
```

## 日本語入力環境のインストール
```
sudo apt-get install uim uim-anthy
```

次にキーの設定をします

```
$ vi /usr/share/uim/generic-key-custom.scm
```

```
(define-custom 'generic-on-key '("zenkaku-hankaku" "<Shift> ")
(define-custom 'generic-off-key '("zenkaku-hankaku" "<Shift> ")
```
を以下に変更

```
(define-custom 'generic-on-key '("zenkaku-hankaku" "<Control> ")
(define-custom 'generic-off-key '("zenkaku-hankaku" "<Control> ")
```

## 日本語対応ターミナルのインストール
```
sudo apt-get install fbterm
```

`.bashrc`の下記を修正してfbtermで起動する様にしましょう。

```
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac
```

下記の様に`linux)`以下の記述を追加します

```
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
linux)
    if [ -c /dev/fb0 ]; then
        jfbterm -q -e uim-fep -u anthy
        exit
    fi
    ;;
*)
    ;;
esac
```

# CPU情報を見る
`cat /proc/cpuinfo`で参照可能

# 無線LANの設定
USBドングル刺せばすぐ認識しました。
`lsusb`で認識されてるか確認できます。

まず`/etc/wpa_supplicant/wpa_supplicant.conf`を編集する

```
sudo sh -c "wpa_passphrase SSID名 パスワード >> /etc/wpa_supplicant/wpa_supplicant.conf"
```
次に、`network{}`の中に`ssid`と`psk`が入っているはずなので足りない情報を追記する。

```
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="foo"
        scan_ssid=1
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        group=CCMP
        #psk="bar"
        psk=xxxxxxxxx
}
```

次に`/etc/network/interfaces`を編集します。

IP固定で運用する気はまだないので`auto wlan0`を追記し`iface wlan0 inet manual`を`iface wlan0 inet dhcp`に変更、`wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf`の`wpa-roam`を`wpa-conf`に変更します。

```
auto lo 

iface lo inet loopback
iface eth0 inet dhcp

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

``` 

なかなか繋がらんなと思ったら、`wpa-roam`の変更に気づかないままだった。
同じとこでハマってた人を発見
http://itkobo-z.jp/wp/archives/312
wpa-confとwpa-roamね、なるほど。

以下でネットークインタフェースを再起動して接続を確認。
`reboot`しちゃってもいい。

```
ifdown wlan0
ifup wlan0
```

# 日本語化
フォントのインストール

```
sudo apt-get install jfbterm
```

`rasps-config`で`Locale`の設定を日本語に設定設定する

# VNC接続
GUIは使わない方向ですが、一応できるようにしておきますね。
iPadのVNC Viewerなんかで繋げて使ってみよう。
参考 http://yamaryu0508.hatenablog.com/entry/2014/08/16/202441

- `apt-get install tightvncserver`
- `tightvncserver`で初回にパスワード設定を求められます。
- あとはMacからだとFinderの`コマンド+K`でサーバへ接続します。`vnc:ラズベリーパイのIP:5901`で接続できるはず。

# カメラを使う
## 静止画撮影
`raspistill`ってのが標準で入ってるっぽいね
参考 http://www.mztn.org/rpi/rpi23.html

## 動画撮影
静止画同様に`raspivd`ってのが入ってるね。
参考 http://www.mztn.org/rpi/rpi23.html

## 動画のストリーミング
色々探してみた結果mjpg-streamerが一般的な感じだったので、
これにしてみる。
https://github.com/jacksonliam/mjpg-streamer

参考 http://neko-kousaku.hatenadiary.jp/entry/2014/05/26/183522

# GPIOを使う
個人的な嗜好からNode.jsでGPIOをすることにした。
nodeは`nodebrew`で管理することにした。
## Raspberry Pi & Raspberry Pi Type A
+ `nodebrew ls-all`でインストールできるnodeのバージョンを確認。
+ `nodebrew install v0.12.2`でソースからインストール
+ TypeAについてはソースのダウンロードの後、処理が進まなくなったので、`nodebrew install-binary v0.10.28`をインストール、初代Raspbery Piでビルドしている`v0.12.2`が使えるならそれを使いますかね。 

## Raspberry Pi 2
+ `nodebrew install v0.12.2`でインストール
+ Raspberry Pi 2ではアーキテクチャが変わってるらしい
+ インストール時間は2〜3時間くらいか、結構覚悟してやらないと。

### gpio操作ライブラリ
これを使う事にしました。https://www.npmjs.com/package/rpi-gpio


# ファイル共有(Mac)
`apt-get install netatalk`