Windows 10 Hyper-V環境でRaspberry Pi インストールしてNode-REDまで使えるようにするメモです。いずれ行けるかな?と思っていて、試したところ、拍子抜けするくらい、あっさり入りました。
今回インストールする環境
今回はインストールする環境は以下の通りです。
- 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で行います。
予感としては、本来であれば、Debian with Raspberry Pi Desktopは既存のノートPCに上書きインストールして使えるISOファイルですので、無事インストールディスクとして機能できればちゃんと動く気がします。
そして、Hyper-VのようなWindows 10 Pro動作という少々限定的な環境でなくても、VirtualPCやDockerのような仮想マシンが動作する環境であれば、今回試そうとしているDebian with Raspberry Pi Desktop仮想マシン環境でも動作する可能性は高いでしょう。
では、今回は、Hyper-Vで試してみましょう。
Debian with Raspberry Pi Desktopを準備
Debian with Raspberry Pi Desktopをダウンロードして保存しておきます。
https://www.raspberrypi.org/downloads/raspberry-pi-desktop/
Hyper-Vで仮想マシンをつくる
ウィザードで仮想マシン設定をしていきます。
仮想マシンを別の場所に格納するチェックで、任意のフォルダに置くようにしています。
世代は第1世代で大丈夫でした。
メモリは贅沢に5120MB(5.0GB)。ハードディスクは127GBを確保。
ネットワークの設定は規定のスイッチで、私の場合は母艦のLANをそのまま使う形にしてます。
規定のスイッチまわりのとてもわかりやすい記事はこちら。
Windows 10 1709(Fall Creators Update/RS3) Hyper-V の NAPT 仮想スイッチ
最近のHyper-Vはこのへんも悩まずやれて素敵だ。
仮想ハードディスクは自分が分かりやすい場所に置きます。自分の場合は仮想マシンの格納場所の配下において、一気に消せるようにしてます。
インストールディスクはダウンロードした Debian with Raspberry Pi Desktop のISOファイルを指定。
起動してインストール
起動してみましょう。
Graphical Install をクリック。
余談:Run with persistence とは?
仮でみるなら Run with persistence ですが、今回はしっかりインストールしたいので確認程度で。
こちらの記事がわかりやすかったです。
PIXEL for x86 (RaspberryPiのデスクトップ環境) – Qiita
Run with persistence : 設定とかファイル変更とか、保存される
Run and reset persistence : 保存されたファイルを消去(リセット)して、Persistenceで起動
Run without persistence : 設定・ファイル変更を保存しない。
インストール開始
いよいよ仮想マシンの中の動作です。
まず、Keymap 画面ではじまるので、英語で良いならこのまま進んで良いんですが、結構デリケートな処理が取り違うとヤバイので、一旦日本語表記にしましょう。
GoBackで一旦戻ります。
Choose Languageを選択。
日本語選択。
なぜかリストが英国のヨーロッパではじまるので、戻る。
アジアを選択し直し。
日本を選択。
キーボード設定を英語から日本語に。
日本語に。
マウント開始。
ディスクのパーティションを聞かれるので、ガイド – ディスク全体を使う。を選択。
sdaを選択。これは仮想ディスクを指してます。
初心者なので一番の上のやつ。
パーティショニングの完了とディスクへの変更の書き込みを選択して、続ける。
いよいよ直前の画面。
はい に選択。で、続ける。
インストール開始。
ごりごりインストール続行。
途中でGRUB ブートローダーのインストールを聞かれます。
/dev/sda を選択して続けます。
インストール完了です。
インストールの後処理を待ちます。(少し時間がかかります)
インストール後の起動
いよいよインストールの起動です。
起動時に先ほどのGRUBブートローダーがよしなにやってくれます。
少し待つと起動します。
無事起動できました!これVNCじゃないですもんね!w
まずSSHオン
つづいて、最低限のセットアップのために、SSHをオンにします。
IPを確認しておきます。Hyper-V側でネットワークが規定のネットワークに通じているならIPが配布されているはず。
設定画面に行きましょう。
デフォルトではオフでした。
Enabled にしてOKを押します。
ipconfigで自分のIPを確認します。
SSHツールでつないでみると、無事つながりました。
まずアップデート
sudo apt-get update
つづいてアップグレード
sudo apt-get upgrade
ざくざくインストール。
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 コマンドを利用します。
yes ですすむ。
インストールしていきます
最新の Node.js 8系が入りました(2018/03/18現在)
無事インストールできました。
Node-RED起動
node-red
起動してみます。
Hyper-Vを動かしている母艦のほうで http://仮想マシンのIP:1880/で叩いてみます。
無事、デプロイもinjectノードによる動作確認もできました
ためしに dashboard ノードも入れてみます。
いつものダイアログ。
Raspberry Pi 3 よりも待ち時間なし。
現在のWindows 10マシンはUnity開発できるように強化してるやつなので、一瞬(体感5秒?)でのインストール!
ボタンを配置。
ダッシュボードのグループの設定を終わらせて、ダッシュボード画面を開いてみます。
無事表示されました。ちゃんとIPレベルで到達して、おかしな動作もないですね!
まとめ
ということで、Windows 10 Hyper-V環境でRaspberry Pi インストールしてNode-REDまで使えるようにしてみました。
仮想環境の感覚を最近つかみたくて、このような実験を合間に行っています。
これができると、SDカードにRaspberry Piを入れる手順よりも、高速な実行環境で、Node-REDとRaspberry Piの動作が確かめられるし、手軽に壊せるのでよいですね。
もちろん、シリアルポートノードのような、ハードウェアに紐付いた動作となるとエミュレートできてないですが、少なくともネットワーク関連の挙動はいろいろとチェックできそうです。
それでは、よき Node-RED & Hyper-V & Raspberry Pi Life を!