Windows 10 が動作する Raspberry Pi 2 Model B の考察

Raspberry Pi 2 Model B発売。4コア化&1GB RAMでWindows 10も対応、6倍高速 – Engadget Japanese
http://japanese.engadget.com/2015/02/02/raspberry-pi-2-model-b-4-and1gb-ram-windows-10-6/
マイクロソフト、Raspberry Pi 2 にWindows 10 を含む開発環境を無償提供 – Engadget Japanese
http://japanese.engadget.com/2015/02/02/raspberry-pi-2-windows-10/
Raspberry Pi 2 runs free Windows 10, costs $35 – CNET
http://www.cnet.com/uk/news/raspberry-pi-2-model-b-is-a-quad-core-upgrade-on-sale-today/

2個注文したので、ざっと備忘録的に書いておきます。ちょうど、先日 MVP Community Camp で 「Raspberry Pi で動かすロボットアーム(meArm)」を発表したばかりなので。

去年の夏ごろに、USBポートが4つある Raspberry Pi Model B+ が発表になって、どーしたものかなと思っていたのですが、ここに来て、RAspberry Pi 2 の発売です。値段的には数百円しか変わらないので上位バージョンとして買っておく訳ですが(手元にあるのが、初代の256MB の RasPi なので)、実は Windows 10 を動かすにはクリアされなければいけない(Microsoft がクリアする訳ですが、しかも6か月間のうちに)難関がいくつかあります。

ちなみに、以前のバージョンに Windows 10 は載るのか?というと載らないみたいですね。今回の RasPi 2 では SoC(System on a chip)を搭載したことで、Windows 10 なり Ubuntu なりが動くことができるとのこと。

CPU が ARM

Intel 系の CPU ならば、そのまま載せればいいのですが、RasPi 2 の CPU は ARMv7 です。つまりは、Surface RT と同じように ARM 系なわけです。Surface RT 2 が生産中止で、ARM と WinRT の組み合わせが下降線になっている(?)ときに、再び、ARM 系に合わせないといけないわけですね。Visual Studio 自体には ARM コンパイラが入っているので、それでコンパイルしてインストール。ただし、Surface RT では、ARM 実行ファイルはそのまま入れられなかったので、その制限は緩くしなければいけないわけです。とはいえ、実行許可のガードだけかかっているので、それを外すだけでいけるのか、それとも、Windows の ARM 版がそのまま移行できるかどうかは不明なところです。

GPIO を直接アクセスする

Windows 8 あたりだったか、OS から GPIO の直接アクセスがかなり制限されています。WinRTからは絶望的(?)なので、デスクトップアプリからアクセスすることになるのですが、この手のアクセスはカーネルか特権で動かさないとだめですよね。実際、Linux からは sudo 等で特権で動かないとポートアクセスができません。ここには特定のドライバーを入れるのか、デスクトップアプリ自体を特権(管理者権限)で動かすのか、ってところです。まあ、RasPi の Windows 10 を入れてマルチユーザーで動かすことは少ないでしょうから、管理者権限のユーザーを作っておけばいいだけかもしれませんが。RasPi の場合は、USB アクセスじゃなくて、GPIO アクセスができて I2O コントローラーで制御できるってのが有利な点なので、ここは外せないところです。

.NET Compact Framework になる?

ここは予想なのですが、SD メモリ内で動く Windows Embedded 的な機能とポートアクセスな機能が必要なわけで、.NET Compact Framework が搭載される感じになるのかなと思っています。

MVP Global Summit 2014 感想戦 | Moonmile Solutions Blog
http://www.moonmile.net/blog/archives/6603

の中でも書きましたが、

Microsoft’s fitness band: What kinds of software and services are inside? | ZDNet
http://www.zdnet.com/article/microsofts-fitness-band-what-kinds-of-software-and-services-are-inside/

にある、Windows 10 “Athens” のところには、Windows Embedded Compact があって、ここには .NET Compact Framework が載る予定なんですよね。勿論、RasPi 2 に Windows Mobile のところを割り当てるパターンも考えられるのですが、Mobile のほうだとセンサーの制御とかがしづらくと、そうなるとせっかく RasPi 2 に乗っているモジュールが全滅ってことになりかねない。ここは、ぜひ GPIO を手軽に扱える環境を提供してほしいところです。まあ、.NET CF ってことになると、それはそれで制限が多いわけですが、デスクトップアプリを動かすことは少ないだろうし(HDMIはついているけど、それを使ってタッチパネル/ストアアプリを動かすことは少ないかなと)。まあ、ディスプレイが無い=無償提供ってことで、Windows Mobile のほうを提供するパターンもあるのですが、その場合はセンサーの類を頑張って貰わないと。

とはいえ、インテルのミニPCよりも断然安いし、USB給電なので電気維持費もかからないので、常時接続のモデルを作るのは都合がいいボードですよね。私の場合は、

  • ディスプレイ無し(デスクトップなし・ストアアプリなし)
  • Telnet 系の接続が必須
  • GPIO, I2C, カメラモジュールの接続が可能
  • BrickPi のような拡張ボードの接続が可能
  • USB ドングルの WiFi あるいは Bluetooth 接続

が必須なわけです。Linux で Bluetooth(ゲームコントローラー)接続がちょっと面倒なので、そのあたり Windows 10 を載せると改善されたら手軽にできてよいかなと。

カテゴリー: RaspberryPi パーマリンク