セミナーやワークショップ用の備忘録。
本格的な操作は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
- 「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アドレスが出てきます。
無線LANの場合は、以下の設定をしましょう。
pi@raspberrypi:~ $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
中身を以下のように書き換えます。
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アドレスを確認する
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などのプログラム言語を使って操作していくこととなります。