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
 
![[kaneko lab.]](https://www.kkaneko.jp/info/logo_png.png) 

