QNAP Systems, Inc. - ネットワーク接続ストレージ(NAS)

Language

Support

QIoT Suite Lite から Arduino Yun を QNAP NAS に接続する

Arduino Yun (Python) を使い始める

このチュートリアルでは、Arduino Yun (Linux を実行) との動作の基本について説明します。QIoT Suite Lite を使用して QNAP NAS にデバイスをシームレスに接続する方法を学ぶことができます。この例では、DHT11 湿度および温度センサーを使用しています。

学習 1:デバイスの構成

この学習では、オペレーティング システムとの Arduin Yun デバイスの構成、開発環境のセットアップ、Arduino Yun へのアプリケーションの展開を行います。

1.1 Arduino IDE のダウンロード

1.2 デバイスの構成とテスト

Arduino Yun を初めて使用する場合は、以下の手順に従って組み立てを行う必要があります。

  • Arduino Yun を USB で PC に接続します。
  • Arduino IDE を開き、Blink の例を見つけます。
  • ボードの構成:
  • ポートの構成:
  • Blink 例の検証と Arduino Yun へのアップロード
     
  • Arduino Yun にコードをアップロードし終えたら、Arduino Yun を確認し、L13 の点滅を確認します。
  • Arduino Yun 上の「Ground」、「5V」、「Pin 2(Digital)」にDHT11 センサーをそれぞれ接続します。

1.3 Arduino Yun の IP アドレスの取得

  • Wi-Fi リセット ボタンを 5 秒間にわたり長押しします。
  • Wi-Fi 設定に移動して [Arduino-Yun-XXXXXXX] を選択します (「XXXXXXX」は、Arduino Yun の MAC アドレスです)。
  • ブラウザーを開き、「http://192.168.240.1」または「http://arduino.local」に移動します。デフォルトのパスワードは、「arduino」です。
  • ボード設定を完了させ、使用しているルーターに Arduino Yun をリンクします。[API 設定] をスキップして、[保存] をクリックします。
  • PC 上で、Wi-Fi ネットワークをルーターに変更します。すると、NAS と Arduino が同じネットワーク上に配置されます。

1.4 Arduino Yun の開発ツールのインストール

  • http://arduino.local からターミナルを開きます。
  • ログイン アカウント「root」およびパスワードを入力します。デフォルトのパスワードは、「arduino」です。

以下のコマンドを入力して、PIP および MQTT ライブラリをインストールします。

root@arduino:~# opkg update
root@arduino:~# opkg install distribute
root@arduino:~# opkg install python-openssl
root@arduino:~# easy_install pip
root@arduino:~# easy_install paho-mqtt

学習 2:QIoT Suite Lite でのデバイスの作成

この学習では、QNAP QIoT Suite Lite ソフトウェアの設定および 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 アプリケーション環境をユーザーに提供します。

  • IoT アプリケーションに追加 をクリックして、IoT アプリケーションの名前を入力します。ルールおよびダッシュボード名は、IoT アプリケーション名に基づいて自動的に生成されます。

  • IoT アプリケーションの関連情報を入力します。
  • [モノを追加] をクリックします。デバイスの名前を入力して、追加属性にデバイス情報 (シリアル番号および製造元など) を入力します。デバイスが既に QIoT でサポートされている場合は、事前に定義されたモノのタイプを選択します。[追加] をクリックして、デバイスを追加します。

  • [モノのリソース アイコン] をクリックして [リソースを追加] をクリックします。[リソース名] および [リソース ID] にセンサーの名前および ID を入力します。注意: このリソース ID は、QIoT ブローカーにおいてトピックを作成するために使用されます。この ID は、デバイスに対して一意である必要があります。同じデバイスに重複したものを使用することはできません。

  • リソース関連の情報を入力します。

学習 3:MQTTS を使用して QIoT Suite Lite にデバイスを接続します

この学習では、QIoT Suite Lite からの証明書の生成、SDK のダウンロード、QIoT Suite Lite への Arduino Yun の接続を行います。

3.1 QIoT Suite 内での証明書およびリソース情報の生成

  • QIoT Suite Lite の [モノ情報] アイコンをクリックして、[デバイスを接続] に移動し、[デバイスの証明書を生成] をクリックします。

  • 以下のようなポップ アップ ウィンドウが表示されます。3 つのリンクをクリックして「デバイスの証明書」、「CA 証明書」、「プライベート キー」をダウンロードして [OK] をクリックします。
  • すると、多数のコードが書かれたページが表示されます。[JSON ファイルをダウンロード] をクリックします。このファイル名は、「resourceinfo.json」です。

3.2 SDK サンプル コードのダウンロード

SDK サンプル コードを以下の URL からダウンロードします。
https://drive.google.com/open?id=0B5f8WeH2QCp2WWFaRzZrNG44RFU

「QNAPIoT_Python_Test.py」および「DHT-sensor-library-master. zip」をダウンロードするようにしてください。

3.3 Arduino Yun を NAS に接続

  • http://arduino.local/ を開き、「File Manager」を見つけます。
  • Arduino Storage 下で、新しいフォルダー (例:「123」) を作成します。
  • 「res」および「ssl」フォルダーを「123」下で作成します。
  • QNAPIoT_Python_Test_MQTTS.py」ファイルをコピーして「123」に貼り付けします。
  • 「resourceinfo.json」ファイルを「res」にアップロードし、3 つの証明書を「ssl」にアップロードします。
  • Arduino IDE を開きます。「DHT-sensor-library-master.zip」を検索して、これを含めます。
  • 「QNAPIoT_Arduino_Test.ino」を Arduino IDE で開き、Arduino サンプル コードをアップロードします。

3.4 接続タイプの変更

QIoT は、MQTT、MQTTS、HTTP を含むプロトコルをサポートしています。

3.4.1 MQTT および MQTTS

  • QNAPIoT_Python_Test_MQTT.py」をダウンロードして開きます。MQTT および MQTTS は、OpenSSL において異なります。
  • MQTT を使用するには、QIoT Suite Lite を開き、[デバイスを接続] を見つけます。MQTT を選択して [次へ] をクリックします。
  • JSON ファイルをダウンロードして、Arduino Yunの「res」フォルダーにアップロードします。
  • Python コードを実行するには、ターミナルを開いて以下のコマンドを入力します。
    root@arduino:~# python QNAPIoT_Python_Test_MQTT.py or
    root@arduino:~# python QNAPIoT_Python_Test_MQTTS.py

3.4.2 HTTP

  • QNAPIoT_Python_Test_HTTP.py」サンプル コードを見つけます。
  • 以下を使用して実行します:
    root@arduino:~# python QNAPIoT_Python_Test_HTTP.py

学習 4:Power BI の統合

4.1 初めての Power BI アカウントの取得

以下の URL で無料の PowerBI アカウントの登録を行います。https://powerbi.microsoft.com/en-us/


登録が完了したら、以下のページが表示されます。

4.2 ストリーミング データセット API の設定

  • 左のメニューの [データセット -> ストリーミング データセット] に移動して右上隅の [+ ストリーミング データセットの追加] をクリックします。
  • データのソースとして [API] を選択して [次へ] をクリックします。
  • ストリームから値を定義します。すると、JSON の結果がテキストボックスに表示されます。この JSON コードを使用して IoT アプリケーションにデータをプッシュします。[作成] をクリックして終了します。
  • データ ストリームを作成したら、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 リアルタイム データを表示するためにタイルを追加

  • [ダッシュボード +] 移動して最初のダッシュボードを作成し、[+ タイルの追加] をクリックしてウィジェットを構成します。
  • [カスタム ストリーミング データ] を選択し、[次へ] をクリックします。
  • データセットを選択して [次へ] をクリックします。
  • 作業するストリーミング データセットを得ることができ、以下のようなリアルタイム ゲージを取得できます。
リリース日: 2017-05-12
役に立ちましたか ?
ご意見をいただき、ありがとうございます。
ご意見をいただき、ありがとうございます。 ご質問がありましたら、support@qnap.com にお問合せください