ユースケース: ラズベリーパイ (Raspberry Pi) を,Windowsパソコンとネットワークでつなぎ,Windowsパソコンから操作する.
(ラズベリーパイのために,別途,ディスプレイやキーボードを用意したり,つなぎ変えたりするのをやめたい)
【目次】
【サイト内の Raspbian 関連ページ】
小型コンピュータ Raspberry Pi について: 別ページ »にまとめ
【関連する外部ページ】
https://www.pyimagesearch.com/2016/04/18/install-guide-raspberry-pi-3-raspbian-jessie-opencv-3/
Raspbian (2019-07-10版)をダウンロードし SD カードに書き込む手順は,「別のページ」で説明している.
ここで行うこと: 無線や有線のLAN接続された Windows パソコンがある.ネットワークケーブルを使って、 Raspberry Piと Windows パソコンをネットワーク接続する.
次のどちらで使用するかを事前確認する
ラズベリーパイは Windows パソコンと,ネットワークケーブル(有線)で接続する. Windowsパソコンは WiFi などでインターネット接続する.(ラズベリーパイは Windows パソコン経由でインターネット接続する)
ラズベリーパイと,Windows パソコンは, ネットワークケーブルを使い, LANスイッチやルータなどのネットワーク機器をつなぐ (ラズベリーパイとWindowsパソコンをネットワークケーブルで直結することはない).
「1. ラズベリーパイは,Windows を経由してインターネット接続する」場合には,次の「ネットワーク接続の共有(Windowsパソコン)」を行うこと.
「ラズベリーパイは,Windows を経由してインターネット接続する」場合に必要な設定である.
次の手順で、ネットワーク接続の共有を行う
※ Wi-Fi が表示されていないときは、Windows のパソコンで無線LAN接続してから、もう一度試す
Windows のコマンドプロンプトで、「arp -a」を実行して,ARPテーブルを表示する.これで,ネットワークにつながっている機器の IP アドレスを確認する
■ Windows での実行結果例
arp -a
そして、ネットワークケーブルは、Windows のノートパソコン(無線LAN接続された Windows パソコン)に直結するか、 ネットワークハブに接続する
増えた IP アドレスが,ラスベリーパイの IP アドレスだと判断される.
Windows のコマンドプロンプトで、「arp -a」を実行して,ARPテーブルを表示する.そして,先ほどとの変化を見る.
arp -a
■ Windows での実行結果例 (1)
Windows のパソコン、 Raspberry Pi ともに,有線のネットワークケーブルで、同じネットワークハブに接続した場合
Raspberry Pi をつなぐ前
Raspberry Pi をつないだ後
増えたIPアドレスを確認する(下の図では 192.168.137.132)。 これが ラズベリーパイ(Raspberry Pi)の IP アドレスである。あとで使う
■ Windows での実行結果例 (2)
無線LAN接続された Windows パソコンに、ネットワークケーブルで直結した場合
Raspberry Pi をつなぐ前
Raspberry Pi をつないだ後
新しい「インタフェース」が増えていることを確認する(増えない場合には、元に戻って設定をやり直す)
増えたインタフェースの一番上のアドレスを確認する(下の図では 192.168.2.111)。 これが ラズベリーパイ(Raspberry Pi)の IP アドレスである。あとで使う
※ ARPテーブルを見ても,ラスベリーパイの IP アドレスの確認がうまくできない場合がある
LAN内のIPアドレスのスキャンには Advanced IP Scanner などを使用
Advanced IP Scanner を実行すると,次のような画面が得られる. このとき「過去に接続したことがあるが,いまは起動していないもの」も表示される(記録が残っている場合)ので,起動しているもの(一番右の「状態」で確認)を探すこと
「ssh -X pi@<IPアドレス>」でログインしてみる.
「ssh -X pi@<IPアドレス>」でログインできないときは, パスワードとして「raspberry」を正しく入れているか確認. ラスベリーパイ側の ssh の設定がうまく行っていない可能性がある (このときは,Raspbianのインストールからやり直した方が早い可能性がある)
IP アドレスが確認できないときは,RaspberryPiに給電ランプがついているか、ネットワークケーブルの指し口の緩みがないか, ネットワークケーブルのランプがついていることを確認する.
ネットワークケーブルのランプがついていないときは,ラズベリーパイ(Raspberry Pi)の SDカードへのオペレーティングシステムのインストールができていない可能性がある.
Windows パソコンと Raspberry Pi を直結していて,ラズベリーパイ(Raspberry Pi)の IP アドレスが確認できないときは, Windows パソコン側での有線LANの設定の「IP アドレスを自動的に取得する」で,そのチェックが外れている場合には,をチェックすること.
Windows での MobaXTerm のインストールは,「別のページ」でも説明している.ここでは要点のみを示す.
次のサイトで配布されている.MobaXTerm Home Edition (installer edition) をダウンロードしてインストール.
https://mobaxterm.mobatek.net/
この設定の操作は、一度だけ行っておけば大丈夫
リモートログインのとき,「raspberrypi.local」を指定する
「raspberrypi.local」は,Windows の mDNS の機能により,IP アドレスに自動変換される.
MobaXTerm のコンソールで,次のコマンドを実行
ssh -X pi@raspberrypi.local
これでうまく接続できない場合には,先ほど調べた IP アドレスを直接指定する
ssh -X <IPアドレス>
※ うまくリモートログインできないときのヒント
このとき「Could not resolve hostname raspberrypi.local: Name or service not known」というエラーメッセージがでる場合がある. 次の手順で回避できる可能性がある.
1. まず、IP アドレスを使ってリモートログインできるかを確認
この回避策でもうまくいかない、という場合には、ラズベリーパイ(Raspberry Pi)の SD カードのやり直し、RaspberryPiに給電ランプがついているか、ネットワークケーブルの指し口の緩みがないか、を確認する.
2. 次に、Bonjour for Windows のインストール
Windows のバージョンが、Windows10 1511以上のときは、Bonjour for Windows のインストールを行わないこと
※ 「うまくいかない」という場合には、 mDNS の設定を行う.
Windows のコマンドプロンプトを管理者として実行する
次のコマンドを実行.して、 Windows 10 の mDNS の機能を有効にするために,ポート 5353 の通信制限を解除する
netsh advfirewall firewall add rule name ="mdns" dir=in protocol=udp localport=5353 action=allow
初期パスワードは「raspberry」に設定されている 「raspberry」と入れて、Enterキーを押す。
※ このとき,パスワードが画面には表示されないのは正常動作である.
「パスワードを保存してよいか」の確認表示に対しては,特に問題が無ければ「Yes」
なお、 MobaXTerm で「ssh」を選び、次のように操作してもリモートログインできる
lxterminal
exit