LoopEdge Ver1.3.0

Newバージョン 1.3.0リリースノート

このリリースには、次の新機能およびバグフィクスが含まれています。

新しいバージョンを利用する場合は弊社サポートまでご連絡ください。サポートご契約者様のみインストール媒体を提供させていただきます。

  • 新機能
    • LTEモデムのサポート
    • デバイス検出
    • Cloud Service Integration
    • DeviceHubの機能拡張
    • デバイス管理の機能拡張
    • Flowの強化
    • ターミナルユーザーインターフェイス(TUI)の機能拡張
    • その他の機能拡張
  • 既知の問題

LTEモデムのサポート

  1. モデムを備えたゲートウェイがスタンドアロンデバイスとして動作できるように、モバイルブロードバンド接続がサポートされるようになりました。
  2. TUIを介してLTEモデムの状態とリモートネットワークにアクセスします。
  3. デバイス情報ページのWeb UIからLTEモデムステータスにアクセスします。

デバイス検出

  1. PLCデバイス検出サービスが追加されました。この機能はDeviceHubメニューに追加されています。

Cloud Service Integration

  1. 下記のクラウドサービスと接続が可能となりました。Integrationメニューからコネクタの作成ができます。

a.IBM Watson MQTT 
b.Microsoft Azure IoT Hub
c.Google Cloud IoT Core
d.汎用MQTTコネクタ(LoopCloud用)
e.ループバックコネクタ(パフォーマンステスト用)

DeviceHubの機能拡張

  1. タグの一括アップロードの修正により、OMAオブジェクトIDが正しく処理されるようになりました。
  2. タグの一括アップロードの場合、カウント列がサンプルのCSVファイルに追加されています。この数は、Siemensなどの特定のデバイスドライバにのみ関係します。
  3. タグを一括アップロードする場合、PLCが予め定義されたレジスタ(Omron-NJなど)を持たないフリータグデバイスである場合、CSVファイルにアドレスがリストされている場合は、エラーメッセージが表示されます。フリータグPLCは、PLCで定義されているとおりのレジスタ名を必要とし、アドレスは不要です。
  4. 一括アップロードCSVでは、列 の意図を明確にするためにname列がregisterNameに変更されました。下位互換性を保つために、nameを列ヘッダーとして使用できます。
  5. すべてのタグを一括ダウンロードすると、OMAオブジェクトIDが正しく取得されるようになりました。
  6. デバイスを削除すると、警告メッセージが表示されます。  このデバイスの削除は元に戻せません 。デバイスの名前を明示的に入力するよう求められます。
  7. Tagテーブルは、より多くのコンテンツを効果的に表示するように改良されました。
  8. Tagsページでは、検索ボックスと、チェックボックスを選択したデバイスフィルタを使用してコンテンツフィルタを有効にします。
  9. Tagの削除を確認するメッセージが表示されます。
  10. Tagレジスタタイプはすべて大文字で表示されるようになりました。
  11. TagsページにDB番号の列が追加されました。
  12. オプションフィールドは、レジスタを追加するときに設定できるようになりました。 
  13. 次のPLCデバイスドライバは、マルチレジスタサポートを含むように拡張されました。
    1. Rockwell Allen-Bradley CompactLogix 
    2. Mitsubishi QJ71E71 ASCII 
  14. 以下のPLCデバイスドライバがサポートされました。
    1. Koyo Click
    2. Mitsubishi R04 Ethernet Binary
    3. OPC UA
    4. Panasonic FP Serial

デバイス管理の機能拡張

  1. DHCPからのDNSサーバーは、静的に割り当てられたDNSサーバーよりも優先されます。LoopEdge Network機能では、静的に割り当てられたDNSサーバーがフォールバックDNSリゾルバとして表示されます。
  2. プライベート/パブリックキーのペアは、デバイスの最初の起動時に作成されます(RSA-2048暗号化アルゴリズム)。このキーペアはデバイスの識別に使用され、デバイスのアクティベーション時にこのペアの証明書が作成されます。
  3. LoopEdgeにカスタム証明書を追加できるようになりました。
  4. HIDデバイスのリストがUIで利用可能になりました。
  5. シリアルポートのボーレート(通信速度)が正しく表示されるようになりました。

Flowの強化

  1. DataHub PublishノードとSubscribeノードは、パレット内の位置を入れ替えて、他の入力/出力ノードと一致します。
  2. パレットのデフォルトのファンクションノードにメッセージカウンタノードが追加されました。

ターミナルユーザーインターフェース(TUI)

  1. TUIのパフォーマンスが向上しました。

既知の問題

  1. TUI:TUIメニューに手動で時刻を設定しても、時刻を手動で設定はできません。
  2. 選択されたLTEモデム/プロバイダーのみがサポートされます。これはAT&Tでテストされています。
  3. クラウドコネクタの機能はまだ実験的なものです。

LoopEdgeをFTPクライアントとして使用するフロー

FTPサーバーにLoopEdgeがクライアントとしてアクセスする方法の例です。

FTPサーバーのファイルを取得して、ファイルの内容を読み取ります。

    • LoopEdgeにファイルを転送するためのフローを作成する
    • ファイルの内容を読むためのフローを作成する
    • フローを起動する
    • FTP Get Flowのビデオ
    • ファイル読み込みフローのビデオ
  • フローのトラブルシューティング

 

  • ノードパレットのfilter nodes検索機能を使用して、fileノードなどの特定のノードを検索できます。
  • フローの設定を変更したときは、必ずフローを保存してください。保存しない場合、変更したフローは実行されません。
  • ノード構成で使用されるファイル名は、大文字と小文字が区別されます。

 

LoopEdgeにファイルを転送するためのフローを作成する

ファイルをLoopEdgeデバイスに転送する必要がある場合 は、USBドライブを使用しないでください。ファイル形式と書き込み権限によって問題が発生する可能性がありますので、より安全で信頼性の高いFTPを使用してください。

ファイルをLoopEdgeデバイスに転送するFTP Getフローを作成するには、次の手順を実行します。

      1. ftpサーバーを使用するシステムでは、テキストを含むファイルを作成してください。この例では、次のHello World! Let's connect文字を含むファイルHelloWorld.txtを使用しています。
      2. LoopEdge左側のナビゲーションパネルから[ Flows ]を選択し、Go to LoopF​​lowsをクリックします。
      3. パレット内のStorageにあるftp ノードをキャンバスにドラッグします。ftpノードを使用する場合、LoopEdgeは常にクライアントです。ftpノードを使用して、ftpサーバーと対話し、標準のftpクライアントアクション(List、Get、Put、Delete)を行います。

      4. ftpノードをダブルクリックして、FTPサーバを設定するエディタを起動します。
      5. 編集ダイアログで、鉛筆マーク をクリックし  て新しいFTPサーバーを追加します。
      6. 「ftp in > Edit ftp node」画面にて構成パラメーターを入力し、[ Update ]をクリックします。
        FTPサーバの詳細を入力して、LoopEdgeとの接続を確立します。

        • ホスト:FTPサーバーのIPアドレス
        • ユーザー名:FTPユーザー名
        • パスワード:FTPユーザーのパスワード 
        • ポート:LoopEdge FTPサーバーの場合は、ポート21を使用
      7. 「Edit ftp in node」ダイアログに戻り、次のように構成して「Done」をクリックします。
        • Oparation:get
        • Filename:転送/取得するリモートマシン上のソースファイルの名前
          この例では、次のように入力します。/HelloWorld.txt
        • Local Filename:LoopEdgeクライアントの宛先ファイル名
          この例では、次のように入力します。/Hello.txt
          注:ファイル名には必ずスラッシュ(/)を含めてください。
        • Name :(オプション)フロー内のFTPノードの名前を入力します。

      8. debugノードをキャンバスのftpノードの右側にドラッグし、ftpノードと接続します。
      9. injectノードをキャンバスのftpノードの左側にドラッグし、ftpノードと接続します。
      10. [ SAVE ]  をクリックして、作成したフローを保存します。
      11. FTPのGet操作のフローを起動します。
        実行状態は、キャンバスの下の[ debug ]タブで確認できます。

      ファイルの内容を読むためのフローを作成する

      このシナリオではFTPフローを使用してデバイスに転送されたファイルの内容を読み込むためにfileノードを利用しています。

          1. ノード内のファイル (パレットのストレージの下)をキャンバスにドラッグし、  そのパラメータを変更します。
            • ファイル名を入力します。この例では、LoopEdgeクライアントに転送されたばかりのファイルを入力します。 /Hello.txt
            • utf8形式の文字列として出力します。
          2. injectノードをキャンバスのfileノードの左側にドラッグし、fileノードと接続します。これはフローの起動ノードとして機能します。
          3. debugノードをキャンバスのfileノードの右側にドラッグし、fileノードと接続します。これは出力ノードとして機能します。
          4. [ SAVE ]  をクリックして、作成したフローを保存します。
          5. ファイルの読み取りのフローを起動します。
            実行状態は、キャンバスの下の[ debug ]タブで確認できます。

      フローを起動する

      前の手順で作成したフローは、次のようになります。

      フローを起動するには

          1. ftpフローのinject (timestamp)ノードのボタンをクリックします。timestampは単にイベントのトリガとして機能します。この場合、ftp getを実行しています。
          2. 次に、フロー内のファイルのinject (timestamp)ノードのボタンをクリックします。このボタンは、ファイルの内容を読み取ります。
          3. キャンバスの下にある[ debug ]タブを選択すると、トリガーされたフローの結果が表示されます。

       

      FTP Get Flowのビデオ

      このビデオ(オーディオなし)は、ファイルを取得するためにftpフローを使用する方法を示しています。

      ファイル読み込みフローのビデオ

       

      フローのトラブルシューティング

      結果が表示されない場合は、次の項目を確認してください。

        • フローの変更を保存しましたか? 
          右側のキャンバスの上にある [ SAVE ]をクリックします。
        • debugノードは有効になっていますか?
           debugノードのスイッチを切り替えます。

ファイルへの書き込みと読み取りのフロー

Flowsを使用してファイルへの書き込みと読み取りを行う方法の例です。

LoopEdgeデバイス上にログファイルを作成し、その内容を読み込みます。

    • ログファイルを作成する
    • ファイルへの書き込み
      • ファイルへのメッセージの書き込み
    • ファイルの読み込み
    • ファイルへの書き込みと読み取りのフローのビデオ
    • FTPソフトによるログファイルの取得
    • ノードパレットのfilter nodes検索機能を使用して、fileノードなどの特定のノードを検索できます。
    • フローの設定を変更したときは、必ずフローを保存してください。保存しない場合、変更したフローは実行されません。
    • ノード構成で使用されるファイル名は、大文字と小文字が区別されます。

ログファイルを作成する

データを書き込む前にファイルを作成します。

ログファイルを作成するには:

  1. 左側のナビゲーションパネルで、[ Flows ]を選択します 。
  2. [ Flows ]ウィンドウで、Go to LoopF​​lowsをクリックします 。
  3. 新しいフローを開始するには、キャンバスの右上にある+をクリックします。
  4. file(write)ノードをキャンバスにドラッグします。
    このノードは、パレットのストレージの下にあります。fileノードが2つありますので注意してください。ファイルを読み込むためのノードとファイルへ書き込むためのノードです。
  5. fileノードをダブルクリックし、スラッシュ(/)で始まるファイル名を入力します。

    注意:ファイル名にはスラッシュが必要です。例:  /loop1.log
    ファイルはLoopEdgeデバイス上に作成されます。 サブディレクトリがすでに存在する場合は、ファイルへのフルパスを指定できます。例: /logfiles/loop1.log

  6. fileノードに追加するActionを選択し、Doneをクリックします。
  7. injectノードをキャンバス上にドラッグします。
    このノードはパレットの入力の下にあります。デフォルトではtimestampになっています。このノードは 、ファイルを作成するためのトリガーとして機能します。他のペイロードオプションも利用可能ですが、後ほど詳細なフロー例で説明します。
  8. injectノードとfileノードを接続します。
  9. キャンバスの右上にある[ SAVE ]をクリックして、フローを保存します。
    保存に問題がある場合、エラーメッセージがキャンバスの下のdebugタブ領域に表示されます。保存に成功すると、debugタブにメッセージは表示されません。

  10. inject (timestamp)ノードの左側にあるボタンをクリックして、ファイルを作成するタイムスタンプを挿入します。この例では、/loop1.logファイルが保存されます。

    この手順での一般的なエラーは、ファイル名のスラッシュの省略です。スラッシュは必須です。

  11. ファイルが作成されたことを確認する手順については、「ファイルの読み込み」を参照してください。

ファイルへの書き込み

「ログファイルの作成」の手順  では、injectノードを使用してfileの作成を行いました。次の手順は、ファイルへの書き込みの基本的な例です。

作成したファイルへ追加の書き込みを行うには 

  1. inject (timestamp)ノードの左側にあるボタンをクリックしてtimestampをファイルに挿入します。inject (timestamp)ノードのボタンをクリックする都度、追加のtimestampをファイルに書き込みます。書き込まれたことを確認するには「ファイルの読み込み」の手順を参照してください。

ファイルへのメッセージの書き込み

作成したファイルへメッセージ(文字列)の書き込みを行うには 

  1.  inject (timestamp)ノードをダブルクリックして、Payloadのモード設定を文字列に変更し、メッセージを入力してDoneをクリックします。この例では、Hello Worldと入力しました  。
  2.  キャンバスの右上にある[ SAVE ]をクリックします。
  3. injectノードの左側にあるボタンをクリックして  、メッセージをファイルに挿入します。書き込まれたことを確認するには「ファイルの読み込み」の手順を参照してください。

ファイルの読み込み

ファイルの内容を読み込む手順

  1. ノード内のfileをキャンバスにドラッグします。
  2. ノードをダブルクリックし、Filenameを入力して[ Done ]をクリックします。
    出力は標準のutf8文字列形式です。

    ファイル名にはスラッシュが必要です。例えば: /loop1.log

     

  3. injectノードをキャンバス内のfileノードの左側にドラッグします。
  4. debugノードをキャンバス内のfileノードの右側にドラッグします。
  5. injectノードおよびdebugノードをfileノードと接続します。
  6. キャンバスの右上にある[ SAVE ]をクリックします。
  7. キャンバスの下部にある[ debug ]タブをクリックします。
  8. inject (timestamp)ノードの左側にあるボタンをクリックして  、フローを起動します。[ debug ]タブには、ファイルに書き込まれたタイムスタンプ(msg.payload)が表示されます。

    /loop1.log

ファイルへの書き込みと読み取りのフローのビデオ

ここまでの手順のビデオ(音声なし)です。

 

FTPソフトによるログファイルの取得方法

ローカルPCからFTPを使って作成したログファイルを取得する方法です。

  1. LoopEdgeのFTP serviceを起動します。
    LoopEdge左側のナビゲーションパネルから、[ System ] > [ FTP ]を選択します。
    FTP Serviceウィンドウにある[ Start ]ボタンをクリックしてFTP Serviceを起動します。
  2. LoopEdgeにFTP接続する際のユーザアカウントを作成します。
    Usersウィンドウの右側にある+をクリックします。Create UserウィンドウでUsernameを入力し、Add Userボタンをクリックします。
    Passwordが自動的に設定されますので、メモして、Closeボタンをクリックします。
  3. ローカルPCのFTPソフトからファイルをダウンロードします。
    ローカルPC上でFFFTPなどのソフトウェアを起動します。LoopEdgeのIPアドレス、上記手順2で作成したユーザアカウントを設定してLoopEdgeに接続します。
    ファイルは接続後、デフォルトのディレクトリに表示されていますので、ログファイルを選択して、ダウンロードします。

LoopEdgeインストール方法

ここでは、標準Intel製の x86アーキテクチャ 64bitデバイスにLoopEdgeをインストールする手順を掲載しております。ハード機器にはカスタマイズに優れたIntel製のNUC(ネクスト・ユニット・オブ・コンピューティング)ボードを使用したインストール手順を掲載します。

用意するハード機器

インストール手順の記事を開始する前に、次のハード機器の準備を行ってください。

・Intel製NUC
・モニター(NUCはHDMI出力にのみ対応)
・HDMIケーブル
・キーボードとマウス
・ファイルシステムFAT32用にフォーマットされたUSBフラッシュドライブ2つ
(それぞれ8 GB)

用意するソフトウエア

インストール手順の記事を開始する前に、次のソフトウエアの準備を行ってください。

・USBドライブソフトウエア(Windowsの場合はRufus、Linuxの場合はStartup Disk Creator
※ここではRufusを使った手順を掲載しております。
・Litmus AutomationのLoopEdgeファイル(loopedge.wic.gz)
※ファイル名は異なる場合があります。

LoopEdgeのインストール、大まかに以下の手順を実施します。

・USBドライブの準備
・IntelNUCデバイスのドライブをフォーマットする
・LoopEdgeをインストールする
・LoopEdgeのパーティションをリサイズする

USBドライブの準備

  1. LoopEdgeファイルをUSBフラッシュドライブにコピーします。これ以降、このUSBフラッシュドライブの事を「USB1」としておきます。
  2. ドライブのディスクパーティションを管理するために、GPartedという基本ソフト(OS)イメージを用意します。お使いのパソコンに合わせて公式サイトからダウンロードします。

  3. Rufusを使用してUSBフラッシュドライブを生成します。
    これ以降、このUSBフラッシュドライブを「USB2」としておきます。

3-1. USB2をUSBスロットに挿入します。
3-2. Rufusを起動します。
3-3. Rufus画面では、USB2を選択します。
3-4. ブートの種類を指定してください。isoイメージを使用してディスクを生成します。
3-5. スタートを押してUSB2にGPartedを書き込みます。

 

デバイスのドライブをフォーマットする

  1. モニター、キーボード、マウスをNUCに接続します。
  2.  USB2フラッシュドライブを接続しておき、NUCを起動します。NUCを起動すると以下のようにGPartedが起動し、次のような画面が表示されます。
    GParted Liveを選択します。  
  3. 次にキーレイアウト変更の設定です。標準ではキーボード設定がUSキーマップ設定ですので、日本語キーボードの場合は、「Select keymap from arch list」を選択してENTERをクリックします。
  4. 言語設定Terminalウィンドウですので、日本語の場合は該当の番号を入力してENTERをクリックします。
  5. モード設定のTerminalウィンドウです。「Continue to start X to use GParted automatically」の番号を入力してENTERをクリックします。
  6. GUI画面に切り替わり、GPartedが起動します。
  7. 自動でGPartedアプリが起動しない場合はGPartedアイコンをクリックして起動します。

  8. GPartedが起動すると、現在のドライブのパーティションが表示されますので、一度全てのパーティションをDeleteボタンで削除します。

     削除されたパーティション状態

  9. 削除されたパーティションの状態にするためにApplyボタンをクリックします。

     確認ダイアログもApplyを選択します。

     完了するとポップアップが表示されるのでCloseをクリック

  10. GParted画面を閉じます。

LoopEdgeをインストールする

  1. USB1をNUCに差し込みます。
  2. GUI画面からTerminalアイコンをクリックします。

  3. Terminalウィンドウでlsblkコマンドを実施してデバイス上のディスクパーティションを確認します。通常は/dev/sdcパーティションが表示されます。
    mountコマンドで必要ですので、パーティション名をメモしておきます。
  4. Terminalウィンドウで次のコマンドを実施してパーティションをマウントするためのディレクトリを生成します。sudo mkdir /mnt/usb
  5. Terminalウィンドウのコマンドラインで、次のコマンドを実施して、パーティションをLoopEdgeイメージでマウントします。
    $ sudo su
    # mount /dev/sdc1 /mnt/usb
    # cd /mnt/usb
    # zcat loopedge.wic.gz | dd of=/dev/sda

[コマンドの説明]

sudo su ルートユーザーに昇格します。
sudo mount でマウントコマンドを実施 /dev/sdc1は4.の手順のパーティション名で読み替えてください。 マウント先を指定しています。 /mnt/usb
cd /mnt/usbでマウント先ディレクトリに遷移します。
zcat loopedge.wic.gz でzcatコマンドという圧縮されたファイルの内容を表示するコマンドを実施します。loopedge.wic.gzはUSB1に格納されているLoopEdgeのイメージ名称を設定してください。
・ | の後に 表示されたファイルを dd of=/dev/sda ddコマンドというファイルを変換出力するコマンドでdev/sdaディレクトリに展開します。
これらは環境によりディレクトリ名称が異なる場合があります。

LoopEdgeのパーティションをリサイズする

  1. GPartedアイコンをクリックしてアプリケーションを開きます。

  2. パーティションの一部スペースが使用されていないことを警告するポップアップダイアログが表示されることがありますので、ダイアログが出る場合は、Fixを選択するボタンをクリックしてGParted画面に移行します。
  3. GPartedでは、LoopEdgeの展開が完了しているとメインドライブ(画像では/dev/sdb)に7つのパーティションが表示されます。
  4. ラベルのdata部分を選択して、右クリックでリサイズをクリックします。
     画像では/dev/sdb7 がラベル data 部分
  5. 空き領域となっている未割当部分を全て下記のように割り当ててリサイズをクリックします。
  6. 割り当てられた新しいパーティションで「Apply」をクリックします。
  7. GParted画面を閉じます。
  8. GUIメニューからExitアイコンをクリックします。

  9. 出てきたポップアップから、Shutdownを選択しOKをクリックします。
  10. Shutdownを行ったら、メディアを取り除く画面が表示されます。USB1とUSB2はここで取り外してENTERをクリックして続行してください。
  11. NUCを再度起動するとLoopEdgeが起動します。

LoopEdge Ver1.1.0

Newバージョン 1.1.0リリースノート

このリリースには、次の新機能およびバグフィクスが含まれています。

新しいバージョンを利用する場合は弊社サポートまでご連絡ください。サポートご契約者様のみインストール媒体を提供させていただきます。

  • 新機能
    • 機能拡張
    • DeviceHubとDatahub
    • Application/Marketplace
    • System
    • ターミナルユーザインターフェース(TUI)
  • 既知の問題

 

機能拡張

  1. タイムゾーンを設定する機能を追加しました。[Edge-837、Edge-595]
  2. メモリとストレージのデータは、チャートで表示が可能となりました。[Edge-818]
  3. ホスト名、DNS、NTPの設定が可能となりました。[Edge-788、Edge-789、Edge-798]
  4. ファームウェアのバージョン情報が表示されるようになりました。[Edge-804、Edge-799]
  5. ファームウェアのアップグレード後にIPアドレスが正しく表示されない問題が改善されました。[Edge-805、Edge-802]
  6. クラウドのアクティブ化とリフレッシュの問題を改善。 [Edge-806、Edge-832]
  7. ネットワーキングスタックが改良されました。[Edge-778]
  8. 重複するデバイス名を防止します。[Edge-793]
  9. ネットワーク設定画面の表示が改善されました。[Edge-862]
  10. エンドユーザー使用許諾契約書(EULA)には、初回のログインの受諾が必要なりました。[Edge-899、Edge-895、Edge-911、Edge-938、Edge-896]
  11. Enterキーを押すとUIフォームが送信されます。[Edge-925]
  12. デフォルトのトピックは、[統計]ページに表示されなくなりました。[Edge-920]
  13. 証明書のインストールに関する問題が改善されました。[Edge-869、Edge-845]
  14. ユーザーの役割を変更できるようになりました。オブザーバー/デベロッパーの役割を持つ ユーザーには、追加/削除オプションが表示されなくなりました。[Edge-842、Edge-883]
  15. Firefoxに表示されたデバイスカードが正しくレンダリングされるようになりました。[Edge-901]
  16. デバイスステータスの表示に関する問題が修正されました。[Edge-856]
  17. 多くのUI主要要素にツールチップが追加され、迅速にヘルプにアクセスできます。[Edge-753]
  18. DataHubシステムコネクタはバックアップ/リストアに含まれていません。[Edge-959]
  19. ブラウザーで最初にアプリケーションをロードするのに要する時間が短縮されました。[Edge-968]
  20. [デバイス管理]ページに、アクティブ化のステータスが表示されます。[Edge-960]
  21. データ型変換はレジスタに対して実装されています。UIは10進数の入力を受け取り、8進数または16進数に変換します。[Edge-957]
  22. IDは内部処理にのみ関連するため、さまざまな画面のID列は削除されました。[Edge-974]
  23. DataHub RAWサブスクリプションが正常に更新されると、ステータスが正しく表示されます。[Edge-951]

DatahubDevicehub

  1. DeviceHubタグのエクスポート(CSV)機能が追加されました。[Edge-661]
  2. PollOnceトピックがDeviceHubタグアクションリストに追加されました。[Edge-798]
  3. DeviceHubドライバの修正:Rockwell ドライバの依存関係が追加されました。[Edge-782]
  4. ドライバ名をデバイスカード上でコピーする機能が追加されました。[Edge-767]
  5. DeviceHubデバイスカードに長いテキスト文字列が正しく表示されるようになりました。[Edge-814]
  6. DeviceHubタグページから未加工のトピックをコピーできない問題が改善されました。[Edge-831]
  7. DeviceHubの追加ドライバのサポート:10MBのEthernet用Mellanoxドライバが追加されました。[Edge-825]
  8. OMAバインディングの場合、インスタンスIDタイプがstringに変更となりました。[Edge-766]
  9. DataHubの改良により、同じクライアントIDによる重複した接続が防止されます。[Edge-796]
  10. DataHub UIの改良により、より小さい画面解像度が処理されます。[Edge-428]
  11. DataHubは重複した名前の生のトピックの作成を防ぎます。[Edge-797]
  12. DeviceHubデータタイプの大文字と小文字の区別は、bulk-loadingタグのCSVファイルで調整されます。[Edge-908]
  13. DeviceHubの表示が改善されました。[Edge-847]
  14. デバイスがない場合、DeviceHubはポーリングが開始されないようになりました。[Edge-861]
  15. デバイスを追加するときは、デバイス名は必須となりました。[Edge-836]
  16. DataHubクラウドコネクタの削除は、ポーリングステータスが終了するのを待つことがなくなりました。[Edge-849]
  17. クラウドコネクタのDataHub未処理のトピックを削除できるようになりました。[Edge-853]
  18. HostinfoはIPv6ゲートウェイアドレスを返します。[Edge-890]
  19. LoopCloudでデバイスを有効・無効が出来るようになりました。[Edge-909]
  20. ドライバのパフォーマンスが向上しました。[Edge-792]
  21. DeviceHubのTagsで、[Download Tags]のアクションが追加されました。[Edge-921]
  22. DeviceHubのTagsのアクションには、軽微なテキストの改善を行いました。[Edge-900]
  23. 多数のTag(10k +)のパフォーマンスが向上しました。[Edge-848]
  24. タグの一括読み込みで、20k個以上のタグを持つCSVを処理できるようになりました。[Edge-967]

Application/Marketplace

  1. アプリケーションのアンインストール時に、確認チェックを追加しました。[Edge-816]
  2. レジストリタグのロードに関する問題が解決されました。[Edge-922]

System

  1. ソフトウエアの更新では、関連するファイルのみが表示されます。[Edge-801]
  2. ソフトウエアの更新により、アップグレードが成功した後、関連するファイルが削除され、領域が再利用されます。[Edge-821]
  3. Backup/Restore機能が改善されました。[Edge-907、Edge-893、Edge-855]
  4. カーネル内の追加デバイス(USB-to-serial、HIDRAW)のサポートを有効にしました。[Edge-913]
  5. シリアルケーブル接続時の不具合が改善されました。[Edge-890]
  6. 最初の起動時にホスト名が設定されます。[Edge-889]

ターミナルユーザインターフェース(TUI)

  1. ターミナルユーザインターフェイス(TUI)は、シリアル回線を介して機能するようになりました。[Edge-902、Edge-894]
  2. Info、Setup、Wlanの新しい画面が追加されました。[Edge-828、Edge-867、EDGE-948]
  3. 新しい設定には、国、DNS、時刻、パスワード変更、言語セレクタが含まれます。[Edge-876、Edge-877、EDGE-878、EDGE-885]
  4. Ethernetの設定できるようになりました。[Edge-868]
  5. LoopCloudの有効化/無効化が追加されました。[Edge-879]
  6. ライセンスの有効化/無効化が追加されました。[Edge-880]
  7. リブート/シャットダウンが追加されました。[Edge-881]
  8. ログイン認証が追加されました。[Edge-884]

既知の問題

  1. ターミナルユーザインターフェイス(TUI)メニューから手動で時刻を設定しても、時刻が反映されません。

カンパニー、プロジェクト権限設定

Projectにアクセスする権限を持つTeamとユーザーをCompanyに設定する方法です。

  1. CompanyにTeamを設定する
    • Teamを追加する
    • Team Nameを変更する
    • Teamにメンバーを追加する
  2. ProjectにTeamを設定する
    • TeamをProjectに追加する
    • Project Teamの役割を変更する
    • ProjectからTeamを削除する

1.TeamをCompanyに設定する

この手順は、「会社の作り方」の手順に従って作成したCompanyを更新することを前提としています。

 

Companyのダッシュボードから設定を行います。

Teamを追加する:

Companyを構成するチームを作成します。

  1. 左側のナビゲーションパネルの[ Settings ]をクリックします  。
  2. COMPANYタブを選択します。
  3. [Company Teams ]セクションに[ Team Name ]を入力し、[ ADD TEAM ]をクリックします。

あらかじめ定義されたTeamもこのリストに表示されます。これらのTeamは編集も削除もできません。

  • OWNERSチームのメンバーは、すべての機能とオプションについて権限があります。
  • LOOPINSIGHTSチームのメンバーは、LoopInsightsアプリケーションのみにアクセスできます。

    ユーザー定義Teamには次の編集アイコンが表示されます。 

 

 

Team Nameを変更する:

ユーザー定義のTeamのみが変更できます。

  1. 左側のナビゲーションパネルで[ Settings ]をクリックします  。
  2. COMPANYタブを選択します。
  3. Company Teamsリストで、編集するTeamを見つけます。
  4. 該当Teamの右側にある鉛筆アイコンをクリックし、[ Team Name ]フィールドを編集します。
  5. TeamName変更後、[ SAVE TEAM ]をクリックします。 

 

Teamを削除するには:

ユーザー定義のTeamのみが削除できます。

  1. 左側のナビゲーションパネルで[ Settings ]をクリックします  。
  2. COMPANYタブを選択します。
  3. Company Teamsで、削除するTeamを見つけます。
  4. Teamを削除するには、×アイコンをクリックします。
  5. Teamはすぐにリストから削除されます。

 

 Teamにメンバーを追加する:

Team MemberはLoopCloud登録ユーザーでなければなりません。LoopCloudはマルチテナントプラットフォームであり、セキュリティ上の理由から、ユーザー登録時に特定のCompanyに自動的にリンクされることはありません。したがって、Team Memberを追加する際に、ユーザーの一覧は使用できません。ユーザーはLoopCloudに登録したユーザー名をTeamに追加できるように知らせる必要があります。 

  1. 左側のナビゲーションパネルで[ Settings ]をクリックします  。
  2. COMPANYタブを選択します。
  3. [ Team Members ]セクションの[ Select Team ]ドロップダウンリストからTeamを選択します。
  4. UserNameを入力し、[ ADD USER ] をクリックします。

 

ProjectにTeamを設定する

プロジェクトチームは、ユーザーに適切な読み取り/書き込みアクセス権を構成できます。TeamをProjectに追加し、Team単位で読み取り/書き込みアクセスを設定します。

この手順は、「プロジェクトの作り方」の手順に従って作成したProjectが存在することを前提としています。

 

OWNER権限を持つユーザーは、アクセス権と読み取り/書き込み権限を設定できます。

 

TeamをProjectに追加する:

  1. 左側のナビゲーションパネルで[ Settings ]をクリックします  。
  2. PROJECTSタブを選択します。
  3. [ Project Teams ]セクションで、[ Select Team ]ドロップダウンリストから設定するTeamを選択します。
  4. [ Select Role ]ドロップダウンリストからReadまたはWriteを設定します。
  5. [ ADD ]をクリックします。

 

Project Teamの役割を変更する:

  1. 左側のナビゲーションパネルで[ Settings ]をクリックします  。
  2. PROJECTSタブを選択します。
  3. [ Project Teams ]セクションで、変更するTeamを見つけ、[ Select Role ]ドロップダウンリストからReadまたはWriteを選択します。
  4. ROLEはすぐにTeamに反映されます。

 

ProjectからTeamを削除する:

  1. 左側のナビゲーションパネルで[ Settings ]をクリックします  。
  2. PROJECTSタブを選択します。
  3. [ Project Teams ]セクションで、削除するTeamの行の×アイコンをクリックします。
  4. TeamはすぐにProjectから削除されます。

Alert通知

このalert設定は、LoopEdgeからLoopCloudへ渡ってきたデータを判定してEmailへalert通知させるサンプルです。

設定は、LoopCloudとLoopEdge両方に行う必要があります。

※設定が完了するとEmailによる通知がされますので、試した後は、必ず動作の停止をしてください。

  • LoopCloud側への設定
    LoopEdgeとの接続口になるModelを作成します。
    アラート通知(Email)の設定を行います。
  • LoopEdge側への設定
    LoopCloudとの接続設定やFlowへの設定を行います。

LoopCloud側への設定

1.LoopEdgeとの接続口になるModelを作成します。

ナビゲーションパネルのConfiguration-ModelsからModelを新規作成します。

「MQTT plain TCP connection Parameters」を選択して、SAVEボタンを押下します。
ナビゲーションパネルのDevuce Mgmt-Devicesを開き、右上部Singleを押下します。
先ほど作成したModelを選択します。
Model内は自動的に値が設定されたConfigが表示されます。
そのままCONTINUEボタンを押下します。
このModelの設定が記述されているJSONファイルが自動的にダウンロードされます。
このJSONはLoopEdge側への設定で使用します。

1-2.alert通知設定を行います。

ナビゲーションパネルのAlertsを選択します。
Action Listの右上部の+ボタンを押下します。
Add action画面にて、以下の値を設定してSAVEボタンを押下します。

・Action Template にEmailを設定
・Action Nameに「test action」を設定(任意の名称)
・Enter email 通知先のメールアドレス

 

Trigger Listの右上部の+ボタンを押下します。
Edit trigger画面のTRIGGERタブに以下の値を設定します。

ROULESタブを選択して、以下の値を設定し、SAVEボタンを押下します。

・Nameに「test Trigger」を設定(任意の名称)
・Activeチェックボックスをオンに指定
・Action Listに「test action」を設定
・Device Tag Listに「alert_tag1」を設定
・Subjectに「alert mail」(任意の件名)を設定
・Messageに「Warning! Check the alert.」(任意のメッセージ)を設定

2.LoopEdge側への設定

  2-1.LoopCloudとの接続設定を作成します。

DataHubを開き、画面上部のCloudConnectorsにて+ボタンを押下します。
Add Connector画面にてUpload JSONボタンを押下し、1-5のJSONファイルを読み込みます。
Name欄に任意の名前を設定し、Createボタンを押下します。

2-2.Flowのノードへ設定するTopicsを作成します。

DetaHubを開き、画面下部のTopicsにて+ボタンを押下します。
CloudConnectorsに作成した2-1で作成した接続先を設定し、Createボタンを押下します。

2-3.LoopFlowsへの設定

各ノードの説明

(1)Start(inject node
一定間隔で当該フローを実行するためのノードです。
手動で実行したい場合や一定間隔で当該フローを実行したい場合に使用するノードですので、PLC機器からのデータが接続されるような場合は不要です。
15秒間隔で実行するように設定しています。

(2)Create : Dummy data(function node
Demo動作用の温度のダミーデータを作成するためのノードです。
PLC機器からのデータが接続されるような場合は不要です。
温度のダミーデータを作成するコードを記述しています。

(3)Change : format1(function node
Create : Dummy dataノードにて作成した温度のダミーデータをLoopCloud側が認識できる書式へ変換するためのノードです。

(4)Change : Format2(json node
Create : Dummy dataノードにて作成した温度のダミーデータをLoopCloud側が認識できる書式へ変換するためのノードです。

(5)Connect : to LoopCloud(Datahub Publish node
作成したデータを指定したTopicへ保存します。
ノードの設定には、2-2で指定した名前を設定します。仮で「to_LoopCloud」と設定しています。

(6)Dump : data(debug node
受け取ったデータをdebug tabに出力します。

フロー設定
[{"id":"89b5debf.49fbf","type":"tab","label":"to LoopCloud_data"},{"id":"dfe622c7.b37e2","type":"inject","z":"89b5debf.49fbf","name":"Start","topic":"","payload":"","payloadType":"date","repeat":"15","crontab":"","once":false,"x":120,"y":120,"wires":[["10c962b8.5eba9d"]]},{"id":"4ebfb414.e0d09c","type":"debug","z":"89b5debf.49fbf","name":"Dump:data","active":true,"console":"false","complete":"payload","x":640,"y":280,"wires":[]},{"id":"10c962b8.5eba9d","type":"function","z":"89b5debf.49fbf","name":"Create:dummy data","func":"// temperature\ntemp_max = 28;\ntemp_min = 26;\ntemp = Math.random() * (temp_max - temp_min) + temp_min;\nmsg.payload = Math.floor(temp * 100) / 100;\n\n\nreturn [msg];","outputs":1,"noerr":0,"x":225,"y":120,"wires":[["9006a8a1.3bf3f8"]]},{"id":"9006a8a1.3bf3f8","type":"function","z":"89b5debf.49fbf","name":"Change:format1","func":"msg.payload= {\n \"timestamp\": 0,\n \"values\": [{\n\n \"objectId\":3300,\n \"instanceId\":\"0\",\n \"resourceId\":5700,\n \"datatype\":\"Float\",\n \"value\":msg.payload\n }]\n};\n return msg;","outputs":1,"noerr":0,"x":365,"y":120,"wires":[["24bab41f.f864ac"]]},{"id":"427a608d.6d52d","type":"Datahub Publish","z":"89b5debf.49fbf","name":"Connect:to LoopCloud","natc":"e300cf69.f432","topicname":"to_LoopCloud","x":640,"y":120,"wires":[]},{"id":"24bab41f.f864ac","type":"json","z":"89b5debf.49fbf","name":"Change:format2","x":505,"y":120,"wires":[["427a608d.6d52d","4ebfb414.e0d09c"]]},{"id":"e300cf69.f432","type":"Datahub Connect","z":"","ipadd":"127.0.0.1","port":"4222"}]

 

Flowサンプル : 温度/湿度

このFlowは疑似的に温度・湿度のデータを生成して、LoopEdge上で簡易に可視化(チャートグラフやゲージ)させるサンプルです。

各ノードの説明

(1)Start Temp/Humi(inject node
一定間隔で当該フローを実行するためのノードです。
手動で実行したい場合や一定間隔で当該フローを実行したい場合に使用するノードですので、PLC機器からのデータが接続されるような場合は不要です。
15秒間隔で実行するように設定しています。

(2)Create:Temp/Humi(funcion node
Demo動作用の温度/湿度のダミーデータを作成するためのノードです。
PLC機器からのデータが接続されるような場合は不要です。
温度と湿度のダミーデータを作成するコードを記述しています。

(3)Chart Graph(chart node
Create:Temp/Humiノードにて作成した温度のダミーデータをチャートグラフ表示させるためのノードです。チャートグラフを表示するダッシュボードの指定やグラフの種類などを設定しています。

(4)Gauge(gauge node
Create:Temp/Humiノードにて作成した湿度のダミーデータをゲージ表示させるためのノードです。ゲージを表示するダッシュボードの指定やゲージの種類などを設定しています。

(5)Dump:Temp/Humi(debug node
受け取ったデータをdebug tabに出力します。

フロー設定
[{"id":"1278b126.530fbf","type":"tab","label":"Demo : Temp/Humi"},{"id":"29c1c13f.71220e","type":"inject","z":"1278b126.530fbf","name":"Start Temp/Humi","topic":"","payload":"","payloadType":"date","repeat":"15","crontab":"","once":true,"x":120,"y":140,"wires":[["804023fb.bd1348"]]},{"id":"804023fb.bd1348","type":"function","z":"1278b126.530fbf","name":"Create : Temp/Humi","func":"// temperature\ntemp_max = 28;\ntemp_min = 26;\ntemp = Math.random() * (temp_max - temp_min) + temp_min;\nmsg.payload = Math.floor(temp * 100) / 100;\n\n// humidity\nvar humidt = {};\nhumi_max = 50;\nhumi_min = 38;\nhumi = Math.random() * (humi_max - humi_min) + humi_min; \nhumidt.payload = Math.floor(humi * 100) / 100;\n\nreturn [msg, humidt];\n","outputs":"2","noerr":0,"x":225,"y":140,"wires":[["b6beacab.133fd8","3bf34f22.058ac"],["3795e938.d4ca66","3bf34f22.058ac"]]},{"id":"b6beacab.133fd8","type":"ui_chart","z":"1278b126.530fbf","name":"Chart Graph","group":"18784aaf.af48dd","order":0,"width":"6","height":"6","label":"Temperature (Sample)","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"Temperature (Sample)","dot":true,"ymin":"20","ymax":"40","removeOlder":"10","removeOlderPoints":"","removeOlderUnit":"60","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#31b0cc","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"x":340,"y":80,"wires":[[],[]]},{"id":"3bf34f22.058ac","type":"debug","z":"1278b126.530fbf","name":"Dump : Temp/Humi","active":true,"console":"false","complete":"payload","x":440,"y":140,"wires":[]},{"id":"3795e938.d4ca66","type":"ui_gauge","z":"1278b126.530fbf","name":"Gauge ","group":"18784aaf.af48dd","order":0,"width":"6","height":"6","gtype":"gage","title":"Humidity (Sample)","label":"%","format":"{{value}}","min":0,"max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":340,"y":200,"wires":[]},{"id":"18784aaf.af48dd","type":"ui_group","z":"","name":"Dashboard Group","tab":"e0eeb339.b8c5c8","order":1,"disp":true,"width":"12","collapse":false},{"id":"e0eeb339.b8c5c8","type":"ui_tab","z":"","name":"Sample Dashboard","icon":"dashboard","order":1}]

LoopCloud FAQ


Q: LoopCloudをどうすれば試す事が出来ますか?

 こちらのリンクからLoopCloudを使い始めることができます。


Q: LoopEdgeを使わずにLoopCloudを使う事は出来ますか?

 はい、できます。LoopEdgeはLoopCloudのクライアントであり、MQTT / LWM2M / HTTP(S)経由でデータを送信できるデバイス(またはスクリプト)であれば、LoopCloudで使用できます。また、HTTP(SOAP / REST)サービスからデータを要求するデバイスをポーリングします。


Q: デバイスのINFOタブに製造元やモデル番号などのデバイス属性が表示されないのはなぜですか?

 これらの属性は、デバイスによって送信されます。この目的のために特別なOMAオブジェクトが指定されています。また、ユーザーはDevice Detailsフォームでそれらを更新することもできます。


Q: デバイスが接続していない理由は何ですか?

 クライアント側の接続パラメータが間違っているか、又はファイアウォールの問題です。


Q: [RAW]タブでデバイスデータを確認できますが、[EXPLORE]タブに表示されないのはなぜですか?

 LoopCloudに送信されるデータは、 OMNA Lightweight M2M (LWM2M) 形式で受信した場合にメッセージを解析し[EXPLORE]タブで表示されます。


Q: データをどのように視覚化出来ますか?

 LoopInsightsを利用して可視化が可能です。


Q: Data Enricherを使用する利点は何ですか?

 レガシーまたはモダンなデータ構造のリアルタイムデータを、数回のクリックで標準化されたデータ構造に変換します。 Loop DataEnricherはLoop Cloudと緊密に統合されており、古いデバイスを最新のプラットフォームに移行することができます。


Q: Key-Value機能は何をしていますか?

 Key-ValueはPOLLモデルで使用されます。これは、Webサービスが1つで、それが異なるパラメータで複数回呼び出される場合です。この場合、値をKey-Valueに入れ、値の代わりにキーを使用します。


 Q: LoopCloudは別なクラウドサービスと連携が出来ますか?

 他クラウドサービスと連携は可能ですが、LoopCloudはクラウドサービスとなっておりますので、お客様専用の環境を作成する必要がございます。そのため、別途費用が発生します。


Q: LoopCloudに登録されたデータを後から変更することは可能ですか?

 後から変更することは出来ません。


Q: LoopCloudはAPIを利用する事が可能ですか?

 可能です。APIを使ってLoopCloudに登録されたデータを読み取ることが可能です。APIはこちらから利用が出来ます。


Q: Loop License Managerの使い方を教えてください。

 こちらの機能はLitmusAutomationパートナー向けの機能となりますのでお客様はご利用出来ません。


Q: BILLINGから料金プランを変更することが可能ですか?

 料金プランの変更を行う際は、弊社サポート窓口までご連絡ください。


Q: トライアルではどのくらいの容量を保存することが可能ですか?

 1デバイスあたり75MBまでとなります。超過した場合は古いデータから削除されます。また、保存期間は1年となります。