RaspberryPi2 on Windows10 IOT-Core

(このページは、リンクフリーです)

あなたは番目のお客様です

(情報更新日:2017/08/23  カウンタリセット日:2015/07/31)



RaspberryPi2 を Windows10 IOT-Core で動かすにあたり、
様々な TIPS をメモしたものです。

〜細かい記事修正は随時行っています〜
(上の項目ほど新しい情報です)

(古い記事はこちら


【トピックス】

Windows IOT-Core 17134(掲載日:2018/08/23)


Windows IOT-Core 17134(掲載日:2018/08/23)

Windows IOT-Core 17134 がリリースされました。
VisualStudio2017 は、15.7.4 を使っています。

テキストファイルの生成が問題なくできました。

MainPage_xaml.txt

MainPage_xaml_cs.txt

※上記サンプルは単純にカレントディレクトリに「sample.txt」を作成し、2行のデータを
書き込み、2行のデータを追加し、最終的に今までの結果を無視して2行のデータを書き込みます。
 なお、エラー処理や、2回目のクリックで実行抑止するようなコードは省略しています。

「sample.txt」の場所は、Dashboard から ポータル画面を出し、
Apps → File Explorer でみたところ、

User Folders\LocalAppData\(プログラムID)\LocalState\

内にテキストファイルが作られていました。このポータル画面で
右側の「Save」ボタンをクリックすると、ダウンロードできます。

PowerShell では、各種コマンドが使えます。(Dashboard から使えます)


dir コマンド等についてです。
Windwos10 IOT-Core では、他のOS(Mac-OSやLinux、AndroidやIOSなど)との
互換性を高めるために、パス名のディレクトリ区切り記号に「\」と「/」が使える
ようになっています(「/」自体はWindowsVISTA/Server-2008から使えるみたいですが)。

よって、dir コマンドのオプションの記号には「/」は使えず、「-」を使います。
と言っても手軽に使えるのは「-s」の検索機能くらいみたいですが。

※実は「dir」「ls」「gci」はコマンド「Get-ChildItem」なのです。
 「dir -?」とすると、たくさんの機能があるのがわかります。

「copy」「mkdir」「mv」「del」「rm」「rd」「ren」「type」「pushd」「popd」
「tee」「more」「set」「gcm」「icm」「Measure-Command」が使えます。

※実は「copy」「cp」「cpi」はコマンド「Copy-Item」です。
※実は「mkdir」はコマンド「New-Item」です。
※実は「mv」「move」「mi」はコマンド「Move-Item」です。
※実は「rm」「rmdir」「del」「erase」「rd」「ri」はコマンド「Remove-Item」です。
※実は「ren」「rni」はコマンド「Rename-Item」です。
※実は「type」「cat」「gc」はコマンド「Get-Content」です。
※実は「set」「sv」はコマンド「Set-Variable」です。
※実は「gcm」はコマンド「Get-Command」です。
※実は「icm」はコマンド「Invoke-Command」です。

各コマンドに「-?」をつけて、機能を確認してみてください。


レジストリ制御です。
「reg /? 」で、使い方を見てください。

※このコマンドは、使い方を間違えると障害が発生する可能性があります。
 使用する前に、十分情報を得てから、慎重に行ってください。


デバイスドライバ制御です。
「devcon /? 」で、使い方を見てください。

※このコマンドは、使い方を間違えると障害が発生する可能性があります。
 使用する前に、十分情報を得てから、慎重に行ってください。


デバイスモードの変更〜ブート時の headed と headless の切替です。
「setbootoption headed」← headed にする場合
「setbootoption headless」← headless にする場合

headlessにすると、起動時に画面には何も出力されなくなります。


コピーコマンドが使えます。
「xcopy (コピー元) (コピー先) (オプション)」
※各種オプションが使えます。「xcopy /?」で確認してください。

この他、次のコマンドも用意されています。
「sfpcopy (コピー元) (コピー先)」
「sfpcopy -q (コピー元) (コピー先)」←サイレントモード


各種ネットワークコマンドが使えます。
「ping」、「net」、「netstat」、「ipconfig」、「nslookup」、
「tracert」、「netsh」、「arp」など。


画面をクリアするには
「CLS」
とします。


OSバージョンを表示するには
「[environment]::OSVersion」
とします。


ブート設定するには「bcdedit」コマンドを使います。

たとえば、エントリリストを表示するには

「bcdedit /enum」
とします。

※このコマンドは、使い方を間違えるとデータが消えるなどの障害が発生する可能性があります。
 使用する前に、十分情報を得てから、慎重に行ってください。


シャットダウンするには次のようにします。(-t の次の数字は待機する秒数です)
「shutdown /s /t 0」

評価版では、なぜかリブートになってしまっていましたが、今ではちゃんと動きます。
完了すると、LEDが7回点滅になるみたいです。

リブートするには
「shutdown /r /t 0」


ディスプレイ解像度の表示は次のようにします。
「SetDisplayResolution」

幅(width)と高さ(height)を指定すれば、設定もできるそうですが、中々うまくいきません。

「SetDisplayResolution (width) (height)」


タスクスケジューラの表示は次のようにします。
「schtasks」


プロセス(タスク)リストの表示は次のようにします。
「tlist」
または
「ps」

両者の表示は異なります。 なお、プロセスを削除するには「kill」で行います。


スタートアップアプリの表示は次のようにします。
「IotStartup list」

次のような使い方もできます。

「IotStartup list headed」
「IotStartup list headless」

この他、「list」の代わりに「add」「remove」なども使えます。自分が作ったアプリなどを登録・削除したりできます。
ただ、わたしの環境では remove がうまくできませんでしたので、IOT Core Watcher の方から処理する方が確実のようです。


ローカルユーザの追加は次のようにします。
「net user (新ユーザ名) (新パスワード) /add」

次にグループを割り当てます。(ここでは「Administrators」グループを割り当て)

「net localgroup Administrators (ユーザ名) /add」


パスワードは次のように変更します。
(Administrators権限で実行)

「net user (ユーザ名) (新パスワード)」

 

Windows10 IOT のシステム日時を変更するだけのことですが、意外と苦労しました(笑)。
PowerShell で接続し

「Set-Date -date "2015/07/31 17:30"」とすると日時を変更できます。


RaspberryPi2 のマシン名を変更するには

「setcomputername (新マシン名)」

マシン名を変更した場合は、必ず信頼できるホストの再設定をおこなってください。

「Set-Item WSMan:\localhost\Client\TrustedHosts -Value (新マシン名)」


RaspberryPi2 をWindows10 IOT で稼働すると、ブラウザ経由で設定を見られますが、現在はポートが 80から 8080 になっているようです(わたしの環境だけかもしれませんが(笑))。
よって「http://192.168.1.150:8080/」などとポート指定をすれば、設定画面が見られると思います。
今ではIoTCoreWatcher の方も、ポート 8080 で接続するようになっています。


RaspberryPi2 をWindows10 IOT で固定IPに設定するには、PowerShellで次のように入力します。
(IPを192.168.1.150、ゲートウェイアドレスを192.168.1.1、DNSサーバが8.8.8.8の場合の例)

最初にIPを指定します。
「netsh interface ip set address "Ethernet" static 192.168.1.150 255.255.255.0 192.168.1.1」

設定後、一度端末を再起動します。Dashboard も再起動して接続しなおします。

次にDNSサーバを指定します。
(ただし、IP変更後ネットワークが切断されて PowerShell が無反応になることがあります。
その場合は一度 PowerShell を切断し、再度接続し直してください。)
「netsh interface ip set dnsservers "Ethernet" static 8.8.8.8 primary」

設定を確認するには
「netsh interface ip show config」
または
「ipconfig /all」
とします。