QIoT Suite Lite 試用レポート②~センサーから QIoT Suite Lite へデータ転送~

2018年03月22日

  • ITインフラ
  • 試用レポート
4回に分けて、QIoT Suite Lite の試用レポートをお届けします。
ご使用中のQNAP Turbo NASで、堅牢なIoTアプリケーションを専門知識がなくても簡単に構築することができます。

今回は、センサーからQIoT Suite Liteへのデータ転送手順までを説明します。

センサーから QIoT Suite Lite へデータ転送

Thingsの設定が完了したら、次はRaspberry Pi側でプログラムを実行して、データをHTTP形式でQIoT Suite Liteへ転送します。
  1. Raspberry Pi、QNAPと同じセグメントにあるPCのTeraTermを開く
  2. SSHでRaspberry Piにログイン
    Raspberry Pi 3 Model Bの情報は以下になります。
    OS Raspbian Jessie with PIXEL 2016-09-23
    サンプルプログラム言語 Python
  3. GrovePi と qnap-qiot-sdks を、GitHubからコピー
    実行のコマンド:
    git clone https://github.com/DexterInd/GrovePi.git
    git clone https://github.com/qnap-dev/qnap-qiot-sdks.git

    ※同じディレクトリに保存します。
  4. Light Sensor のデータと Ultrasonic Ranger Sensor の値を取得するプログラム(qiot_sample.py)を以下の場所に置く
    (他の場所に保存しても構いません)

    コードの書き方は、qnap-qiot-sdks/python/device/arduino-yun/examples/ 下にあるサンプルコードを確認してください。
    ここではRaspberry PiでPythonプログラムを実装する場合のポイントを説明します。
    A) QIoT Suite Liteのライブラリを使うために、以下のimport文を追加します。
    sys.path.append以降は、プログラムを置くディレクトリからライブラリまでの相対パスを記載します。
    qnap-qiot-sdks/より前のパスは各自の環境に合わせて変更してください。
    import sys
    sys.path.append('../../../qnap-qiot-sdks/python/device/arduino-yun/examples')
    from lib import qiot

    B) 「mything1light」、「mything1dist」のIDで、第2引数の変数に格納したセンサーのデータを QIoT Suite Liteへ転送します。
     
    connection.publish_by_id("mything1light",light_sensor_value)
    connection.publish_by_id("mything1dist",ultrasonic_ranger_value)
  5. HTTP接続用のコンフィグレーションファイルをQIoT Suite Liteで確認
  6. 「Connect a Device」で「HTTP」を選択
  7. [Next] クリック
    Thing infomation画面が表示されます。
  8. 接続用コンフィグレーションファイルをダウンロード
    「"host"」が未設定なことがあるので注意してください。その場合、NASのIPアドレスを手動で追加します。
    "host":["NASのIPアドレス"]
  9. Pythonプログラムを実行するディレクトリの下へresディレクトリを作成
    ダウンロードしたファイルをresの下に置きます。
  10. プログラムを実行
    以下のように、センサーからデータを取得しています。
  11. QIoT Suite Lite側でデータが来ていることを確認
以上でセンサーのデータをQIoT Suite Liteへ転送する設定は終わりました。

次回は、Ruleの設定手順を説明します。
ITインフラ
サーバー/ネットワーク設計・構築からクラウドシステム導入まで、お客様のビジネスIT環境構築を支援します。