Raspberry Pi 最初の設定をCUIで行う（ディスプレイ、キーボードがある場合）

セミナーやワークショップ用の備忘録。

本格的な操作はsshで行いますが、sshで接続するまでの最初の設定は Raspberry Pi にキーボード、ディスプレイを直接接続して行います。
sshで接続するのに必要なものは、sshの有効化とIPアドレスの調査、および Wi-Fi でインターネットに接続する場合は Wi-Fi 接続設定を行う必要があります。

# 事前の確認

Raspberry Pi と 母艦PC、および Raspberry Pi とインターネットとの接続を何で行うかを決定する必要があります。

- Wi-Fi ?
- 有線LAN　?

後ほど SSH で RaspberryPi と母艦 PC を接続しますが、設置場所のLAN環境のファイアウォールによって、インターネットへはアクセスできるのに RasbperryPiと母艦PCとの間の通信が遮断されることがあります。特に、Wi-Fi環境ではそういう設定になっているところがあるので注意。
また、母艦 PC は 5GHz の Wi-Fi に接続し、RaspberryPi は 2.4GHz の Wi-Fi に接続する、ないし母艦 PC がテザリングを使う、などでそれぞれが別の系統の Wi-Fi に接続すると SSH は難しくなるでしょう。

また、この書類は DHCP を使って IP アドレスが自動で割り当てられることを前提としていますが、固定IPアドレスを使うときは設定方法が変わります。



# 用意するもの。

- 母艦PC
- Rasbperry Pi
- microSDカード
- HDMIで接続するディスプレイ
- USBキーボード
- ネットワーク接続環境
- しっかりした電源ケーブル（microUSBケーブル）

# イメージを書き込む

microSDカードにイメージを書き込んでください。書き方については自分のパソコンに合わせて調べてみてください。

# RaspberryPiをディスプレイ、キーボードでつなげる

電源を繋げる前に、ディスプレイを繋げてください。（順序が逆だと画面が出力されません。）
電源を繋げて、画面が出ることを確認します。

# ログインします。

ユーザー名 pi パスワードは raspberry
パスワードは打ち込んでも画面に表示されません。

# 設定とインストール

以下の環境の設定方法です。

- Raspbian Stretch Lite
- Release date:2018-11-13


```

pi@raspberrypi:~ $ 
```

の後に、以下のように入力してエンターします。

```

pi@raspberrypi:~ $ sudo raspi-config
```

![IMG_20181212_002641.jpg](https://qiita-image-store.s3.amazonaws.com/0/139524/42a63924-45d8-1d10-f77e-17d29919a9cc.jpeg)


- 「4 Localisation Options」 を選び、I1 Change Localeで「ja_JP.UTF-8 UTF-8」を選ぶ。
そうするとConfiguring localsが出るのでC.UTF-8を選ぶ。（ja_JP.UTF-8を選ぶとHDMIで繋いだ時に文字化けするため。）
- 「4 Localisation Options」 を選び、I2 Change Timezoneで「Asia」を選び、「Tokyo」を選ぶ。
- 「4 Localisation Options」 を選び、I3 Change Keyboard Layoutで「Generic 105-key (Intl) PC」を選び、「Japanese」を選ぶ。Configuring keyboard-configurationでは、「
The default for the keyboard layout」を、「Configuring keyboard-configration」では、「No compose key」を選ぶ。
- 「4 Localisation Options」 を選び、I4 Change Wi-fi Countryで「JP Japan」を選ぶ。
- 「5 Interfaces Option」 で、「P1 Camera」を有効（enabled）にする
- 「5 Interfaces Option」 で、「P2 SSH」を有効（enabled）にする


ここまで終わったらFinishとして、
Would you like to reboot now? で「Yes」で再起動します。


# ネットワークの設定をする

有線LANの場合は、起動時にIPアドレスが出てきます。

![IMG_20181212_002442.jpg](https://qiita-image-store.s3.amazonaws.com/0/139524/973723a9-cae8-09ef-1d21-8d83b33149ec.jpeg)



無線LANの場合は、以下の設定をしましょう。

```

pi@raspberrypi:~ $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
```

中身を以下のように書き換えます。

![IMG_20181212_002020.jpg](https://qiita-image-store.s3.amazonaws.com/0/139524/dab17308-2506-ca56-b8bc-12ea66aab770.jpeg)


```

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="myssid"
psk="mypassphrase"
}
```

myssidは自分の無線LANのSSID,mypassphraseは自分の無線LANのパスフレーズに変更してください。

nanoは、Ctrl+Oとエンターで書き込み、Ctrl+Xで終了です。

```

pi@raspberrypi:~ $ sudo reboot
```

として再起動しましょう。

## 固定アドレスを使う場合

/etc/dhcpcd.conf の中に以下のように記述しているところがあります。

```

# Example static IP configuration:
#interface eth0
#static ip_address=192.168.0.10/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
#static routers=192.168.0.1
#static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1
```

これを、以下のように書き換えます。
今回は、IPv4のみなので以下のようにしました。

### 有線LANの場合

```

# Example static IP configuration:
interface eth0
static ip_address=192.168.0.212/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 8.8.8.8
```
### 無線LANの場合

これは、スマホでテザリングした時の例です。スマホのアドレスが192.168.43.103でした。

```

# Example static IP configuration:
interface wlan0
static ip_address=192.168.43.10/24
# static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=192.168.43.103
static domain_name_servers=192.168.43.103 8.8.8.8


```

再起動して、反映されたか確認してみましょう。

# IPアドレスを確認する

画面を見て確認します。
![IMG_20181212_002442.jpg](https://qiita-image-store.s3.amazonaws.com/0/139524/973723a9-cae8-09ef-1d21-8d83b33149ec.jpeg)


# ssh でログインする

Mac/Linuxの人は、 ssh pi@12.23.34.45 (12.23.34.45は先ほど調べたIPアドレスに入替えてください。)としてログインします。
Windowsの人は、teratermなどを使ってログインします。


# 母艦(PC)からログイン

PC に SSH クライアントをインストールしておきます。
いろんなSSHクライアントがありますが、Windows の場合は TeraTerm などが定番です。
エッジ側の Rasbperry Pi にログインします。
IPアドレスは事前に調べたアドレス、ユーザ名は「pi」、パスワードは特に変更していなければ「raspberry」です。

Mac や Linux の場合は

```

ssh pi@（IPアドレス）
```

のようにして接続します。
もし、IPアドレスが169.254.12.24の場合は

ssh pi@169.254.12.24
となります。





# ログインしてから設定


```

pi@raspberrypi:~ $ sudo apt-get update

```

として、中身のソフトウェアが更新されているかどうかを調べます。
その後、以下をインストールします（僕、nanbuwksのワークショップで使う場合）。

```

pi@raspberrypi:~ $ sudo apt-get install vim python3 python3-pip

```

としてインストールしてください。

その後、



```
pi@raspberrypi:~ $ echo "set mouse=" > ~/.vimrc

```

として、vim の設定を変更します（マウスの挙動を変更します）。

sudo vim したときの挙動も変更しておきます。
```
pi@raspberrypi:~ $ sudo sh -c 'echo "set mouse=" > ~/.vimrc'
```


以上で、基本設定は終了です。


# Linux の基本を学ぶ

ここからは、

- vim
- ls
- date
- grep
- cp
- rm
- cd
- mkdir
- ifconfig
- sudo
- chmod 
- chown
- chattr
- shutdown

などのコマンドを使い、また シェルスクリプトやpythonなどのプログラム言語を使って操作していくこととなります。