QIoT Suite Lite から Intel Edison を QNAP NAS に接続する
Intel Edison(Nodejs)から始める

このチュートリアルでは、Intel Edison(LinuxベースのYoctoで動作)の基本的な使用について説明します。次に、QIoT Suite Liteを使用して、お使いのデバイスをQNAP NASにシームレスに接続する方法を説明します。
Intel EdisonおよびNASが同じLAN上にあることを確認してください。
1.デバイスの構成
オペレーティングシステムとのIntel Edisonの構成、開発環境のセットアップ、Intel Edisonへのアプリケーションの展開を行います。
1.1 Intel Edisonドライバーのダウンロード
ホストPCに基づいてIntel Edisonのドライバーを以下からダウンロードします。
1.2 デバイスの構成とテスト
Intel Edisonから始める
Intel Edisonを初めて使用する場合は、以下の手順に従って組み立てを行う必要があります。
説明の手順1~3に従います。
- 手順 1: ボードとセンサーを組み立てます。
- 手順 2: セットアップツールを実行します。
セットアップツールを使用して、便利なウィザードからIntel Edison開発ボード上で最新のファームウェアをフラッシュします。セットアップツールを使用すると、手順で説明されているように、SSHおよびWi-FI*接続を有効化できます。
- 手順 3: 開発環境をダウンロードします。
IntelR XDKクロスプラットフォーム統合開発環境をダウンロードします。
onBordBlinkプロジェクトの確認およびIntel Edisonへのアップロード
- プロジェクトの作成
- Intel XDKを起動します。
- 画面の説明に従い、IntelR XDKアカウントにログインするか、新しいXDKアカウントを登録します。
- プロジェクト タブから、左下の [Start a New Project (新規プロジェクトの開始)] をクリックします。新規プロジェクトの開始ページが開きます。
- 左のモノの組み込みアプリケーションで、[Templates (テンプレート)] をクリックします。テンプレートのリストが右に表示されます。
- [Onboard LED Blink (オンボード LED 点滅)] テンプレートを選択し、[Continue (続行)] をクリックします。
- ディレクトリを変更することで、[Project Directory (プロジェクト ディレクトリ)] にプロジェクトを保存できます。
- [Project Name (プロジェクト名)] にプロジェクトの名前を入力します。
- Intel XDKを起動します。
ボードへの接続
左下の [IoT デバイス] ドロップダウンリストから、お使いの開発ボードを選択します。IoT デバイスダイアログ ボックスへの接続 が開きます。
- お使いの開発ボードがドロップダウン リストに含まれていない場合は、手動でボードに接続する必要があります。[Add Manual Connection (手動接続の追加)] を選択して、[Address (アドレス)] にボードのIPアドレスを入力します。
- ボードのログインにユーザー名とパスワードを作成している場合は、[User Name (ユーザー名)] および [Password (パスワード)] に入力します。作成してない場合は、デフォルト値を残します。
- [Connect (接続)] をクリックします。
- デーモンの期限が切れている場合は、更新する必要があります。デーモンを再起動する必要があるため、ボードから切断されます。ダイアログが表示されたら、説明に従って再接続します。
- お使いのボードおよびIntel XDK IoT Editionの時計の同期が行われていない場合は、[Sync (同期)] をクリックします。
- 確認メッセージでは、お使いの開発ボードの接続ステータスおよびIPアドレスが表示されます。[Dismiss (閉じる)] をクリックします。これでボードが接続されました。
プロジェクトのアップロードと実行
- [Develop (開発)] タブに移動し、ウィンドウの下部でIoTツールバーを探します。
- アップロードアイコン
をクリックして、ボードにプロジェクトをアップロードします。
- 実行アイコン
をクリックして、コードを実行します。ボードでLEDが点滅します。
- 停止アイコン
をクリックしてLEDを停止します。
おめでとうございます。初めてIntel XDK IoT Editionを使用して最初のIoTアプリを実行しました。https://software.intel.com/en-us/get-started-edison-windowsを参照してください。
1.3 Node.jsおよび必須のライブラリのインストール
お使いのコンピューターでターミナル アプリケーションを開き、Intel Edisonに接続します。
最新のNode.jsをインストール
2.QIoT Suite Liteでのデバイスの作成
2.1 QIoT Suite Liteのインストール
- QIoT Suite Liteは、App Centerからインストールできます。
- QIoT Suite Liteを起動してログインします。デフォルトのユーザー名とパスワードは「admin」です。
2.2新しいIoTアプリケーションの作成
IoTアプリケーションは、モノ、ルール、ダッシュボードの組み合わせです。最初にIoTアプリケーションで「モノ」を作成することをお勧めします。このIoTアプリケーションを使用することで、NASに接続されている全てのデバイスの記録を維持することができます。
ルールでは、接続デバイスによって生成されたデータの収集、処理、分析、および操作を行うためのIoTアプリケーションを構築できるようになります。ルールは、1つまたは複数のデバイスのデータに適用できます。また、同時に1つまたは複数の操作を行うことが可能です。
ダッシュボードでは、リアルタイムの洞察を提供する分析よおびレポートにデータを変換することができます。
これら全ての要素は、完全なIoTアプリケーション環境をユーザーに提供します。
- 今回、初めてQIoT Suite Liteを使用する場合は、QIoT Quick Setupを使用することで、IoTアプリケーションの素早いセットアップの説明と手順を参照できます。説明を読み終えたら、[次へ] をクリックします。
- 新しいIoTアプリケーションを作成します
- IoTアプリケーション名を入力してください(例:"app_1")。
- ルール名およびダッシュボード名は、IoTアプリケーション名に基づいて自動的に生成されます。
- [次へ] をクリックします。
- [+ 追加] をクリックして、このアプリケーションデバイスを追加します。
- [+ 追加] をクリックした後、[モノを追加] において:
- デバイスの名前を入力します(この例では「edison」)。次に、[属性を追加] にデバイス情報(シリアル番号や製造元など)を入力します。
- デバイスが既にQIoT(Arduino Yun、Raspberry Pi、Edison、およびLinkit 7688(Duo))によってサポートされている場合は、事前に定義したモノのタイプを選択します。
- [追加] をクリックします。
- IPアドレス、ユーザー名、デバイスのパスワードを入力して、接続アイコンをクリックします。QIoT Suite Liteは、デバイスとの接続を確認します。接続が検証されたら、[次へ] をクリックします。
- [リソース] において、[リソースを追加します] をクリックします。
- [モノのリソースを追加] において:
- [リソース名] および [リソースID] にセンサーの名前およびIDを入力します。?注意:このリソースIDは、QIoTブローカーにおいてトピックを作成するために使用されます。このIDは、デバイスに対して一意である必要があります。同じデバイスに重複したものを使用することはできません。
- [リソース名] および [リソースID] にセンサーの名前およびIDを入力します。?注意:このリソースIDは、QIoTブローカーにおいてトピックを作成するために使用されます。このIDは、デバイスに対して一意である必要があります。同じデバイスに重複したものを使用することはできません。
- [API キー]で:
- QIoTダッシュボードウィジェットをWebページに組み込む場合や、サードパーティのアプリケーションからQIoT APIにアクセスするには、[API キー] タブに移動して [新しい API キーを生成] をクリックします。[終了] をクリックします。
- QIoTダッシュボードウィジェットをWebページに組み込む場合や、サードパーティのアプリケーションからQIoT APIにアクセスするには、[API キー] タブに移動して [新しい API キーを生成] をクリックします。[終了] をクリックします。
- これで、IoTアプリケーションが作成されます。Node.jsサンプルコードおよび関連ファイル(証明書、リソース情報)は、お使いのデバイス上の指定されたパスにアップロードされます。
- サンプルダッシュボードが作成されます
- [ルール] タブに移動してデバイスから送信されたデータの処理方法、ダッシュボードでの表示方法についてフローまたはルールを定義します。
3.MQTTSを使用してQIoT Suite Liteにデバイスを接続
3.1 サンプルコードの実行
- ターミナルアプリケーション(PuTTYなど)をPCで開きます。SSHを使用してデバイスを接続し、サンプルコードが保存されている場所(例:/home/root/bundle)のフォルダを入力します。
- サンプルコードの依存関係をインストールし、以下のようにコマンドを入力します。
- サンプルコードの実行
- デバイスは、トピック [temp] にメッセージを送信します。
3.2 別のプロトコルの使用
- [デバイスの接続] をクリックします。
- 別のプロトコルを選択できます。
- SSHを使用してデバイスに接続し、以下のコマンドを入力します。
4.?Power BIの統合
4.1初めてのPower BIアカウントの取得
- https://powerbi.microsoft.com/en-us/で無料のPowerBIアカウントを登録します
- 一連の登録を終えたら、下のページに移動します。そこでは、[マイ ワークスペース] を押すことで、[今はスキップ] ボタンが表示されます。[今はスキップ] をクリックすることで、データセットの作成を開始できます。
4.2 ストリーミングデータセットAPIの設定
- [データセット]を作成します
- 右上隅の [作成] をクリックします。
- [ストリーミング データセット]をクリックします
- データのソースとして [API] を選択して [次へ] をクリックします。
- ストリームの値を定義します(例:temp、max、min)。すると、JSONの結果がテキストボックスに表示されます。このJSONコードを使用しQIoT Suite Liteアプリケーションにデータをプッシュします。[作成] をクリックして終了します。
- データストリームを作成したら、IoTアプリケーションが、作成したストリーミングデータのデータセットにライブデータをプッシュするためにPOSTリクエストを使用して呼び出しできるREST API URLが表示されます。
4.3 IoTアプリケーションにおけるNode-REDノードの構成
- QIoT SuiteでIoTアプリケーションを作成します。
- 以下は、最初のNode-REDフローです。自身のIoTフローの作成を開始できます。Node-REDについての詳細は、https://nodered.org/で参照できます。
- ライブ データをPower BIにプッシュする前に[function]ノードによって、IoTデータがストリーミングデータのデータセットに変換される必要があります。ここでは、msg.payloadをJSONデータセットに置き換えることができます。
- 以下のような関数コード:
- 「http request」ノードによって、Power BIへのライブデータのプッシュが支援される必要があります。「http request」ノードをドラッグアンドドロップして、「function」ノードの末尾に接続します。
- Power BIコンソールから取得したREST API URLをコピーして貼り付けし、httpメソッドをPOSTに設定します。[展開]をクリックして、変更を保存します
- Node-REDフローは以下のようになります。
4.4 リアルタイムデータを表示するためにタイルを追加
- [ダッシュボード] を作成します
- 画面の右上隅の[作成]をクリックします
- [ダッシュボード] をクリックします
- ダッシュボードの名前を入力し、[作成]をクリックしてダッシュボードの作成を完了させます。
- 画面の右上隅の[タイルの追加]をクリックします
- [カスタム ストリーミング データ] を選択し、[次へ]ボタンを選択します。
- データセットを選択して、[次へ] をクリックします。
- 仮想化タイプ(例:ゲージ)を選択し、値、最低値、最大値を設定します。
- 作業対象のストリーミングがあります。以下のようなリアルタイムゲージを取得できます。
QIoT Suite Liteサンプルコード「QNAP-Github」については、QNAP githubにアクセスしてください。