Windows 10 Hyper-V環境でRaspberry Pi インストールしてNode-REDまで使えるようにするメモ

Windows 10 Hyper-V環境でRaspberry Pi インストールしてNode-REDまで使えるようにするメモです。いずれ行けるかな?と思っていて、試したところ、拍子抜けするくらい、あっさり入りました。

今回インストールする環境

今回はインストールする環境は以下の通りです。

image

  • OSはWindows 10 Pro
  • Windows 10 1709 Fall Creators UpdateしたPC
  • ネットワークの設定は規定のスイッチで母艦のLANをそのまま使う設定
  • Debian with Raspberry Pi Desktopはリリース2017-11-16を使う
  • RLoginなどWindowsからRaspberry Pi側でSSHが叩ける状態

という環境です。2018/03/18現在の、自分のPCで行います。

image

予感としては、本来であれば、Debian with Raspberry Pi Desktopは既存のノートPCに上書きインストールして使えるISOファイルですので、無事インストールディスクとして機能できればちゃんと動く気がします。

image

そして、Hyper-VのようなWindows 10 Pro動作という少々限定的な環境でなくても、VirtualPCやDockerのような仮想マシンが動作する環境であれば、今回試そうとしているDebian with Raspberry Pi Desktop仮想マシン環境でも動作する可能性は高いでしょう。

では、今回は、Hyper-Vで試してみましょう。

Debian with Raspberry Pi Desktopを準備

Debian with Raspberry Pi Desktopをダウンロードして保存しておきます。

Raspberry Pi Desktop

image

Hyper-Vで仮想マシンをつくる

image

ウィザードで仮想マシン設定をしていきます。

image

仮想マシンを別の場所に格納するチェックで、任意のフォルダに置くようにしています。

image

世代は第1世代で大丈夫でした。

メモリは贅沢に5120MB(5.0GB)。ハードディスクは127GBを確保。

image

ネットワークの設定は規定のスイッチで、私の場合は母艦のLANをそのまま使う形にしてます。

規定のスイッチまわりのとてもわかりやすい記事はこちら。

Windows 10 1709(Fall Creators Update/RS3) Hyper-V の NAPT 仮想スイッチ

最近のHyper-Vはこのへんも悩まずやれて素敵だ。

image

仮想ハードディスクは自分が分かりやすい場所に置きます。自分の場合は仮想マシンの格納場所の配下において、一気に消せるようにしてます。

image

インストールディスクはダウンロードした Debian with Raspberry Pi Desktop のISOファイルを指定。

起動してインストール

image

起動してみましょう。

image

Graphical Install をクリック。

余談:Run with persistence とは?

image

仮でみるなら Run with persistence ですが、今回はしっかりインストールしたいので確認程度で。

こちらの記事がわかりやすかったです。

PIXEL for x86 (RaspberryPiのデスクトップ環境) – Qiita

Run with persistence : 設定とかファイル変更とか、保存される
Run and reset persistence : 保存されたファイルを消去(リセット)して、Persistenceで起動
Run without persistence : 設定・ファイル変更を保存しない。

インストール開始

いよいよ仮想マシンの中の動作です。

image

まず、Keymap 画面ではじまるので、英語で良いならこのまま進んで良いんですが、結構デリケートな処理が取り違うとヤバイので、一旦日本語表記にしましょう。

GoBackで一旦戻ります。

image

Choose Languageを選択。

image

日本語選択。

image

なぜかリストが英国のヨーロッパではじまるので、戻る。

image

アジアを選択し直し。

image

日本を選択。

image

キーボード設定を英語から日本語に。

image

日本語に。

image

マウント開始。

image

ディスクのパーティションを聞かれるので、ガイド – ディスク全体を使う。を選択。

image

sdaを選択。これは仮想ディスクを指してます。

image

初心者なので一番の上のやつ。

image

パーティショニングの完了とディスクへの変更の書き込みを選択して、続ける。

image

いよいよ直前の画面。

image

はい に選択。で、続ける。

image

インストール開始。

image

ごりごりインストール続行。

image

途中でGRUB ブートローダーのインストールを聞かれます。

image

/dev/sda を選択して続けます。

image

インストール完了です。

image

インストールの後処理を待ちます。(少し時間がかかります)

インストール後の起動

いよいよインストールの起動です。

image

起動時に先ほどのGRUBブートローダーがよしなにやってくれます。

image

少し待つと起動します。

image

無事起動できました!これVNCじゃないですもんね!w

まずSSHオン

つづいて、最低限のセットアップのために、SSHをオンにします。

image

IPを確認しておきます。Hyper-V側でネットワークが規定のネットワークに通じているならIPが配布されているはず。

image

設定画面に行きましょう。

image

デフォルトではオフでした。

image

Enabled にしてOKを押します。

image

ipconfigで自分のIPを確認します。

image

SSHツールでつないでみると、無事つながりました。

まずアップデート

sudo apt-get update

image

つづいてアップグレード

sudo apt-get upgrade

image

ざくざくインストール。

Node-REDインストールに便乗してNode.jsもセットアップ

update-nodejs-and-nodered コマンドを使ってNode-REDまわりインストールします。

bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)

このコマンドを使って、最新の update-nodejs-and-nodered コマンドを利用します。

image

yes ですすむ。

image

インストールしていきます

image

最新の Node.js 8系が入りました(2018/03/18現在)

image

無事インストールできました。

Node-RED起動

node-red

起動してみます。

image

Hyper-Vを動かしている母艦のほうで http://仮想マシンのIP:1880/で叩いてみます。

image

無事、デプロイもinjectノードによる動作確認もできました

image

ためしに dashboard ノードも入れてみます。

image

いつものダイアログ。

image

Raspberry Pi 3 よりも待ち時間なし。

現在のWindows 10マシンはUnity開発できるように強化してるやつなので、一瞬(体感5秒?)でのインストール!

image

ボタンを配置。

image

ダッシュボードのグループの設定を終わらせて、ダッシュボード画面を開いてみます。

image

無事表示されました。ちゃんとIPレベルで到達して、おかしな動作もないですね!

まとめ

ということで、Windows 10 Hyper-V環境でRaspberry Pi インストールしてNode-REDまで使えるようにしてみました。

仮想環境の感覚を最近つかみたくて、このような実験を合間に行っています。

これができると、SDカードにRaspberry Piを入れる手順よりも、高速な実行環境で、Node-REDとRaspberry Piの動作が確かめられるし、手軽に壊せるのでよいですね。

もちろん、シリアルポートノードのような、ハードウェアに紐付いた動作となるとエミュレートできてないですが、少なくともネットワーク関連の挙動はいろいろとチェックできそうです。

それでは、よき Node-RED & Hyper-V & Raspberry Pi Life を!