2015年2月15日日曜日

Galileo Gen2 + WindowsIoT + node.js

RaspberryPi2でWindowsIoTが対応するみたいなのでRspberryPi2をほしいのですが、いまだに手に入れられません・・・

さて、1月27日にWindowsIoTのアップデートがあって、node.js(Win32アプリが色々動く)を動作させる方法が公開されたのでやってみました。

手順はこちらで公開されています。

実際にやってみました。

1.最新版のWindows imageを用意します。最新のイメージは2014/11/21の日付です。それとapply-bootmedis.cmd(2015/2/5)もダウンロードしておきます。microSDにイメージを展開して起動するのを確認しましょう。起動メディアの作成方法はこちらが参考になります。


2.Windowsが起動したら、適当なところにフォルダを作成します。「C:\node」と作成しました。Telnetでもいいですが、GalileoWatcherで右クリックして「Open Network Share」を選ぶとすぐにCドライブにアクセスできるのでそちらから作成するのが色々楽です。

3.nodejs.orgからWindows32bit版のnode.exeをダウンロードして、先ほど作成したフォルダへコピーしておきます。

4.最新のnpm zipファイルをこちらからダウンロードして、展開してから中身をnode.exeと同じフォルダにコピーします。(ダウンロードできる最新のnpmのバージョンは1.49でした、しかし実際には2.6以上のバージョンに上がっているのでインストール後「npm update」しておきましょう。問題なければ最新版にアップデートできます。)

5.Win32アプリを動作させるのに必要な「User32.dll」をビルドします。予めVisualStudio Express 2013 for WindowsDesktop等を用意してください。こちらからファイル一式をダウンロードして展開後ビルドしましょう。出来上がった「User32.dll」をnode.exeと同じフォルダにコピーします。

6.telnetでGalileoにアクセスして、C:\nodeフォルダに移動します。次にコマンドライン上で
  「mkdir %systemroot%\system32\config\systemprofile\AppData\Roaming\npm」
  「setx path "%path%;c:\node" /M」
  「shutdown /r /t 0」

7.再起動後node.jsが使えるようになっています。

8.「npm update」でnpmを最新版にしておきましょう。

これ以降は通常のWindowsでnode.jsを使う場合と同じです。
expressをインストールして動作することも確認できました。

Node.js Sampleページではインストール後にLチカの動作させていますね。(自分はまだ試していません)

node.jsが動作するようになって色々サーバーを動かすことが可能になりますね。