Windows パソコンから Raspbian システムにリモート接続,アプリを開く
ユースケース: ラズベリーパイ (Raspberry Pi) を,Windowsパソコンとネットワークでつなぎ,Windowsパソコンから操作する.
(ラズベリーパイのために,別途,ディスプレイやキーボードを用意したり,つなぎ変えたりするのをやめたい)
【目次】
- 前準備
- Raspberry Piと Windows パソコンをネットワーク接続
- IP アドレス等の確認(Windows パソコン)
- ラズベリーパイ(Raspberry Pi)を起動し,Windows からリモートログインできるか確認してみる
【サイト内の Raspbian 関連ページ】
小型コンピュータ Raspberry Pi について: 別ページ »にまとめ
【関連する外部ページ】 https://www.pyimagesearch.com/2016/04/18/install-guide-raspberry-pi-3-raspbian-jessie-opencv-3/
前準備
Raspbian の準備
Raspbian (2019-07-10版)をダウンロードし SD カードに書き込む手順は,「別のページ」で説明している.
Raspberry Piと Windows パソコンをネットワーク接続
ここで行うこと: 無線や有線のLAN接続された Windows パソコンがある.ネットワークケーブルを使って、 Raspberry Piと Windows パソコンをネットワーク接続する.

事前確認
次のどちらで使用するかを事前確認する
- ラズベリーパイは,Windows を経由してインターネット接続する
ラズベリーパイは Windows パソコンと,ネットワークケーブル(有線)で接続する. Windowsパソコンは WiFi などでインターネット接続する.(ラズベリーパイは Windows パソコン経由でインターネット接続する)
- ラズベリーパイは,Windows を経由せずにインターネット接続する
ラズベリーパイと,Windows パソコンは, ネットワークケーブルを使い, LANスイッチやルータなどのネットワーク機器をつなぐ (ラズベリーパイとWindowsパソコンをネットワークケーブルで直結することはない).
「1. ラズベリーパイは,Windows を経由してインターネット接続する」場合には,次の「ネットワーク接続の共有(Windowsパソコン)」を行うこと.
ネットワーク接続の共有(Windowsパソコン)
「ラズベリーパイは,Windows を経由してインターネット接続する」場合に必要な設定である.
次の手順で、ネットワーク接続の共有を行う
- Windows 10 のメニューで設定を選ぶ
- 「ネットワークとインターネット」を選ぶ
- 「ネットワークと共有センター」を選ぶ
- 「Wi-Fi」を選ぶ
* Wi-Fi が表示されていないときは、Windows のパソコンで無線LAN接続してから、もう一度試す
- Wi-Fi の状態の画面が出る。「プロパティ」をクリック
- 「共有」をクリック
- 「ネットワークのほかのユーザーに、このコンピュータのインターネット接続を通しての接続を許可する」をチェックし、
「OK」をクリック
IP アドレス等の確認(Windows パソコン)
- Windows のコマンドプロンプトを実行する.
- Windows パソコンで ARP テーブルの表示
Windows のコマンドプロンプトで、「arp -a」を実行して,ARPテーブルを表示する.これで,ネットワークにつながっている機器の IP アドレスを確認する
* Windows での実行結果例
arp -a
- 給電されていない状態で,Raspberry Pi へネットワークケーブルをつなぐ
そして、ネットワークケーブルは、Windows のノートパソコン(無線LAN接続された Windows パソコン)に直結するか、 ネットワークハブに接続する
- Raspberry Pi への給電を開始する
- Windows パソコンで ARP テーブルの変化を見る
増えた 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アドレスのスキャンを行って,ラズベリーパイ(Raspberry Pi)の
IPアドレスを確認してみる
「2. ラズベリーパイは,Windows を経由せずにインターネット接続」している場合には,簡単に確認できる
- LAN内のIPアドレスのスキャンを行って,ラズベリーパイ(Raspberry Pi)の
IPアドレスを確認してみる
LAN内のIPアドレスのスキャンには Advanced IP Scanner などを使用
Advanced IP Scanner を実行すると,次のような画面が得られる. このとき「過去に接続したことがあるが,いまは起動していないもの」も表示される(記録が残っている場合)ので,起動しているもの(一番右の「状態」で確認)を探すこと
- ラズベリーパイの IP アドレスが確認できたとき
「ssh -X pi@<IPアドレス>」でログインしてみる.
「ssh -X pi@<IPアドレス>」でログインできないときは, パスワードとして「raspberry」を正しく入れているか確認. ラスベリーパイ側の ssh の設定がうまく行っていない可能性がある (このときは,Raspbianのインストールからやり直した方が早い可能性がある)
- ラズベリーパイの IP アドレスが確認できないとき
IP アドレスが確認できないときは,RaspberryPiに給電ランプがついているか、ネットワークケーブルの指し口の緩みがないか, ネットワークケーブルのランプがついていることを確認する.
ネットワークケーブルのランプがついていないときは,ラズベリーパイ(Raspberry Pi)の SDカードへのオペレーティングシステムのインストールができていない可能性がある.
Windows パソコンと Raspberry Pi を直結していて,ラズベリーパイ(Raspberry Pi)の IP アドレスが確認できないときは, Windows パソコン側での有線LANの設定の「IP アドレスを自動的に取得する」で,そのチェックが外れている場合には,をチェックすること.
- LAN内のIPアドレスのスキャンを行って,ラズベリーパイ(Raspberry Pi)の
IPアドレスを確認してみる
ラズベリーパイ(Raspberry Pi)を起動し,Windows からリモートログインできるか確認してみる
リモート接続ソフト MobaXTerm のインストール(Windows 上)
Windows での MobaXTerm のインストールは,「別のページ」でも説明している.ここでは要点のみを示す.
次のサイトで配布されている.MobaXTerm Home Edition (installer edition) をダウンロードしてインストール.
https://mobaxterm.mobatek.net/



MobaXTerm の設定
- Windows で MobaXTerm を起動する
- MobaXTerm で SSH keepalive の設定を行う
この設定の操作は、一度だけ行っておけば大丈夫
- 「Settings」で「Configuration」を選ぶ
- 「SSH」をクリック
- 「SSH keepalive」をチェックし、
「OK」をクリック
- 「Settings」で「Configuration」を選ぶ
MobaXTerm を用いてリモートログイン
- MobaXTerm で「Start local terminal」をクリック
- リモートログイン
リモートログインのとき,「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 アドレスを使ってリモートログインできるかを確認
- このWebページの「IP アドレス等の確認(Windows パソコン)」の手順を実施.
- 確認できた IPアドレスが 192.168.137.132 とする.
- 「ssh -X pi@raspberrypi.local」の代わりに、ssh -X 192.168.137.132のように操作する
この回避策でもうまくいかない、という場合には、ラズベリーパイ(Raspberry Pi)の SD カードのやり直し、RaspberryPiに給電ランプがついているか、ネットワークケーブルの指し口の緩みがないか、を確認する.
2. 次に、Bonjour for Windows のインストール
- Windows のバージョンが、Windows10 1511以前か、Windows 8.1 か Windows 7 であることを必ず確認
Windows のバージョンが、Windows10 1511以上のときは、Bonjour for Windows のインストールを行わないこと
- Windows 用の iTunes の Web ページを開く
- 「Windows」をクリック
- 「Windows 用の iTunes」の下の「今すぐダウンロード(64ビット版)」をクリック。ダウンロードが始まる
- ダウンロードした iTunes64Setup.exe ファイルを展開(解凍)する。
- すると、いくつかのファイルができるので確認する。
- この中の Bonjour64.msi を実行する。すると、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
