先に申し上げますと、掲げたテーマがまったくもって達成できておらず、折角選出頂いたご厚意に応えることができていないこと、大変申し訳なく思います。
前回の募集の際、自分ができそうなことで面白いことが思いつかず、際立ったテーマを上げることができませんでした。
今回も前回同様に思いつかず、応募は見送ろうと思っていました。そんな中、ある日突然やってみたいことが発生したのです。そして、そのテーマで応募したところ、レビューアに選出頂いたわけですが、ここまで難航するとは思っていませんでした。
とりあえず、現段階までの状況報告としてレビューを公開させて頂きますが、今後引き続き取り組ませて頂きたいと思います。
[2013.05.26追記]
Windows8によるSTB化(目標に向けたデモとでもいうか...)
まずは、恒例の開梱式から外観まで。
今回のレビューでは、ストレージとしてIntel SSD 525 240GB(予定では120GBだったものがグレードアップ)とネットワークモジュールとしてIntel Centrino Advanced-N 6235をセットで提供して頂きました。
外観については、すでに第1弾レビューの方々が多数掲載されていますので、ここは駆け足で説明させて頂きます。
と言っても、コレは、前回のレビューにも必ずと言っても良い程書かれて内容ですので、私も掲載させて頂きます。
大変面白いギミックの化粧箱ですが、夜、寝室脇で作業している私としては、正直、あまりありがたくない機能でした。
NUCの外観に対する第一印象は、やはり小さいということです。
言わずもがなではあるものの、その驚愕の小ささは実物を見て一層強く感じました。もしかしたら、娘が毎日持っていっているお弁当よりも容量が小さいかもしれません。ただ、大きさの割にズッシリとしています。
というわけで、写真掲載で割愛させて頂きます。
今回、レビューの品として提供して頂いた品は3点、NUC本体、SSD 525 240GB、Advanced-N 6325です。
それ以外に、NUC稼動に必要な部品としてS。O.DIMMモジュールと電源ケーブル、+必要以上の品を加えて、レビューを進めていきます。
これらについては、別途レビューさせて頂いておりますので、後述リンクまたはもちものリンクから参照して頂けると幸いです。
最後にサイズ比較を兼ねて、今回の使用機材(一部)と組み合わせた写真が上記になります。
右の写真から説明すると、とりあえずで使用するキーボード・マウスはPS2/Linuxに付属した品ですが「NUCと組み合わせると黒基調のコーディネートで良い組み合わせ!」と思いきや、キーボードは106キー、マウスはボールという、カッコ良さと裏腹に使いづらい機材でレビューを進めることになりました。
次に左ですが、これらは今回のレビューで使用予定でしたが、いまだ出番のないまま待機中機材です。これを見ると、USBポートにドライブ(特に光学ドライブ)を接続して使用するのは、なんとなく見栄えがよろしくない感じがします。
単体もしくはネットワーク経由のストレージを使用するのが、スマートではないか?と感じてしまいます。
外側だけ見てても仕方ないので、組み立てていきましょう。
私は、裏ぶたが外れにくいと感じましたので、マウンタ用のネジを装着して、取っ手代わりにしました。
これも、これまでのレビューに多数情報が掲載されていますので、駆け足で進めます。
これを組み立てと呼んで良いかわかりませんが、最後に自作PCを組んでから10年以上経つ私でも難なく組み立てることができました。と書きたいところですが、頓珍漢な私はやってしまいました。
SSDと6235を固定するネジが取り付け位置に予め取り付けられていました。それに気が付かず「ないなぁ」と、しばらく考え込んでしまいました。
それさえ分かれば、SSDと6235の取り付け位置が勘違いするとか私くらいなもので、一般的にはそれほど困難な作業ではないと思います。
セットアップが完了するまでは、書斎のモニタで作業する予定でしたので、とりあえず、設置しました。左が設置前、右が設置後。
散らかっているとかいう突っ込みはなしにして、前後であまり変わっていないと思われるでしょう。そうです、やはりここまで小さいとモニタの裏に背負わせたくなります。
前述どおり、NUCには付属品としてVESAマウンタ用の治具が付属していますので、これまた難しい作業もなく、モニタ裏に背負わせることができます。
こうなると、有線キーボード・マウスでは少し不便(スマートさを欠く)を感じます。それ以上に、電源投入するのが不便だったりします。下記中央が電源ボタンを押しているところになります。
キーボードのホットキー(できればワイヤレス)で電源投入できるのかどうか、調べておきたい気がします(今回は省略)。
先にネタばらしをしますと、最終的な目標はテレビの後ろに配置したいと考えています。そこまで行くことができたら、キーボード・マウスもBluetoothまたは無線のものに交換することにしましょう。
ただ、上右の写真は我が家のテレビの背面ですが、テレビアーム固定用のネジ穴はありますが、VESAマウンタがありません。
以前、2.5インチHDDを固定した時はマジックテープを使用しましたが、NUCは前述の通りズッシリと重いため、マジックテープでは不安です。固定用法は要検討です。
将来的には、このセットで快適なリビングライフを迎えたいものです。
本来のテーマに入る前に、環境整備とパフォーマンスを確認しておきましょう。
パフォーマンス確認は、他の方のレビューの方がわかりやすいので、私は私が気になった点だけ確認させて頂きました。
とりあえずは、OSをインストールしないわけにはいきません。パーティションは以下の通り。
この状態から変更していこうと思いましたが、いろいろなOS(Windows、Linux、MacOS等々)のインストールを試したいと思っていましたので、Windows以外のOSにも優しいMBR方式に変更しました。
このパーティションマップを採用したのですが、終始(今現在も)悩まされているWindows8の不安定さはこれが原因かもしれません。
それは後で調べることにして、先に進みます。
まずは、メモリ、SSD、ネットワーク。と言っても、自宅の無線環境がかなり古いため、あまり参考にならない値です。各詳細は下記リンク先を参照して下さい。
次に、私が気になっていた点、CPU(Core i3)に内蔵されたIntel Media SDKによるエンコード速度です。
ソフトにより対応していないものもありますが、今回は「TMPEGEnc Video Mastering Works」(以下、TVMW)を使用してみました。
素材はの20分43秒のmpeg2(9.8Mbps+192kbps)からAVCHDへの変換を試しました。
結果としては、Intel Media SDKを使用した場合、今回のデータでは半分以下の時間で完了してしまいました。
TVMWに限らず、対応範囲が広くないため限定的ではあるものの、これはかなり重宝します。特に、我が家もそうなのですが最近(直近はどうなのか不明)のビデオカメラのデータはAVDHDですので、その変換には苦労させられていました。
簡略し過ぎた感もありますが、パフォーマンスチェックは以上です。
各部品の詳細は、別途記事を書かせて頂いておりますので、そちらを参照して下さい。
例によって前置きが長くなってしまいましたが、いよいよ本題です(とは言っても、現状未完成)。
私がテーマとして掲げた内容は「Androidを搭載してセットトップボックス(STB)を構築する」という内容でした。
以前からPC(x86)上で動作するAndroidを見たことはありましたが、最近になって別の調べ物の過程で「Android-x86」の存在を知り、それをNUC上で動作させSTBを構築したいと思ったわけです。
たぶん、このテーマ自体、興味がある人はわずかだと思いますが、折角頂いた機会ですので、できる限り最後まで取り組ませて頂きたいと思います。
まずはAndroidのビルド環境から揃えていきます。
Androidのビルドには“64bitのLinux環境”が必要ということで、使い慣れたUbuntuの64bit版を使用することにしました。
ちなみに、Ubuntu 64bitは日本語化コミュニティで配布していないため、本家からダウンロードする必要がありますが、インストーラもU/Iも日本語化できますので特に抵抗を感じることはありませんでした。
第3パーティションにインストールし、ローダ(grub2)のインストールポジションをパーティションの先頭に指定しました。
昔、マルチインストールしていた頃は、Linux側のローダ(grub)からWindowsを起動していましたが、WindowsがVista以降になってから面倒な構造になったため、Windows側からLinuxを起動した方が簡単なようです。
もっとも、Vista以前でもntldr(とLinuxのブートセクタ)でWindows側からLinuxを起動することはできていました。
インストール間もない状況ですので構わずガンガン作業していますが、間違うとOSごと吹き飛んでしまいますので、これらの作業を行う前に重要なデータはあらかじめバックアップしておく必要があります。
ここまでは手本に習って、作業していたので問題はありません。と思いきや、WindowsのOS選択画面がCUI版になっているではありませんか!?
選択するとOS自体は起動できるため、今回は目を瞑ることにします。
あとで時間ができた時に調査することにします(というか、すべて入れなおします)。
64bit版Linuxが起動できたら、引き続きビルドに必要なソフトを揃えていきます。
ここもWeb上の情報を参考にしているので、その内容を抜粋させて頂きます。
まずは、Javaのインストール。以前は、SunのJavaだったわけで、古い文献ではダウンロード先Sunだったり、URLが異なったりしてつまずく印象がありました(以前の私もそうでした)。
が、今回は、apt-getであっけない程サラッとインストールできました。
【リポジトリの登録】
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid-updates partner"
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"
【アップデート】
$ sudo apt-get update
【インストール】
$ sudo apt-get install sun-java6-jdk
$ sudo apt-get install sun-java5-jdk
【デフォルトJavaツールの設定:上段3行は不要?】
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_32/bin/javac 1
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_32/bin/java 1
$ sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.6.0_32/bin/javaws 1
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javaws
【関連ライブラリのインストール】
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
これでAndroidのビルド環境が揃いました。
では、ようやくAndroid-x86の話になります。Android-x86のソースを持ってきてビルドします。
今回は、JellyBeans(Android 4.1-4.2)ではなく、一つ前のIceCream Sandwitch(Android 4.0)で試しました。
Androidのソースには、複数のgitリポジトリをまとめて管理するrepoが使用されています。
このツール自体はgoogleが提供しており、
【repoプログラムの取得】
$ mkdir ~/bin
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ PATH=$PATH:~/bin:
【Androidソースの取得】
$ mkdir android-x86
$ cd android-x86
$ repo init -u http://git.android-x86.org/manifest -b ics-x86
$ repo sync -j8
ソースダウンロードは、回線の速度・サーバの負荷状況にもよりますが、云時間単位で時間がかかります。
今回は本家からダウンロードしましたが、状況によってはSourceForgeからダウンロードした方が早いという情報もあります。
最初ダウンロードしようとした際、アクセスが拒否されたり、ダウンロードが途中で途切れたりしました。どちらにアクセスしても同様の状態でしたが、翌日日中に試したところ、あっけなくダウンロードできてしまいましたので、途切れる場合は時間帯を変えてみると良いかもしれません。その場合、手順を最初からやるのではなく「repo sync」のみで前回から継続することが可能です。
【環境変数の設定】
$ source build/envsetup.sh
$ lunch
※今回は<full-eng>または<generic_x86-eng>を選択
【ビルド:かなり時間がかかる】
$ make -j8 usb_img
我が家の回線では、ダウンロード自体は1時間程度でしたが、ビルドは云時間でした。時間計測を忘れてしまいましたが、時間計測のためにもう一度やるのが嫌になるくらいの時間(4時間程度?)です。
ビルドが正常に完了すると、「./out/product/generic_x86/generic_x86.iso」が出来上がります。
これをUSBに書き込み、リブートするとAndroidが起動してきます。
【ディスクイメージの書き込み】
$ sudo dd if=./out/product/generic_x86/generic_x86.iso of=/dev/sdb
とりあえずは、USB起動で満足しておきましょう。
内蔵ストレージ(SSD)にインストールして使用することも可能ですが、ブートローダのインストールに不具合があるらしく(私の操作ミス?)、Windowsのブートローダを壊してしまう可能性があります。
動作状況はどうかというと、U/Iのエラーが頻発し、まともに使用できない状態です。
詳細はまだ未確認ですが、この現象はRaspberry PIでAndroidを動作させようとしたときにも発生したような気がしますので、私の手順のどこかに不備がある可能性があります。
安定動作ではないものの、Androidが起動できたところで、再びサイズ比較の写真です。
Wiiと比較すると、大きさは大分異なりますが、なんとなく似たような(実が詰まった)印象を受けます。
「なぜここで?」の答えは、比較対象にあります。
テーマの副題として「Wiiリモコンで操作できるセットトップボックス」を掲げていたのです。
で、こちらは、取り組めずの図になります。
自作センサーバーを作成し、「これなぁんだ?」とお見せしようと思いましたが、結局、各OSの安定化に時間を要し、作成する時間が取れませんでした(後日作成します)。
中国製の怪しいUSB扇風機からUSBケーブルをもぎ取り、手持ちの赤外線LEDと、ICセット売りに使用されるレール、その他細々した部品を使用し、Wiiのセンサーバーを自作します。
USBから電源供給するので、本体の電源が入ったタイミングでセンサーバーが有効になるという魂胆です。
最終的な目標は、AndroidをWiiリモコンで操作することですが、とりあえず、Windows・Linux(Ubuntu)に接続して動作できるかどうかを試したいと思います。
web上の情報を検索するとUbuntu 12.04では、特に設定を変更することなく使用できる旨の情報がありました。
確かに、デバイスとしては認識しているものの、接続しようとするとエラーになります。
ライブラリ等の不足かとも思いましたが、情報の中にある各種ライブラリ・ユーティリティ等をインストールしてみたもののの結果は変わらず、認識できていない状況です。
では、Windowsではどうかというと、実はまだ試すことができていません。後述の通り、Android側の設定を色々いじっている過程で、Windows環境を破壊してしまいました。
Wiiリモコン動作は、Androidの動作を確保して、最後の最後に確認しようと思っていたのが、完全に作業ストップとなりました。
当然、安定しないAndroidでは動作確認することすらできず、現状、Wiiリモコンの動作が確認できたOSはゼロという悲惨な状態のまま、作業は棚上げとなってしましました。
実は、このレビューアに選出された際、知人にNUCのことを説明すると、「デスクトップなのに小さくする意味があるのか?」と言われました。
確かに、私も最初はその疑問はありました。
しかし、今回、実際にNUCに触らせて頂き、拡張性は限られたものですが、所有者の方針次第でカスタマイズ・使い方を楽しむジャンルの製品だと感じました。
小さいPCとしてNUCを選択するのではなく、今回のレビュー募集要項のように、NUCを使って何をしようという見方が良いのではないでしょうか?
図々しくも良い点、悪い点を書かせて頂くと。
【良い点】
小ささと、その大きさに対するパフォーマンスの高さ、そして静音性の高さがとても気に入りました。
【悪い点】
筐体が小さく、CPU/SSDが発する熱がこもりやすいせいか、耐熱面は弱い感じを受けます。
それから、今回私が取り組ませて頂いた内容は、各社からAndroidスティック端末が出ている中にあって、なにもNUCでやる必要はなかったわけで、完全に自己満足のテーマにでした。
好き勝手にやらせて頂き、最後まで粘ったにも関わらず、まともな結果が出せず、メチャメチャな状態で公開することになり、大変申し訳なく思います。
自分の知識と実力の無さを露呈する形のまま、一旦レビューをクローズさせて頂きますが、今後とも最終目標に向けて取り組んでいきたいと思います。
最後に一言、小さなスパイスのようなNUC、実に面白いです!
[2013.05.12]
で、今現在どういう状態になっているかというと...。
AndroidをSSDのパーティションにインストールする際、誤ってWindows8のブートローダを壊してしまいました。
そのため、動作の不安定なAndroidの状態から起動できない状態になっています。
当面は、Windowsを復旧する作業をしなければなりません。
[2013.05.26]
当初の目標であるネイティブAndroidのSTBは、当面、実現できそうにありません。
でも何かしら実現したいと考え、必要とするスキルをかなり下げて、Windows8で目標の実現イメージを構成してみました。ただ、こちらも完全ではありません。
使用するものは「WiinRemote」と以下の機材です。
ここで、Bluetoothドングルを投入していますが、これは東芝製のスタックを使用するためです。今回、スタックを3種類試しましたが、東芝製以外のスタックでは「WiinRemote」が反応しませんでした。
NUCにWindows8インストール直後、Advanced-NはMicrosoft製のスタックになっており、「WiinRemote」が動作できず、それを東芝製に差し替えることで動作することは確認しました。
ただし、その場合、評価版スタックで30日間限定となるため、標準ドライバが東芝スタックの本品で作業しました。
それ以外の機材については、それぞれ、Wiiリモコン、DiXiM Digital TV plusのために使用し、配信サーバーとして上記RecBoxの他に、以下を使用しました。
とりあえず、自作センサーバーを組み上げました。
組み上げた直後は、かなり反応が良い印象で満足していたのですが、赤外線LEDが挟角だったのか、ケースの反射光/屈折のせいか、制限抵抗が大きすぎたのか、外乱光の影響を受けやすいようです(要改良)。
LEDの間隔をオリジナルとほぼ同じ位置にしましたが、Wiiリモコン(WiinRemote?)はこの間隔からモニタとの距離を測っているようです。
そのため、モニタのサイズに合わせて、その感覚を調整した方が操作しやすいかもしれません。
ちなみに、前述の通り電源はUSB供給にしました。そして供給元をREGZAにすることで、WiiとNUCで共有することができるわけです(ただし、Wiiの赤外線を使ったトリックはできなくなる)。
今回、動画再生ソフトとしてRecBoxに付属(ダウンロード)した「DiXiM Digital TV plus」を使用しました。
このソフトはボタン等のインタフェースが大きく確保されているため、PCで使う分には冗長すぎる感じがしますが、タッチや今回のような操作にはもってこいです。
実際に使ってみた感覚としては、ソフトの問題はおいておくとして、リモコンは“それなり”に使えます。
上記の通り、多少、不安定かつ端に弱いところもありますが直観的に操作できるのは良いです。
ダブルクリックしようとするとリモコンがブレてしまい、なかなか思うようにいかないことがあります。その場合は、WiinRemoteの設定でいずれかのキーにダブルクリックを割り当てると良いでしょう。
なお、下記動画の中で、Wiiリモコンから、スタートメニューを呼び出していますが、これはリモコンの「ホーム」ボタンに[Win]キーを割り当てて実現しています。この割り当ても直観的なのでそうしました。
簡単にですが、動画も撮影してみました。
見て頂くと分かりますが、Wiiリモコンの接続は自動ではできません。省電力でリモコン側の電源が切れた場合、再度接続の手順を踏む必要があります。
今回東芝製のBluetoothスタックを使用する形にはなりましたが、接続の際に必ずメッセージボックスが出るため、Wiiリモコンを使用するためにマウスやキーボードを操作しなければならないという矛盾に陥りました。
この点については、vbsを使用すれば回避できそうです。
一応、Androidの状況は?というと、やはりWiiリモコン操作まではできておらず、情報収集しているレベルです。
Wiiリモコンを使用するためのアプリは存在するわけですが、今現在提供されているアプリでは、センサーバーを使用した操作はできません。そのため、それらを使用した動作検証はしていません(というかできていません)。
「BeagleBoard」という基盤で、カーネル等にパッチを当て、Wiiリモコンでの操作を実現しているという情報がありました。
その情報を元に、この一週間取り組んではみたものの、成果は上げられませんでした。
Linuxについても並行して試してみてはいますが、キーパッド部分による操作はできるものの、センサーバーによる操作はできていない状況です。
まだまだ先は長そうです。
---
カーリーさんより「Windows上でAndroidアプリを動作させることができる」という情報を頂きました。
「Blue Stacks」というソフトを使用します。折角なので、Wiiリモコン+BlueStacksで遊んでみよう、もとい、もう少し目標に近づいてみようと思い、導入してみました。
私と長男が好きな「Fruit Ninja」を、Wiiリモコンでできたら楽しそうだと思ったわけです。
ところが結果は「Wiiリモコンが動作せず」でした。
予想にはなりますが、WiinRemote・BlueStacksともにキーをフックする形の実装になっていて、同居することはできないのではないでしょうか?
この結果は残念ですが、これはやはりネイティブAndroidでWiiリモコンを使うしかない!と決意して、難関に取り組むことにします。
ちばとどさん
2013/05/14
というか、Linux系でUEFI起動に対応したディスソリビューションをみかけません。AndoroidをWindowsとUEFIから安定的にデュアルブートできればスゴイと思うのですが、いいアイデアはないものでしょうかね。
蒼-aoi-さん
2013/05/14
Ubuntu 12.04のセキュリティ対応版とかいうのが対応版でしょうか?
レビュー作成過程でいろいろグチャグチャにやってしまったので、一旦真っ新にしてやり直したいと思っています。
できれば、Windows+Ubuntu+MacOSX+Androidが起動可能なマシンに仕上げたいと思っています。
ただ、Windowsさんが不安定な状態は頂けないので、それがクリアできないなら他のOSは諦め、USBブートさせるのが良いのかな?と考えています。
KoSさん
2013/05/19
蒼-aoi-さん
2013/05/21
手法的にはあるようなのですが...そこまで手が回っていません(汗
現在、Win8 Pro 64bitとUbuntu 12.04 LTS 64bitをインストールしていますが、easyBCDでWindowsブートメニューからUbuntuが起こせない状態になっています。
なにか初歩的な設定ミスのような気がしていますが、BIOS起動メニューからの切り替えで起動できているので、とりあえず後回しにしています。