高橋 登史朗

NUCで手のひらサイズの格安WebSocketサーバーを立ててみた(ハード組立編)

2012年11月からインテルが出荷をはじめたNUC (Next Unit of Computing)という製品群が自作系PCながら意外にひそかな(?)注目を集めています。※1

今回はこのNUCを使って、手のひらサイズの格安 WebSocket サーバーを立ち上げ、それで動くアプリを作ってみました。

NUCって何?

NUCは、本体にメモリやストレージなどを追加して自分で組み立てる、いわゆる自作パソコンの仲間ですが、その特徴は、10com四方の超小型でありながら、最新性能で格安ということです。

それは、こんな外観です。 NUC DCCP847DYE

手のひらサイズで総額3~7万円程度で仕上がるにも関わらず、ストレージはminiSSD、CPUはCore i5も選べて無線 LAN・bluetooth タイプもあり、さらに全機種マルチモニター出力可能というフルスペック以上なマシンです。

性能も十分高いので、小さなパソコンとしてだけではなく、社内のいろいろなサーバー用途や、あるいは、複数ディスプレイをつなげるなどして、これから普及が見込まれるリアルタイムデジタルサイネージ(電子看板)などでも重宝しそうという優れもの。

多くの業務と製品がネットワーク経由のサービスと無縁ではなくなりつつある今、わずか数万円でどこにでも持ち歩ける手のひらサイズのサーバーを作り、たとえば、機動性の高いサービスをより現場に近い場所で、NUCを使って次々と立ち上げるというのも面白いかもしれません。

最近はスマートフォンなどの進撃に押されつつある巨人インテルですが、Next Unit of Computingという名称に込めたインテルの気合いが伝わってきます。

インテルは長友だけではないのです^^;。

今回作るサンプルをチラ見

さて、ここから、NUCの組み立てからOSやFTP、Apache、Nodeなどのインストールをこつこつやっていきますが、多少地味な作業なので、モチベーションを維持するべく、今回のお題の最終到達地点をチラ見しておきましょう。

WebSocketによるプッシュデータを受け取って表示するリアルタイムチャートです。 下の赤い「Play」ボタンをクリックすると動きます。(※もし、このサンプルが動かない環境ならポートを80や443などにする必要があるかもしれません)

(invalid jsdo.it code)

この仕組みを使えば、たとえば、社内の毎時変化する様々なデータの推移状況(たとえば、刻々と変わる販売チャートや様々なセンサー監視チャート、サーバーログチャート)などを関係者全員がリアルタイムにリロードなしで閲覧するといったシステムを作ることもできます。しかも、わずか数万円で。

では、材料から集め始めましょう。

今回使った材料

今回の素材は昨年2月に発売された格安版「NUC、DCCP847DYE」。

CPUはCeleronですが、miniSSDを付けて駆動すれば充分使えます。そして何より安い!今回は1万7千円弱程度で買えました。(※2014年1月現在。価格は変動します)

レシピ

このNUCを普通のデスクトップとしてではなく、今回はLinuxのUbuntuを入れ、Node.js+WebSocket サーバーとして、HTML5 Experts.jpらしく料理してみます。

  • 名前:手のひらサイズの格安 WebSocket サーバー
  • 所要時間:2時間弱(うまくいけば小1時間)
  • 難易度: Linuxを少し使える(または、使いたいという意思を持っている)方
  • 素材 ハード:(総額約3万円程度 *価格は変動します)
         
    1. NUC DCCP847DYE 16,600円
    2. ストレージ  8,889円 PLEXTOR PX-64M5M SATA 6Gb/s対応の高速 mSATA SSD64GB
    3. メモリ 5,615円 G.Skill F3-1600C9D-8GRSL (1.35 V対応) 4G
    4. 電源ケーブル 490円 BUFFALO 3P型ミッキープラグ BSACC0802BK 0.2m
    5. (上記の他にキーボード、マウス、HDMI ケーブルとOSインストール用 USBタイプのDVDディスクドライブも用意しますが、サーバーなので Win や Mac から SSH でリモート接続して使うと稼働後はほぼ不要なので他のパソコン用のものを流用しました。)
  • 素材 ソフト:(0円)
         
    1. OS Ubuntu Server 13.10
    2. JavaScript実行環境 Node.js v0.10.23
    3. WebSocketサーバー ws
    4. その他 パッケージ管理 npm, バージョン管理nvm, Webサーバー Apache

一応、作業時間もメモしておきますが、これらはあくまで目安ですのでご了承ください。

【20分】組み立てます

では組み立ててみます。 (時間を節約するためにできれば、下のOSダウンロードも平行して進めておきましょう)

パッケージを開けると、おなじみインテルCMのあのジングルが鳴る♪

パッケージをあけるとおなじみインテルCMのあのジングルが鳴る♪

mSATA SSDはこんなに小さい(別売)

SATA SSDはこんなに小さい(別売)

裏ぶたを外して、メモリとmSATA SSDを取り付け。説明図見ながら付ける。

裏ぶたを外して、メモリとmSATA SSDを取り付け

ふたを閉める。もう完成!

ふたを閉める。もう完成!

モニタの裏に取り付けるVESA規格のパーツもついてる

モニタの裏に取り付けるパーツもついてる

あっという間に完成です。

次回は、このNUCにソフトをインストールします。

予習:OSはUbuntuサーバーを使いますが、次回のためにあらかじめ下記のOSをダウンロードして、DVDに焼いておきましょう。Ubuntu入手先(Ubuntuサーバー バージョン 13.10) http://www.ubuntu.com/download/server *もし、DVDの焼き方がわからなくても自力で調べてやってみましょう。

<関連レポート>
NUCで手のひらサイズの格安WebSocketサーバーを立ててみた(OSインストール編)を読む⇒
NUCで手のひらサイズの格安WebSocketサーバーを立ててみた(アプリ起動編)を読む⇒

週間PVランキング

新着記事

Powered byNTT Communications

tag list

アクセシビリティ イベント エンタープライズ デザイン ハイブリッド パフォーマンス ブラウザ プログラミング マークアップ モバイル 海外 高速化 Angular2 AngularJS Chrome Cordova CSS de:code ECMAScript Edge Firefox Google Google I/O 2014 HTML5 Conference 2013 html5j IoT JavaScript Microsoft Node.js Polymer Progressive Web Apps React Safari SkyWay TypeScript UI UX W3C W3C仕様 Webアプリ Web Components WebGL WebRTC WebSocket WebVR