Edited at

【いまさら】Raspberry Piの初期設定〜Webカメラつないで撮影・録音テストまで

More than 1 year has passed since last update.


用意したもの


  • RaspberryPi3 Model B RS版 日本製 (2年前に買ったものなので、古いかもしれない)(以後ラズパイ)

  • MacBook Air(macOS High Sierra 10.13.4)(以後Mac)

  • microSDHC TOSHIBA 16GB UHS-I

  • LANケーブル

  • USB電源アダプタ(出力5.0V 1.5A。推奨は2.5Aらしい)

  • マイクロB端子のUSBケーブル(iPhoneじゃないスマホを充電するときに使うあのケーブルです)

  • Webカメラ Logicool HD Webcam C510

  • ステレオイヤホン


MacでのmicroSDHCのフォーマット

今回使うmicroSDは、2年前にラズパイで遊んだものなので、フォーマットし直します。MS-DOS(FAT)形式にフォーマットします。Disk Utilityを起動してやる方法がよくネット上にあるんですが、うまくいかないので、SD Card Formatterを使います。


  • SD Card Formatterを起動

  • フォーマットしたいカードを選択、Quick Formatを選択、Format


ラズパイにRASPBIAN STRETCH LITEを入れる



  • Downloads -> RASPBIAN -> RASPBIAN STRETCH LITEと進んで、執筆時最新の2018-06-27-raspbian-stretch-lite.zipをダウンロード。

途中にあるNOOBSはRaspbianのインストーラでインストールをよしなにやってくれるものですが、昔うまく動かなくてハマったし、Raspbianだけあれば十分です。RASPBIAN STRETCH WITH DESKTOPとRASPBIAN STRETCH LITEの違いですが、WITH DESKTOPのほうはデスクトップ環境を持ったもので、何やかんや色々入っていてイメージファイルのサイズは4GB以上になります。LITEのほうは2GBに満たない軽量なものです。いまのところデスクトップ要らないですし、必要になったら入れるのでLITEで十分でした。


  • ダウンロードしたzipファイルを解凍。


  • Etcherを起動。select imageには、解凍したimgファイルを選択。select diskには、フォーマットしたmicroSDHCを選択。Flash!

  • sshというファイルをmicroSDHCの中に作る。


Terminal(Mac側)

touch /Volumes/boot/ssh



  • microSDHCをMacから取り出し、ラズパイに差し込む。

  • ラズパイにUSBケーブルのマイクロB端子を差し込み、USB端子のほうをUSB電源に差し込む。

  • USB電源をコンセントに差し込み、ラズパイの緑のランプが点滅するまで待つ。


有線LAN接続する


  • ラズパイにLANケーブルを差し込み、LANケーブルの反対側の端子をルーターに差し込む。

  • ラズパイのIPアドレスを確認する。

IPアドレスの確認方法は何でもいいですが、私は、元々FingというアプリをiPadで使っていたので、そこで出てきた raspberrypiのIPアドレスを確認。ラズパイ・Mac・iPadが同じネットワーク内にある(同じルーターを介している)状態で行います。


  • Macからラズパイにssh接続する。


Terminal(Mac側)

ssh pi@確認したIPアドレス

# 例えば、 ssh pi@192.168.0.20
# Are you sure you want to continue connecting (yes/no)? yes
# pi@192.168.0.20's password: ここにパスワードを入力
# デフォルトのパスワードは`raspberry`。入力内容は画面には表示されません。

もし、過去に同じIPアドレス(例では192.168.0.20)で別の機器(もしくは同じRaspberryPiだけどRaspbianをインストールし直したりした場合)にsshしたことがある場合、リモートホストのIDが変わったと言われてログインできないかもしれません。その場合、~/.ssh/known_hostsへ行って、確認したIPアドレスが書かれている行(例では192.168.0.20)を消した後で、sshしてみてください。

ターミナルの入力待ち画面がpi@raspberrypi:~ $となったらssh接続成功です。


無線LAN接続する


パスワードの変更


Terminal(ラズパイ側)

passwd

# Changing password for pi.
# (current) UNIX password: いまのパスワード(デフォルトは`raspberry`)
# Enter new UNIX password: 新しいパスワード
# Retype new UNIX password: 新しいパスワード
# passwd: password updated successfully


タイムゾーン・Wi-fiの国設定

やってることはdpkg-reconfigure等々なので、コマンドからやっても良いと思います。


Terminal(ラズパイ側)

sudo raspi-config


青いバックグラウンドにグレーのパネルが出るので、Localisation Optionsからそれぞれ設定します。


ロキャルの設定

デフォルトはen_GB.UTF-8になっていて、そのままでもいいですが、気分的にen_US.UTF-8に変えます。これはraspi-configでうまく動かなかったので、手動でやります。/etc/locale.genを編集してロキャルを生成し、/etc/default/localeを編集します。ちなみに、エディタはvi使ってますが、nanoでもなんでもいいです。 (2018/09/03追記: raspi-configもしくはdpkg-reconfigure localesで問題なく行けました)


ネットワークの設定


Terminal(ラズパイ側)

sudo vi /etc/wpa_supplicant/wpa_supplicant.conf



/etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

network={
ssid="SSID"
psk="暗号化キー"
key_mgmt=WPA-PSK
}


ルーターのIEEE802.11b/g/nのSSIDと、ルーターのパスワードを確認して、それぞれ""で囲って記述します。


ラズパイのローカルIPを固定する


/etc/dhcpcd.confに追記

interface インターフェイスのタイプ           # 例えば、無線接続ならwlan0、有線接続ならeth0

static ip_address=割り当てたいIPアドレス/24 # 例えば、192.168.0.20
static routers=ルーターのIPアドレス # 例えば、192.168.0.1
static domain_name_servers=ネームサーバのIPアドレス # 例えば、192.168.0.1

(2018/09/03追記: 上のように/etc/dhcpcd.confを編集するのが定石で、以下のように /etc/network/interfacesをいじるやり方は過去のバージョンのRasbianでのことのようです。)

bash:Terminal(ラズパイ側)

sudo vi /etc/network/interfaces

/etc/network/interfaces/に以下を追加

:/etc/network/interfaces

auto wlan0

allow-hotplug wlan0

iface wlan0 inet static

address 割り当てたいIPアドレス # 例えば、192.168.0.20

netmask 255.255.255.0

gateway ルーターのIPアドレス # 例えば、192.168.0.1

wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf


ラズパイを再起動する


Terminal(ラズパイ側)

sudo reboot


LANケーブルを外して、再度ssh接続を試みて、先程変更したパスワードを入力して接続できたら成功です。


Webカメラで録音してみる


  • WebカメラのUSB端子をラズパイに差し込む。


Terminal(ラズパイ側)

lsusb

# Bus 001 Device 004: ID 046d:081d Logitech, Inc. HD Webcam C510

lsusbはUSBに接続されているデバイスを認識できるコマンドです。上のように、差し込むだけで、HD Webcam C510と認識されていることがわかります。あっさり。


  • apt-get update & upgradeする。


Terminal(ラズパイ側)

sudo apt-get update && sudo apt-get -y upgrade


わらわら入ります。少し待ちます。


  • デバイスの確認


Terminal(ラズパイ側)

arecord -l

# =>
# card カード番号: ... device デバイス番号: ...
# となっているので、番号を覚えておいてあとで使います


  • 録音。


Terminal(ラズパイ側)

cd ~

arecord -D plughw:1,0 -d 10 -f cd test.wav
# plughw:カード番号,デバイス番号 です。先程控えた番号を入れます。
# dオプションで録音する長さを指定します。上の例では10秒です。



  • test.wavがホームディレクトリ(デフォルトでは/home/pi)にできているのを確認。


Terminal(ラズパイ側)

ls ~

# test.wav


  • ラズパイのイヤホンジャックにイヤホンを差し込み、text.wavを再生します。


Terminal(ラズパイ側)

aplay test.wav



Webカメラで撮影してみる


  • fswebcamを入れる。


Terminal(ラズパイ側)

sudo apt-get install -y fswebcam



  • 撮影。


Terminal(ラズパイ側)

cd ~

fswebcam img.png


  • 画像を閲覧する機能はあとで使うつもりはないので、ここではMac側で確認します。img.pngがホームディレクトリ(デフォルトでは/home/pi)にできているのを確認し、ログアウト。


Terminal(ラズパイ側)

ls ~

# img.png
exit


  • 画像ファイルをダウンロード


Terminal(Mac側)

scp pi@IPアドレス:/home/pi/img.png ./

# 例えば、scp pi@192.168.0.20:/home/pi/img.png ./

scpを実行したディレクトリ直下にimg.pngが保存されているはずなので、それを開くと、画像が確認できると思います。


参考

Installing Raspbian Lite, Enabling and Connecting with SSH

Raspbian Jessie Lite の Wi-Fi 設定

無線LANの設定

raspberry pi で USBカメラ(c270)から画像/音声入力/出力