1時間くらいで、ラズパイのインストール、SSH接続、カメラモジュールの起動をやるよ!
以下は、どうでもよい経緯。
ちょっとやりたいことがあって、ラズパイのカメラを起動しようとした。
過去にラズパイを公開鍵認証に設定したことがあったんだけれども、肝心のペアとなる鍵が見つからなくって、ssh接続できない、どうしようとなってしまった。
冷静に考えれば、ssh接続じゃなくってラズパイをディスプレイに接続して起動して、再度鍵を発行すればよかったんだけれども、なぜか再インストールをする選択をしてしまった。
過去記事を参考にしてみたんだけれども、自分にとって微妙に痒いところに手が届かない内容だったので、新しく書くことにした。
用意するもの
ラズパイのOS、Raspbianをダウンロードする(所要時間 20分 ※ネットワーク環境によって幅あり)
今回は、RaspberryPi 3 + 32GBのSDカードを使うのでディスク容量、パフォーマンスもそこそこ余裕がありそう。
なので、設定が簡単なデスクトップ版RASPBIAN STRETCH WITH DESKTOP
を選択する。
www.raspberrypi.org
ラズパイのOSイメージを書く (所要時間 8分)
ダウンロードしたzipファイルを解凍して、でてきたimgファイルを選択して、ラズパイ用のSSDに書き込む。
ラズパイ用のSSDをPCとつなぐには、100均で買った謎のUSBにつなぐ機器を使った。
書き込むの仕方はいろいろあるけれども、毎回使っている書き込み用のアプリ「Etcher」を使ってる。
SSDにOSファイルを書き込んだら、ラズパイにセットして、電源コードにつないで起動する。
このとき、キーボード、マウスもUSB経由でつけて、HDMIケーブルもディスプレイとラズパイに接続しておく。
ディスプレイにラズパイのデスクトップ画面が表示される。
WiFiの設定 (1分)
ラズパイを起動したら、画面右上のアンテナみたいなアイコンで、WiFiの設定を行う。
設定といっても、スマートフォンと同じで、つなぐSSID選択してパスワードを入力するだけ。
デスクトップ版じゃない場合、コンソールから設定がいろいろと必要だけれどもデスクトップ版はすごい簡単。
ログインパスワードを変更する (1分)
必須ではありませんが、やっておいたほうが無難。
ラズパイの左上のアイコンから「Terminal」を起動します。
(画像撮り忘れちゃった)
Terminalで以下のコマンドを叩くことで設定画面を起動します。
ラズパイの設定画面を起動
$ sudo rasip-config
一番上の「Change User Password」を選択して、好きなパスワードを入力します。
ラズパイにリモートで接続できるよう設定する (10分)
ラズパイを毎回ディスプレイに接続して、操作する場合はこのへんの設定は不要になります。
ノートPCからラズパイにリモート接続したい場合のみ、設定しましょう。
パスワード変更と同様に、設定画面を起動します。
ラズパイの設定画面を起動
$ sudo rasip-config
上から5番目の「interfacing option」を選択します。
次の画面の「SSH」を選択すると、有効にするか?と聞かれるのでYESを選択します。
また、その後に再度ターミナルを開いて、以下のコマンドを打ってラズパイのIPを確認しときます。
IPを確認する
$ ifconfig
上記コマンドを打つと、ずらずらとでてくるけでども、以下のwlan0とうのが、ラズパイ3に標準搭載されている無線のNICカードのIPみたい。
以下の例だと、「192.168.1.8」がラズパイのIPになります。
wlan0のIPを控えておく
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.8 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 2408:210:9006:7500:b6e2:cd5b:a921:338f prefixlen 64 scopeid 0x0<global>
inet6 fe80::a537:ca1e:f1c3:745e prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:1a:ab:2e txqueuelen 1000 (Ethernet)
RX packets 8325 bytes 9798841 (9.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5293 bytes 615893 (601.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
SSHで接続する
自分のPCから、ラズパイに接続します。
MacのTerminalでssh接続
$ ssh pi@192.168.1.10
初めてつなげると、フィンガプリントーやらで本当につなぐの?みたいな確認がでてきますが、問題ないのでYesを入力しちゃいます。
IPアドレスを固定する
こちらも必須ではないのでオプションです。
SSHでつなぐ際に毎回IPアドレスがかわると、どこに繋げていいんだかわからなくなってしまうので、ラズパイのIPアドレスを固定します。
まずは、変更前のIPアドレスをifconfig
コマンドで確認しときます。
ifconfig
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.8 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 2408:210:9006:7500:b6e2:cd5b:a921:338f prefixlen 64 scopeid 0x0<global>
inet6 fe80::a537:ca1e:f1c3:745e prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:1a:ab:2e txqueuelen 1000 (Ethernet)
RX packets 8325 bytes 9798841 (9.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5293 bytes 615893 (601.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
次に、以下のファイルに固定したいIPと、ゲートウェイのIP(私の環境だと、ルーターのIP)やらなんやらを新しく追記します。
今回は「192.168.1.10」をラズパイのIPとします。
/etc/dhcpcd.conf
interface wlan0
static ip_address=192.168.1.10/24
static routers=192.168.1.1
staitc domain_name_servers=192.168.1.1
設定がおわったらラズパイを再起動します。
ラズパイを再起動
$ sudo reboot
再起動が完了したらifconfig
を叩いて、wlanについて設定したIPアドレスが振られていることを確認します。
ifconfig
pi@raspberrypi:~ $ ifconfig
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 2408:210:9006:7500:b6e2:cd5b:a921:338f prefixlen 64 scopeid 0x0<global>
inet6 fe80::a537:ca1e:f1c3:745e prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:1a:ab:2e txqueuelen 1000 (Ethernet)
RX packets 213 bytes 23086 (22.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 206 bytes 31290 (30.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
カメラを接続する (5分)
動画を見た方がわかりやすい!
www.youtube.com
カメラモジュール用のソフトウェアをインストールする (5分)
再度、ラズパイの設定画面を起動します。
ラズパイの設定画面を起動
$ sudo rasip-config
上から5番目の「interfacing option」を選択します。
次の画面の「camera」を選択すると、有効にするか?と聞かれるのでYESを選択します。
これでカメラの使用が有効になりました。
さらに、以下のコマンドをたたくことでカメラをラズパイに認識させます。
カメラを認識させる
$ sudo modprobe bcm2835-v4l2
次に、カメラモジュール用のソフト「MJPG-streamer」をインストールします。
インストールにあたっては、全面的にこちらのサイトの、「動画ストリーミングソフトウェアのインストール」を参考にさせていただきましたので、こちらを参照ください。
WEBカメラで動画ストリーミング
カメラを起動する (1分)
「MJPG-streamer」をインストールしたディレクトリに移動します。
私はホームディレクトリ配下にインストールしました。
ディレクトリに移動
$ cd /home/pi/mjpg-streamer
何も考えずに、以下のコマンドを叩きます。
カメラを起動
sudo ./mjpg_streamer -i "./input_uvc.so -f 10 -r 320x240 -d /dev/video0 -y -n" -o "./output_http.so -w ./www -p 8080"MJPG Streamer Version: svn rev: 3:172
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 320 x 240
i: Frames Per Second.: 10
i: Format............: YUV
i: JPEG Quality......: 80
o: www-folder-path...: ./www/
o: HTTP TCP port.....: 8080
o: username:password.: disabled
o: commands..........: enabled
ラズパイに接続しているディスプレイで参照する場合は、ラズパイのブラウザから「localhost:8080」を入力。
別のPCから参照する場合は「ラズパイのIP:8080」でMPJG-Streamerの画面が参照できる。
ここから、Streamを選択することでカメラのリアルタイム映像が参照することができる。