Help us understand the problem. What is going on with this article?

[超初心者向け]RaspberryPiにOS(Raspbian)をインストールして起動し、vimやScratchが使えるようになるまで

More than 1 year has passed since last update.

本手順のRaspbianのバージョン

[Release date:2017-01-11]で確認しています。

OS(Raspbian)をインストールしてWi-Fiを設定する

設定手順の一例

RaspberryPiはOSをSDカードに書き込みますが、その方法は2通あります。NOOBSより直接イメージを書き込む手順の方が失敗しにくいようです。リンク先の手順は前提となるRaspbianのバージョンが古く、実際と異なる場合があります。

SDカードに直接イメージを書き込み、USBシリアル変換ケーブルでコンソール画面に入り、Wi-Fiの設定等を行うまでの手順

SDカードにイメージを書き込むときにPCとOSイメージ書き込みアプリが必要。

NOOBSでインストールを行い、Wi-Fiの設定等を行うまでの手順

HDMI接続モニタ・USBキーボード・USBマウスが必要。

RaspberryPiを起動する

  • OSインストール済みのmicro SDカードを差し込みます
    Slack for iOS Upload3.png

  • ACアダプタに接続されたmicro USBケーブルを差し込みます
    Slack for iOS Upload2.png

  • 緑色のLEDが点滅していることを確認します
    7993b43a-9270-ac18-0e0e-540034a2e403.jpg

コンソール画面の表示

2通りの方法があります。

有線LANは何も設定しなくてもLANケーブルを繋ぐだけでDHCPでIPアドレスを取得してくれます。SSH接続する場合は、有線LANまたはWi-FiのIPアドレスを確認しておきます。

GUIでIPアドレスを確認する

RaspberryPiにHDMI接続モニタ・USBキーボード・USBマウスを接続して起動すると下記のGUIが起動するはずです。DHCPでIPアドレスが取得できる有線LANに接続している場合は、右上のネットワークアイコンにマウスオーバーすればIPアドレスが表示されます。下図では「192.168.0.3」であることが分かります。
192.168.0.3  2017-02-11 22-51-15.png

GUIでWi-Fiを設定する

RaspberryPi 3はWi-Fi内蔵ですが、それ以外のモデルではあらかじめUSB接続タイプのWi-Fiアダプタ(一例)をRaspberryPiのUSBポートに接続しておく必要があります。

  • 接続するSSIDを選択します
    スクリーンショット 2017-02-11 23.19.12.png

  • パスワードを入力します
    192.168.0.3  2017-02-11 23-22-43.png

  • 接続できました
    192.168.0.3  2017-02-11 23-33-41.png

  • Wi-FiのIPアドレスを確認します
    スクリーンショット 2017-02-11 23.57.58.png

ここで設定したWi-Fiのアカウント情報は/etc/wpa_supplicant/wpa_supplicant.confに書き込まれています。

GUIでターミナルを起動する

192.168.0.3  2017-02-11 22-52-51.png

ターミナルでIPアドレスを確認する

ターミナル画面を開きifconfigコマンドを打つとIPアドレスがわかります。「$」のあとが入力するコマンドを表しています。2行目以降はコマンドの実行結果が出力されている様子です。下記の場合、192.168.0.101がRaspberryPiの有線LANIPアドレスであることが分かります。「eth0」は有線LAN、「wlan0」はWi-Fiを表します。

$ ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:02:44:cb  
          inet addr:192.168.0.3  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::aa0:2c5c:431e:d3e3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:135 errors:0 dropped:1 overruns:0 frame:0
          TX packets:108 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:23118 (22.5 KiB)  TX bytes:14815 (14.4 KiB)
(以下省略)

SSHを有効化する

2016年11月頃以降のRaspbianイメージから、セキュリティを考慮してデフォルトではSSHが無効になっています。SSHを利用する場合は、ターミナル画面を開いて以下の手順で有効化します。グレーバックの画面では、[↑][↓][←][→]キーで選択、[Enter]キーで決定します。

$ sudo raspi-config

pi@raspberrypi: ~ — ssh pi@192.168.0.3 — 90×30 2017-02-11 22-25-40.png
pi@raspberrypi: ~ — ssh pi@192.168.0.3 — 90×30 2017-02-11 22-26-00.png
pi@raspberrypi: ~ — ssh pi@192.168.0.3 — 90×30 2017-02-11 22-26-28.png

パスワードを変更する

RaspberryPiを常時起動させておく場合は、セキュリティを考慮してpiユーザーのパスワードを変更しましょう。新しいパスワードを聞かれたら同じものを2回入力します。

$ sudo passwd pi
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

RaspberryPiにSSHで接続する

PCからSSHで接続するには、RaspberryPiのIPアドレスが必要です。IPアドレスを調べる手順は前項を参照して下さい。
デフォルトのログインアカウントは下記の通りです。

ID pi
PW raspberry

Mac

  • 標準で入っているターミナルを起動します

    スクリーンショット 2016-08-01 20.13.24.png

  • 次のコマンドを実行します(xx.xx.xx.xxはRaspberryPiのIPアドレス)

$ ssh pi@xx.xx.xx.xx
  • 初回接続時は下記のように尋ねられるので、yesを入力します
The authenticity of host '192.168.0.7 (192.168.0.7)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)?
  • ...password:と表示されたらraspberryを入力します。パスワードは入力しても何も表示されません。
    下図のような表示になったらログイン成功です
    スクリーンショット 2016-08-01 20.19.44.png

Windows

今回はターミナルソフトとしてインストール不要のPuTTYを使用します。

PuTTYをダウンロードする

ダウンロードはこちら
デスクトップ等にダウンロードして、下図のアイコンをダブルクリックすれば起動します。
キャプチャ.PNG

PuTTYでSSH接続する

  • PuTTYを起動します
  • RaspberryPiのIPアドレスを入力して[Open]をクリックします
    b4818159-7cbd-99ef-3107-845f01eeb814.png

  • 初回接続時のみ下図が表示されるので[はい]をクリックします
    PuTTY Security Alert 2016-08-01 13.51.59.png

  • Login as:と表示されたらpi
    ...password:と表示されたらraspberry
    を入力します。パスワードは入力しても何も表示されません
    34a18d44-435b-77bd-3cc4-9e76bd738e6f.png

  • 下図のような表示になったらログイン成功です
    1ff18ed5-a68d-badc-8bcf-b58ec5b94acf.png

インターネットに接続されていることを確認する

wgetコマンドで適当なURLを打ってみればインターネットに接続できているか確認ができます。試しにhttps://google.co.jp に接続してみましょう。「$」のあとが入力するコマンドを表しています。2行目以降はコマンドの実行結果が出力されている様子です。インターネットに接続されていれば、index.htmlがダウンロードされます。

 $ wget https://google.co.jp
--2016-03-23 17:53:19--  https://google.co.jp/
Resolving google.co.jp (google.co.jp)... 2404:6800:4003:809::2003, 106.162.198.104, 106.162.198.123, ...
Connecting to google.co.jp (google.co.jp)|2404:6800:4003:809::2003|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.google.co.jp/ [following]
--2016-03-23 17:53:30--  https://www.google.co.jp/
Resolving www.google.co.jp (www.google.co.jp)... 2404:6800:4007:805::2003, 106.162.192.173, 106.162.192.167, ...
Connecting to www.google.co.jp (www.google.co.jp)|2404:6800:4007:805::2003|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’

index.html              [ <=>                  ]  18.90K  --.-KB/s   in 0.1s

2016-03-23 17:53:32 (130 KB/s) - ‘index.html’ saved [19358]

パッケージリストのアップデートとvimのインストールを行う

RaspberryPiでパッケージのインストールを行うときは、必ず最初にパッケージリストのアップデートを行います。また、テキストエディタとしてviがあらかじめインストールされていますが、日本語キーボードではまともに動作しないので、vimをインストールします。sudoは管理者として実行するためのコマンドです。アプリのインストールや再起動など、管理者権限が必要な時にコマンドの前につけます。

$ sudo apt-get update
  (途中省略)
$ sudo apt-get install -y vim
  (途中省略)

vimでテキストを編集する

Linuxの設定は、そのほとんどがテキストファイルの編集によって行われます。代表的なテキストエディタであるvimの基本的な使い方を覚えましょう。
$ vim {file_name}でvimが起動します。helloworld.txtというファイルを作成して編集してみましょう。

$ vim helloworld.txt

pi@raspberrypi_ ~ 2016-08-01 12.54.28.png

vimが起動しました。しかし現在は「コマンドモード」なので文字が入力できません。「i」キーを押すと編集モードに変わって入力できるようになります。画面左下の-- INSERT --が目印です。
pi@raspberrypi_ ~ 2016-08-01 12.57.45.png


何か文字を打ってみましょう。
pi@raspberrypi_ ~ 2016-08-01 13.00.51.png


ファイルを保存して終了しましょう。「Esc」キーを押すとコマンドモードに戻るので、:wqと入力して「Enter」キーを押します。(保存せずに終了するときは、:q!と入力して「Enter」キーを押します)
pi@raspberrypi_ ~ 2016-08-01 13.05.38.png


書き込めているか確認します。catはテキストファイルの中身をを表示するコマンドです。cat heあたりまで入力して「Tab」キーを押すと最後まで補完してくれます。

 $ cat helloworld.txt
I am SAMURAI !!

書き込めていますね。

(参考)vimコマンド一覧

http://qiita.com/merrill/items/9c800030333ab4c9408f

練習問題

test.jsonというファイルを作成し、下記の内容を書き込んで保存して下さい。PuTTYでペースト(貼付け)する時はマウスの右ボタンをクリックします

test.json
{
    "Lunch": [
        "rice curry", 
        "salad", 
        "chocolate cake"
    ]
}    

書き込めているかcatコマンドで確認しましょう。

RaspberryPiをシャットダウンする

次のコマンドを実行するとシャットダウンします。しばらく緑色のLEDが激しく点滅し、赤色LEDの点灯だけに変わったらmicro USBケーブルを抜いてOKです。

$ sudo poweroff

GUIにリモート接続する

UNIX系のOSには「X Window System」(以下、X)によるGUI環境が備わっており、Raspbianでも標準でインストールされます。HDMI接続モニタを使用している時はデフォルトで自動的にXが起動するようになっていますが、コマンドプロンプトの状態であれば次のコマンドでXが立ち上がります。

$ startx

XはSSH同様にリモート接続にも対応しています。接続するためのアプリはVNCがその代表ですが、今回は設定不要で簡単なxrdpを使用します。PC側は「リモートデスクトップ」アプリを使用します。Windowsには標準で入っており、Macの場合はApp Storeでアプリを入手することができます。「Microsoft Remote Desktop」で検索して下さい。

あらかじめRaspberryPiにxrdpをインストールしておきます。

$ sudo apt-get install -y tightvncserver xrdp
  (途中省略)

リモートデスクトップアプリで接続する

  • リモートデスクトップアプリを起動し、RaspberryPiのIPアドレスを入力します rdp1.jpg

  • RaspberryPiのIDとパスワードを入力します rdp2.PNG

  • デスクトップが表示されました。GUIでプログラミングができるScratchなども使えます 192.168.0.3  2017-02-11 22-59-46.png

固定IPアドレスを割り当てる

DHCP環境だと接続するたびにIPアドレスが変わる場合があり、SSHで接続するには不便なので、有線LANかWi-Fiに固定IPアドレスを割り当てましょう。ただし、固定IPアドレスを設定後にRaspberryPiを勉強会などに持って行く場合は、あらかじめ下記設定を無効化しておきます(行頭に「#」を追加してコメントアウトすればOKです)。

有線LAN

$ sudo vim /etc/dhcpcd.conf

以下を末尾に追記します。接続するネットワーク環境に合わせて値は変更して下さい。

dhcpcd.conf
interface eth0
static ip_address=192.168.0.100/24  # 固定IPアドレス。/24はサブネットマスク
static routers=192.168.0.1           # デフォルトゲートウェイ
static domain_name_servers=8.8.8.8   # DNS。8.8.8.8はGoogleのPublic DNS

Wi-Fi

$ sudo vim /etc/dhcpcd.conf

以下を末尾に追記します。接続するネットワーク環境に合わせて値は変更して下さい。

dhcpcd.conf
interface wlan0
static ip_address=192.168.0.100/24  # 固定IPアドレス。/24はサブネットマスク
static routers=192.168.0.1           # デフォルトゲートウェイ
static domain_name_servers=8.8.8.8   # DNS。8.8.8.8はGoogleのPublic DNS
Ichiro_Tsuji
AWS Samurai 2015です。 AWSのエンジニアをやっています。最近はIoT関連の開発を多く手がけています。
kyoso
AWSとSORACOMを活用した最先端のIoTソリューションをご提案します。
https://iot.kyoto
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away