#本手順の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を起動する
##コンソール画面の表示
2通りの方法があります。
-
USBシリアル変換ケーブルとPuTTYやTeratermなどのターミナルソフトを使う
→ PCさえあれば接続できるので手軽ですが、使えるようになるまでがちょっとだけ面倒です - HDMI接続モニタ・USBキーボード・USBマウスを使用する
→ 機材を用意するのが面倒ですが、簡単・確実です
有線LANは何も設定しなくてもLANケーブルを繋ぐだけでDHCPでIPアドレスを取得してくれます。SSH接続する場合は、有線LANまたはWi-FiのIPアドレスを確認しておきます。
###GUIでIPアドレスを確認する
RaspberryPiにHDMI接続モニタ・USBキーボード・USBマウスを接続して起動すると下記のGUIが起動するはずです。DHCPでIPアドレスが取得できる有線LANに接続している場合は、右上のネットワークアイコンにマウスオーバーすればIPアドレスが表示されます。下図では「192.168.0.3」であることが分かります。
###GUIでWi-Fiを設定する
RaspberryPi 3はWi-Fi内蔵ですが、それ以外のモデルではあらかじめUSB接続タイプのWi-Fiアダプタ(一例)をRaspberryPiのUSBポートに接続しておく必要があります。
ここで設定したWi-Fiのアカウント情報は**/etc/wpa_supplicant/wpa_supplicant.conf
**に書き込まれています。
###ターミナルで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
###パスワードを変更する
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
$ 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)?
##Windows
今回はターミナルソフトとしてインストール不要のPuTTYを使用します。
###PuTTYをダウンロードする
ダウンロードは**こちら**。
デスクトップ等にダウンロードして、下図のアイコンをダブルクリックすれば起動します。
###PuTTYでSSH接続する
- PuTTYを起動します
- RaspberryPiのIPアドレスを入力して[Open]をクリックします
- 初回接続時のみ下図が表示されるので[はい]をクリックします
-
Login as:
と表示されたらpi
...password:
と表示されたらraspberry
を入力します。パスワードは入力しても何も表示されません
- 下図のような表示になったらログイン成功です
#インターネットに接続されていることを確認する
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
vimが起動しました。しかし現在は「コマンドモード」なので文字が入力できません。「i」キーを押すと編集モードに変わって入力できるようになります。画面左下の**-- INSERT --が目印です。
何か文字を打ってみましょう。
ファイルを保存して終了しましょう。「Esc」キーを押すとコマンドモードに戻るので、:wq
と入力して「Enter」キーを押します。(保存せずに終了するときは、:q!
と入力して「Enter」キーを押します)
書き込めているか確認します。cat
はテキストファイルの中身をを表示するコマンドです。cat he
**あたりまで入力して「Tab」キーを押すと最後まで補完してくれます。
$ cat helloworld.txt
I am SAMURAI !!
書き込めていますね。
##(参考)vimコマンド一覧
http://qiita.com/merrill/items/9c800030333ab4c9408f
##練習問題
**test.json
**というファイルを作成し、下記の内容を書き込んで保存して下さい。PuTTYでペースト(貼付け)する時はマウスの右ボタンをクリックします。
{
"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アドレスを入力します
- RaspberryPiのIDとパスワードを入力します
- デスクトップが表示されました。GUIでプログラミングができるScratchなども使えます
#固定IPアドレスを割り当てる
DHCP環境だと接続するたびにIPアドレスが変わる場合があり、SSHで接続するには不便なので、有線LANかWi-Fiに固定IPアドレスを割り当てましょう。ただし、固定IPアドレスを設定後にRaspberryPiを勉強会などに持って行く場合は、あらかじめ下記設定を無効化しておきます(行頭に「#」を追加してコメントアウトすればOKです)。
##有線LAN
$ sudo vim /etc/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
以下を末尾に追記します。接続するネットワーク環境に合わせて値は変更して下さい。
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