記事

Raspberry Pi 3 model Bが入手できました (5)

Powershellのコマンドでディスプレイの解像度を設定

 今回は、PC側でPowershellを起動し、Raspberry Piにリモート接続し、モニタへの出力の解像度を変更してみます。
 Windows IoT CoreにPowershellで接続する具体的な方法は、マイクロソフトのデベロッパーサイトに説明があります。
  https://developer.microsoft.com/en-us/windows/iot/win10/samples/powershell

Raspberry Piのデバイス名またはIPアドレスを確認する
 リモート接続するためには、ネットワーク上で該当するRaspberry Piを識別するために、デバイス名(コンピュータ名)かIPアドレスが必要になります。
 Raspberry Pi 2の場合はモニタを接続し、起動した時に表示される画面にはデバイス名とIPアドレスが表示されます。リモート接続時にはこれらの値を利用します。
 Raspberry Pi 3にはプレビュー版のWindows 10 IoT Coreをインストールしているので、次に示すように、Windows IoT Remote Client(Preview)でRaspberry Pi 3に接続したモニタと同じ画面をPCに表示しデバイス名、IPアドレスを確認することができます。


IoT Dashboardだとより簡単
 次に示す、IoT Dashboardを起動すると、次に示すようにその時点でネットワークに接続し起動しているRaspberry Piのデバイス名とIPアドレスが容易に確認できます。

 各Raspberry Piは、Windows 10 IoT Coreをインストールしたときのデフォルトの設定になっているので、デバイス名はみなminwinpcと同じ名前になっています。
 現在のプレビュー版が公開され公開版でWindows IoT Remote Clientが利用できるか、Raspberry Pi 3の接続がより増加したときにデバイス名の再設定を行う予定です。

Powershellの起動
 Powershellの起動は管理者として起動しないと、リモート接続などのコマンドは実行できません。Windowsを開始するときには管理者でログインしているのですが、次に示すように「管理者として実行」を明示して起動する必要があります。
(1) ウィンドウの画面の下にあるタスクバーの左側の「WebとWindowsを検索」にPowershellをキー入力する。
(2) Powershellの検索結果が表示される。その画面(ペイン)の最も一致する検索結果のWindows Powershell デスクトップアプリの欄をマウスの右ボタンでクリックすると、次に示すように「管理者として実行」が選択できるリストが表示される。マウスで「管理者として実行」を選択してクリックする。

管理者として起動
 管理者としてPowerShellを起動すると、ウィンドウのタイトルバーに「管理者:Windows PowerShell」と表示されます。

 最初にウィンドウのリモート管理システムWinRMを次のコマンドでスタートします。

net start WinRM

 操作を繰り返したので、前回の net start WinRM でウィンドウのリモート管理システムが開始していたため、次に示すようにWinRMが開始しているとの表示となりました。

 NET HELPMSG 2182でより詳しい説明があるとあったので、メッセージを表示しましたが、同じ「要求したサービスは既に開始されています」だけでした。

WinRMセキュリティの構成
 次のコマンドでRaspberry PiのマイコンをTrustedhostsに登録します。マイコン・ボードがこのTrustedhostsに登録されていないと接続することができません。

Set-Item WSMan:\localhost\Client\Trustedhosts -Value 192.168.1.65


 ここではマイコン・ボードをIPアドレスで指定しています。

 yで答えるとTrustedhostsに追加されます。

get-item wsman:\localhost\Client\TrustedHosts


 このコマンドでIPアドレス192.168.1.65のRaspberry Piが登録されたのが確認できました。

 Trustedhostsのデータは新しく設定されたデータに書き換わっていました。

 Administratorの資格でリモート接続のための次のコマンドを入力します。

Enter-PSSession -ComputerName 192.168.1.46 -Credential localhost\Administrator

 次に示すように、ログインのためのパスワードの入力が要求されます。

 まだパスワードはデフォルトのままで変更していないので、

p@ssw0rd


と入力します。

 リモート接続が完了すると、プロンプトが次のように変わります。

[192.168.1.65]: PS C:\Data\Users\Administrator\Documents>


 これ以降はマイコン側での処理となります。Iotstartup listでBlinkyやPushButtonなど作成したアプリが確認できます。
 システムを停止や再起動するコマンドshutdownをパラメータなしで入力すると、このコマンドを利用するためのガイダンスが表示されます。

モニタ・ディスプレイの解像度の設定
 Raspberry Pi 3にはモニタを接続していません。次のモニタの解像度を設定するコマンドで、モニタの解像度を設定し「Windows IoT Remote Client」で接続したときに適正な解像度で表示できるようにします。

   SetDisplayResolution 幅 高さ 

  •  1280 768、1280 1024、はボードが対応していなく設定できませんでした。
  •  1024 768の解像度はボードも対応していて設定できました


 変更された解像度が有効になるのは再起動後となります。

 再起動後は、Trustedhostsへの追加とAdministratorとしてログインします。

Set-Item WSMan:\localhost\Client\Trustedhosts -Value 192.168.1.46
Enter-PSSession -ComputerName 192.168.1.46 -Credential localhost\Administrator


 ログインした後、解像度を確認すると次に示すように変更されています。


Windows IoT Remote Clientでディスプレイの解像度を確認
 Windows IoT Remote Clientで確認すると、次に示すように全体が表示され、文字も適当な大きさで見やすくなりました。

 Windows 10 IoT Coreを搭載したRaspberry Piは、次の方法でリモート接続して制御することが確認できました。
  (1) Device Portal
  (2) PowerShell 
  (3) Windows IoT Remote Client(2016/6/2現在プレビュー版のみ)
 次回からは、アナログ入力処理のアプリのサンプルを動かしてみます。

(2016/6/11 V1.0)


<神崎康宏>

連載メニュー Raspberry Pi 3 model Bが入手できました

(1) 性能の向上したモデルPi 3 でIoT

(2) オンボードのWi-Fiによる通信

(3) Visual Studio 2015 Update 2での不具合

(4) プレビュー版は頻繁に更新されている

(5) Powershellのコマンドでディスプレイの解像度を設定

(6) SPIインターフェースのA-Dコンバータでアナログ入力

(7) 温度を測るサンプル・プログラムtempsensor

(8) 温度センサLM35DZはアナログ出力

(9) ビルド・バージョンよってSPIが動かないことへの対応

(10) まとめ