RaspberryPi3(STRETCH )のセットアップ　OSのインストールからHello Worldまで

#はじめに
今までRaspberryPiのセットアップは何度も行ってきましたが、その度にセットアップ方法を検索していました。
情報を共有したい人も出てきたので、そろそろ自分でもまとめてみようと思います。

[SSHの設定](https://qiita.com/krunaru23/items/67f6acc7c97acaf47326)を書きました。

#必要な機材
まずは、必要なものを準備します。

1. Windows PC(macでも出来ますが、所有していないので省略します)
2. RaspberryPi3 Model B
3. micro SDカード(8GB以上推奨)
4. HDMIケーブル
5. ディスプレイ(HDMI対応)
6. microUSBケーブル
7. キーボード
8. マウス

#1. OSイメージのダウロード
以下のサイトから必要なOSイメージをダウンロードします。
[本家サイト](https://www.raspberrypi.org/downloads/)

多数のOSが公開されていますが、今回はRaspbianをダウンロードします。

DESKTOP、LITHの2種類がありますが、下記のような特徴があります。

DESKTOP：標準でデスクトップ環境が入っており、初心者向け
LITH　 ：CUI環境のみ、軽量でサーバ向け

今回はDESKTOP版を選択します。
下記のリンクをクリックするとダウンロードが始まります。
[RASPBIAN STRETCH WITH DESKTOP 2018-04-18](https://downloads.raspberrypi.org/raspbian_latest)
![Raspbian.png](https://qiita-image-store.s3.amazonaws.com/0/161128/84b531e8-d785-d563-778d-02d2c103e1ef.png)

ダウンロードしたイメージはツールで解凍してください。

※2018/05/25日現在では kernel version 4.14が最新です。

#2. OSイメージをSDカードに書き込む
1. [Win32 Disk Imager](https://ja.osdn.net/projects/sfnet_win32diskimager/)をインストールする
　　

2. microSDカードをPCに差し込む
　
3. アプリを起動し、Image Fileに先ほどダウンロードしたOSイメージを、DeviceにはSDカードがマウントされているドライブを指定する
※Deviceは絶対に間違えないようにしてください。
　私は間違えてUSBメモリを指定し、ファイルを上書きしたことがあります。。。。
![Win32 Disk Imager.png](https://qiita-image-store.s3.amazonaws.com/0/161128/e73ffab8-6314-e8d1-8841-7ebe4a770536.png)
　
　
4. Writeボタンをクリックし書き込む
![Win32 Disk Imager(2).png](https://qiita-image-store.s3.amazonaws.com/0/161128/e0dd252c-9259-fe55-a17f-9108b0dda6ba.png)

#3. RaspberryPiを起動する
1. SDカードをセットする
　先程、OSイメージを入れたmicroSDカードをRaspberryPiに差し込みます。　
　![20180527_082548 - .jpg](https://qiita-image-store.s3.amazonaws.com/0/161128/c758718b-8d37-4461-72a2-ae8b0b5d68ab.jpeg)
　

2. HDMIケーブルを接続する
　![20180527_081904 - コピー.jpg](https://qiita-image-store.s3.amazonaws.com/0/161128/b8197e37-ccd7-0111-9448-5db7bd43a2ae.jpeg)　
　
3. micro USBケーブルを差し込む
　![20180527_083633 - コピー.jpg](https://qiita-image-store.s3.amazonaws.com/0/161128/c6c5e137-2261-3a17-087c-1fb9d485a1e0.jpeg)　

　
4. 電源を入れる
　緑色のLEDが点滅すればRaspberryPiの電源が入っています。
　赤色のLEDはRaspberryPiの電源が入っているかは関係なく、電源に接続されていれば点灯します。
　![20180527_083657 - コピー.jpg](https://qiita-image-store.s3.amazonaws.com/0/161128/57acdf78-3873-934f-7a01-c6286f26bba6.jpeg)
　
5. ディスプレイを確認する
　RaspberryPiを起動すると以下のような画面が表示されます。
　これで起動が完了しました。
　![2018-05-22-131458_1824x984_scrot - コピー.png](https://qiita-image-store.s3.amazonaws.com/0/161128/1fd8c378-3268-957d-6809-ad4c0c65d316.png)

#4.初期設定を行う
###1. 設定画面を開く
1. ターミナルを起動しコマンドを実行する
　画面左上の黒いアイコンをクリックします。
　![2018-05-22-131458_1824x984_scrot - コピー (2).png](https://qiita-image-store.s3.amazonaws.com/0/161128/d0a06e9f-36ec-4c4f-aba2-f1b868b3acd3.png)　
　

2. ターミナルにコマンド入力する

```terminal
$ sudo raspi-config
```

　![2018-05-22-131629_631x270_scrot - コピー.png](https://qiita-image-store.s3.amazonaws.com/0/161128/b356b00e-b1e5-78c7-4758-fc2e71bb3351.png)


　　コマンドを入力しEnterキーを押すと以下のような画面が開きます。
　　この画面で各種設定を行います。
　　![2018-05-22-131702_783x375_scrot - コピー.png](https://qiita-image-store.s3.amazonaws.com/0/161128/49e1448b-31f7-29f5-99d5-73a1a9d9c717.png)
　
###2. microSDカードのパーティションを拡張する
　「7 Advanced Options」を選択します。
　矢印キーでカーソルを合わせ、Enterで選択できます。
　![2018-05-22-223015_783x375_scrot - コピー.png](https://qiita-image-store.s3.amazonaws.com/0/161128/ee3aaf0e-de5f-4035-7cdc-147684656ce8.png)

　
　「A1 Expand Filesystem」を選択します。
　![2018-05-22-223022_783x375_scrot - コピー.png](https://qiita-image-store.s3.amazonaws.com/0/161128/08420d7e-5a5b-683f-e1fe-b0a6ad4c6ace.png)

　
　これでパーティションの拡張が完了しました。
　![2018-05-22-223031_783x375_scrot - コピー.png](https://qiita-image-store.s3.amazonaws.com/0/161128/8efc8b91-20d3-5c56-dd16-1f78e1cac95d.png)

###3. ロケーション変更
1. 日本語化

　「4 Localisation Options Set up ......」を選択します。
　![2018-05-22-132522_783x375_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/10249d8a-1187-2aaa-3a6a-74c626139559.png)
　
　「I1 Change Locale」を選択します。
　![2018-05-27-110123_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/eea7fa53-9108-1dd3-3fd1-c8adb30a0f05.png)

　「ja_JP.UTF-8 UTF-8」に合わせ、Spaceキーで＊を付けます。
　Tabキーで＜OK＞に移動し、Enterキーで決定します。
　![2018-05-27-111142_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/74a4899a-d1e1-fff2-d150-a9a0d6c2ce61.png)

　「ja_JP.UTF-8」を選択します。
　![2018-05-27-111202_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/f67c9dbf-eb76-637a-3bfa-c194b9ab31a1.png)

　以上で日本語化が完了です。
　再起動で日本語に切り替わりますが、再起動は初期設定がすべて終わってからします。

　
2. タイムゾーンを日本に合わせる

　「I2 Chage Timezone」を選択します。
　![2018-05-22-132602_783x375_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/9ab5239a-5889-2b58-413c-a0c872ca98b6.png)

　「Asia」を選択します。
　![2018-05-22-132618_783x375_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/4561a6da-b29d-121b-0708-02857fd451a2.png)

　「Tokyo」を選択します。
　![2018-05-22-132642_783x375_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/924f4458-e235-1a17-76ea-72d80621107d.png)

　以上で時間が日本時間となります。

3．キーボード設定
　「I3 Chage Keyboard Layout」を選択します。
　![2018-05-27-114750_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/8f3db5ec-9edd-9666-f190-4aba1ac6ddd5.png)

　「Generic 105-key (Intel) PC」を選択します。
　![2018-05-27-114850_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/255f353e-57ab-0f44-71c6-06274989d93b.png)

　USキーの設定が出てきたら「Other」を選択します。
　![2018-05-27-115124_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/2ff2ac58-fa1d-03de-5a99-2051dc269f63.png)

 「Japanese」を選択します。
　![2018-05-27-115135_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/481ee47b-62c4-1c80-2aed-3774bb270edd.png)

　「Japanese - Japanese(OADG 109A)」を選択します。
　![2018-05-27-115144_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/42a708ac-83f3-9a49-5a90-e6334fe7f5f2.png)

　「The default for the keyboard layout」を選択します。
　![2018-05-27-115150_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/24e03aa0-bec3-8063-5318-e82fe5f7e447.png)

　「No compose key」を選択します。
　![2018-05-27-115156_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/e7a91f57-eb8c-7388-7197-5e0bfed12c2d.png)

　「No」選択します。
　![2018-05-27-115210_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/0755ad45-933f-5519-5aa6-c38413ea022c.png)

　以上でキーボードの設定が完了しました。

4． Wifi設定（国）
　「I4 Change Wi-fi Country」を選択します。
　![2018-05-22-222702_783x375_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/0b8761f5-510b-c2f6-c9a8-48ec58936b18.png)

　「JP Japan」を選択します。
　![2018-05-22-222724_783x375_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/769e6c03-2f14-fc4f-5896-d16a209d2788.png)

　「OK」を選択します。
　![2018-05-22-222734_783x375_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/4efc9f75-a9ae-8f87-cb85-756faa96536a.png)



###4. インタフェース・オプションの変更
1． カメラモジュールの有効化
　「Inerfacing Options」を選択します。　
　![2018-05-27-121110_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/717e57cf-8c04-4a20-3d45-35c60ee820e2.png)

 「P1 Camera」を選択します。
　![2018-05-27-121117_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/d723330b-0656-df3c-e19a-7e3576204cab.png)

　＜Yes＞を選択します。
　![2018-05-27-121132_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/aa752026-4d8b-8767-509d-1b08844a4e5f.png)

　以上でカメラモジュールが有効化されました。
　その他、SSH・I2Cなど必要に応じて有効化しましょう。

###5. インターネット接続
　「2 Network Options」を選択します。
　![2018-05-27-122149_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/01a32351-cfee-31e1-46fc-ca628e02ce15.png)

　「N2 Wi-fi」を選択します。
　![2018-05-27-122201_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/1c9f3fc2-1528-29c1-56b3-bd4c64e5c236.png)

　接続したいネットワークのSSIDを入力します。
　![2018-05-27-122252_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/485ed8d3-9a18-f9c2-c563-a0faeb836c96.png)

　パスワードを入力します。
　![2018-05-27-122315_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/bebac75d-0e89-1656-7ff9-41b323a54f7c.png)

　以上でwifiの設定が完了しました。

###6. 再起動
　「Finish」を選択します。
　![2018-05-27-123012_655x390_scrot.png](https://qiita-image-store.s3.amazonaws.com/0/161128/e1be8038-d1af-57f4-55b8-36d63f776d13.png)

　再起動を要求されたら再起動を行います。

　以上で初期設定が終わりました。
　お疲れ様でした。
　この初期設定が終わった段階で、OSイメージのバックアップをしておくと、次回から初期設定の手間が省けます。

#5. ソフトウェアの更新
1．パッケージリストの更新

```terminal
$ sudo apt-get update
```
2．インストール済みパッケージの更新

```terminal
$ sudo apt-get upgrade
```

3． distを最新バージョンにアップグレード

```terminal
$ sudo apt-get dist-upgrade
```

１、２の手順はRaspberryPiを起動する度に行うと良いです。

#6. HelloWorld
　さて、ようやく初期設定が終わりました。
　次は、恒例のHelloWorldを表示させたいと思います。
　今回はRaspberryPiにおいてよく使われるPythonとC言語で行います。


##PythonでHelloWorld
1. エディターを起動

　今回はviを使いますが、お好みのエディターをお使いください。
　CUIベースでは「nano」、GUIベースでは「gedit」が使いやすいです。
　統合開発環境としてはPython3(IDLE)がデフォルトで入っています。

　vim、nanoなどのエディターを使用する場合はインストールが必要です

```terminal
$ sudo apt-get install vim
$ sudo apt-get install nano
```

2．コーディング

　テキストエディターを起動し、プログラムを記述します。

```terminal
$ vi hello.py
```

```hello.py
print ("Hello World")
```

3．実行
　Pythonはスクリプト言語のため、コンパイルは不要です。

```terminal
$ python3 hello.py
Hello World
```

##C言語でHelloWorld
1．エディターを起動

```terminal
$ vi hello.c
```
2．コーディング

```hello.c
#include <stdio.h>

int main(){
  printf("Hello World\n");
  return 0;
}
```
3．コンパイル

```terminal
$ gcc -o hello hello.c
```
4．実行

```terminal
$ ./hello
Hello World
```

#7. まとめ
これでRaspberryPiの初期設定とHello Worldが終わりました。
いかがでしたか？
初期設定は大変なものですが、一度しておけばしばらくすることはないと思います。
バックアップをとっておくことをオススメします。

今回はHello Worldを表示させるだけでしたが、PythonやC言語でLチカもできます。
これについては、後日書こうと思います。

ではまた。

[SSHの設定](https://qiita.com/krunaru23/items/67f6acc7c97acaf47326)を書きました。


#8. 参考サイト
RaspberryPi本家サイト
https://www.raspberrypi.org/

RaspberryPiセットアップ（書き込み～SSH設定まで）
https://qiita.com/Halhira/items/1da2ae543217be26988a

RaspberryPiパッケージのアップデート方法
http://my-web-site.iobb.net/~yuki/2017-07/raspberry-pi/update/