Casa Systems (NetComm)ルーター

Casa Systems (NetComm)ルーターは、ネットワーク内のIoTデバイス間でデータパケットを転送するために設計された堅牢な産業用IoTルーターであり、信頼性と安全性の高い接続を保証しています。

はじめに

このチュートリアルでは、Things Cloud NetCommエージェントパッケージを使用してNTC-220シリーズのCasa Systems(NetComm)ルーターをセットアップおよび設定する方法について説明します。

備考
NTC-140WNTC-6200 については、NetComm セクション をご覧ください。
備考
開発者用のドキュメントは下記になります。
https://github.com/SoftwareAG/cumulocity-agents-netcomm/blob/master/doc/devguide.md

概要

次のセクションでは、Things CloudプラットフォームでCasaSystems(NetComm)ルーターを使用する方法を紹介します。

セクション 内容
前提条件 システム要件 および対応ルーター の説明
デバイスのセットアップと登録 エージェントのインストール 、ルーターの構成設定 、ルーターをThings Cloudへ接続する方法
産業用アセットのリモート監視と制御 クラウドフィールドバスGPIO ピン制御機能を使用して産業用アセットをリモート監視および制御する方法
デバイスの管理 サポートされているデバイス管理機能の説明
トラブルシューティング バグと制限の一覧
リリースノート Things Cloud NetComm エージェントのリリースノート

サポートされている機能

Things Cloud NetComm エージェントは、次の産業用IoT機能をサポートし、産業用アセットをリモートで監視および制御します。

  • リモートで GPIO の読み取りと制御

詳細については 産業用アセットのリモート監視と制御をご覧ください。

Things Cloud NetComm エージェントは、さらに次のような、さまざまなデバイス管理機能を提供しています。

詳細については、デバイスの管理をご覧ください。

前提条件

システム要件

エージェントは、ファームウェアバージョン2.0.84.0および2.0.89.0のNTC-221ルーターと、ファームウェアバージョン2.0.89.0のNTC-222ルーターでテストされました。

デバイスのセットアップと登録

エージェントのインストール

  1. CAルート証明書バンドル、クラウドリモートアクセスソフトウェア、およびパッケージの公開キーを含むエージェントソフトウェアをダウンロードします。リンクについては、以下の表をご覧ください。
  2. NTC-200シリーズのWebユーザーインターフェースにログインします。
  3. システムメニューに移動します。システム構成 > ファームウェア署名をクリックします。
  4. ファームウェア署名チェックを有効にするを無効にします。
備考
署名チェックを無効にしないと、ソフトウェアのインストールは失敗します。エージェントパッケージをインストールすると、署名チェックが自動的に再び有効になります。 ファームウェアバージョン2.0.84.0の場合、ファームウェア署名に対応していないため、この手順は無視してかまいません。
  1. システムメニューに移動します。システム構成 > アップロード > ファイルを選択をクリックし、ダウンロードしたソフトウェアを選択します。アップロードをクリックして、ソフトウェアをルーターにアップロードします。
  2. インストールしたいアップロードされたソフトウェアのインストールボタンをクリックします。

NTC-200シリーズのルーターは、インストール後に自動的に再起動します。

エージェントが自動的に起動し、ルーターをThings Cloud に登録できます。その後のアップグレードまたはダウングレードは、エージェントのソフトウェア管理機能を介してリモートで実行、あるいはルーターのWebユーザーインターフェースを介してローカルで実行できます。

NTC-200 シリーズのエージェントソフトウェア

バージョン ダウンロード リリースバージョン
1.0.0 ダウンロード 10.6.0
1.0.2 ダウンロード 10.6.0
1.0.3 ダウンロード 10.6.0
1.1.0 ダウンロード 10.6.6以降
1.1.1 ダウンロード 10.6.6以降

ルーターをThings Cloudデバイスとして登録

ルーターの構成設定

Things Cloudのサポートは、ルーターのWebユーザーインターフェースを介して構成できます。これを行うには、ルーターのマニュアルの説明に従ってユーザーインターフェースにログインします。システムタブに移動し、IoTメニュー項目をクリックします。

Web Interface

AgentのトグルがONに設定されていることを確認してください。

Serverフィールドに記載してあるURLは、接続するThings Cloudインスタンスを指している必要があります。URLは https://<my-tenant>.<instance-url>の形式である必要があります。ここの <instance-url> はhttps://mqtt.je1.thingscloud.ntt.comのように、Things CloudインスタンスのURLを示します。

オプションで、次の機能のデータ収集を有効化できます。

  • GPIO analog measurements: アナログ入力の電圧を送信します。[秒]
  • GPS position update intervals: 現在のGPSの位置を更新します。[秒]
  • GPS position event: GPSの位置追跡を送信します。[秒]
  • System resources measurements: CPU使用率、メモリー使用率、ネットワークトラフィックに関する情報を取得します。[秒]
  • Connection signal measurements: セルラー信号強度に関する情報を取得します。[秒]

これらのオプションは、すべてデフォルトで無効になっています(間隔は0に設定されています)。

Webインターフェースには、Things Cloudへの接続状態も表示されます。

  • Checking network connection: 起動時にモバイルネットワーク接続を待機しています。
  • Bootstrapping: Things Cloudから認証情報をロードしているか、認証情報を要求しています。
  • Integrating: Things Cloudへ接続しています。
  • Loading plugins: Luaプラグインのロードしています。
  • Connected: エージェントはThings Cloudに正常に接続されています。
  • No server URL: サーバーURLがないか無効の状態です。
  • Bootstrap failed: Things Cloudから認証情報を取得できない状態です。
  • Integration failed: Things Cloudに接続できない状態です。
  • Create threads failed: レポーターまたはデバイスのプッシュを開始できない状態です。

ルーターの接続

NetCommルーターをThings Cloudに登録するには、デバイスIDとしてルーターのシリアル番号が必要です。シリアル番号は、以下に示すようにルーターの背面に印刷されています。また、ルーターのWebユーザーインターフェースにも表示されています。System > Internet of Thingsに移動し、Device IDフィールドを表示します。

Serial Number

登録方法の詳細については、「デバイスの登録」をご覧ください。デバイス管理 > デバイスの登録に記載されている、デバイスを手動で接続する方法の説明に従ってください。

Things Cloud プラットフォームの承認ボタンをクリックした後、すべてのデバイスに移動してください。登録後、ルーターがここに表示されます。ルーターのデフォルト名は 「<model> (S/N <serial number>)」となり、デバイスのモデル名が <model> 部分に記載されます。例えば、上記のルーターの場合「NTC-221(S/N191611192800580)」と表示されます。

ルーターをクリックすると、詳細情報とこのドキュメントの残りのセクションで説明されている機能にアクセスできます。登録済みのルーターをリスト内の他のデバイスと区別するために、情報タブでルーターの名前を変更できます。このタブでは、ルーターのシリアル番号やSIMカードデータなどの基本情報が「デバイスデータ」ウィジェットに表示されています。ウィジェットの下部にある編集アイコンをクリックして名前を変更した後、情報ページの「デバイスデータ」ウィジェットの下部にある保存をクリックしてください。

産業用アセットのリモート監視と制御

GPIOの使用

次のGPIO機能に対応しています。

  • アナログ入力の電圧をメジャーメントとして、Things Cloudプラットフォームに送信します。
  • デジタル入力がそれぞれ 1または 0になったときに、アラームを発生またはクリアします。
  • Things Cloudプラットフォームからリモートでデジタル出力に書き込みます。

特定のIO設定の詳細については、ルーターのドキュメントをご覧ください。使用可能な機能は、ルーターモデルによって異なる場合があります。例えば、NTC-220はGPIOピン 1〜3 に対応しています。

アナログ入力

GPIOピンの入力電圧を定期的にポーリングしてThings Cloud プラットフォームに送信するには、GPIOアナログメジャーメントをゼロ以外の値に設定します。または、デバイスシェルを使用してください。

set service.cumulocity.gpio.interval=<seconds>

次に、ポートを指定し、デバイスシェルを使用して通知をオンにする必要があります。

set service.cumulocity.gpio.<port>.notify=measurement

<port>はGPIOピンの番号です。NTC-220の場合、は1、2、3のいずれかになります。視覚化された結果は計測値タブに表示されます。

デジタル入力

デジタル入力からアラームを発生させることができます。ルーターのユーザーインターフェースを使用するか、デバイスシェルで設定できます。

set service.cumulocity.gpio.<port>.notify=alarm
set service.cumulocity.gpio.<port>.debounce.interval=<seconds>
set service.cumulocity.gpio.<port>.alarm.text=<ALARM_TEXT>
set service.cumulocity.gpio.<port>.alarm.severity=<severity>

notifyパラメータに指定できる値は、次の通りです。

  • off: ピンは通知に対して無効になっています。
  • alarm: ピンの読み取り値が になると、アラームが発生します。
  • measurement: 電圧のアナログ読み取り値がメジャーメントとして送信されます。

デバウンス間隔は、GPIO入力からの電気ノイズを低減します。間隔が短いほど、値のノイズは大きくなりますが、信号の変化に対する反応は速くなります。デフォルトのデバウンス間隔は10分です。

テキストプロパティを設定することにより、デフォルトのアラームテキストをオーバーライドできます。デフォルトでは、この値は空で gpio<N> is active がテキストとして使用され、<N> はGPIOピンの番号付けになります。

有効なアラームの重大度は次の通りです。

  • WARNING(警告)
  • MINOR(マイナー:デフォルト)
  • MAJOR (メジャー)
  • CRITICAL(クリティカル)

入力は変更がないか毎秒確認されます。

デジタル出力

デジタル出力は、「リレーアレイ制御」ウィジェットを使用して制御できます。下のスクリーンショットをご覧ください。緑のアイコンは「閉じた(低い値)」を意味し、赤いアイコンは「開いた(高い値)」を意味します。GPIOピンの番号は、ルーターに記載されているものと同じです。NTC-220モデルの場合、3つのGPIOピンを設定できます。

Relay Array Widget

クラウドフィールドバス

Modbus-TCPとModbus-RTUのクライアントをそれぞれLANとシリアルポート経由でルーターに接続し、Things Cloudでリモート管理ができます。これを行うには、次の手順に従う必要があります。

Modbus-TCPのセットアップ方法:

  • LAN接続を確立します。上記のネットワークタブと対応するModbusデバイスの設定方法を使用して、ルーターとModbus-TCPクライアント間のIP通信を有効にします。
  • デフォルトの502とは異なるポートを使用している場合は、ルーターのWeb UIのThings CloudメニューでModbus-TCPポートを設定します。ルーターの設定をご覧ください。

Modbus-RTUのセットアップ方法:

  • シリアルケーブルを介してルーターとModbus-RTUクライアントを接続します。
  • デバイスシェルを介してシリアルポートモードを構成します。
set serial.iomode.default=<mode>

ここで、<mode>は rs232、rs422、rs485 のいずれかです。モードを変更した後、ルーターを再起動する必要がある場合があります。

  • ルーターのシリアルポート関連の機能をすべてオフにしてください(例:PADD、データストリームマネージャー)。そうしないと、エージェントはシリアルポートへのアクセスで競合します。
備考

デフォルトのシリアルポート/dev/ttyO1は、NTC-220モデルシリーズのものを指します。他のモデルは異なるポートを使用する場合があります。例えば、NTC-6200モデルは /dev/ttyAPP4 を代わりに使用します。これ以上の設定をしなくても動作します。ポートが空の場合、または別のポートを構成する必要がある場合は、ルーターのWeb UIのThings Cloudメニューで設定できます。ルーターの設定をご覧ください。

一部のUSB~シリアルアダプタでは、デフォルトでエコーモードが有効になっています。これにより、Modbus通信が完全に停止する場合があります。これらのアダプタを使用している場合は、無効にする方法についてはアダプタの製造元にお問い合わせください。

  • テナントにクラウドフィールドバス機能がサブスクライブされているか確認します。
  • 「プロトコル統合ガイド」のクラウドフィールドバスの説明に従って、Modbus通信を設定します。
  • ルーターのWeb UIのThings Cloudメニューで「Modbus読み取り専用」プロパティを設定して書き込み権限を有効または無効にします。ルーターの構成をご覧ください。書き込みを許可するには 0 に設定し、Modbus書き込みを許可しない場合は 1 に設定します。

デバイスの管理

ネットワークパラメータの設定

[**ネットワーク**]タブで重要なモバイルネットワーク(**WAN**)およびローカルエリアネットワーク(**LAN**)パラメータを表示および構成できます。

ユーザーインターフェースに表示されるモバイルネットワーク(WAN)パラメータは、ルーターに保存されている最初のプロファイルに対応しています。これらのパラメータは、リモートで直接構成できます。

ネットワークタブの詳細については、デバイスの管理と接続 > デバイス管理 > デバイス詳細の表示 > ネットワーク をご覧ください。

備考
間違ったAPN設定を構成すると、デバイスはモバイルネットワーク接続を失います。

LANおよびDHCPパラメータは、Things Cloudから直接構成することもできます。

ソフトウェアとファームウェアの管理

ルーターにインストールされているソフトウェアとファームウェアは、Things Cloud の標準ソフトウェアとファームウェア管理機能を使用してリモートで管理できます。詳細については、 デバイスの管理と接続 > デバイス管理 > デバイスデータの管理 をご覧ください。

ソフトウェアパッケージは ipkg 形式であり、次の命名規則に従います <package>_<version>_<arch>.ipk. 文字を含んだバージョンの番号はサポートされていません。すべてのパッケージ管理方法(インストール、アップグレード、ダウングレード、削除)は、ルーターのパッケージマネージャーを通じてサポートされています。ソフトウェアパッケージに依存関係がある場合は、必ず最初にインストールしてください。

備考

cumulocity-ntc-agent_<version>_arm.ipk のパッケージは NetComm エージェントを表します。このパッケージをThings Cloudから削除することは禁止されています。

ファームウェアをルーターにアップロードしてインストールすることもできます。ファームウェアを正常にアップグレードするには、対象のファームウェアにエージェントパッケージが含まれていることを確認してください。ファームウェアファイルは、Netcommの命名規則 (<name>_<version>.cdi) に従う必要があります。

備考
エージェントパッケージが対象のファームウェアに含まれていない場合、インストール後にエージェントは起動しません。

システムリソースの監視

トラブルシューティングの目的で、ルーターのシステムリソース使用量の統計を記録できます。

次の統計が利用可能です。

  • CPU負荷(パーセント)

  • 使用済みおよび合計メモリー(MB)

  • すべてのインターフェースでのアップリンクおよびダウンリンクトラフィック(KB / 秒)

    デフォルトでは、リソース統計の収集は無効になっています。ルーターのWebユーザーインターフェースシステムリソース メジャーメント エントリでゼロ以外の収集間隔を設定するか、 デバイスシェル を使用して有効にできます。

set service.cumulocity.system_resources.interval=<seconds>

収集されたデータは、計測値タブまたはダッシュボードよりアクセスできます。

セルラー信号強度の監視

ルーターのセルラー信号強度の統計を記録することもできます。

デフォルトでは、信号強度統計の収集は無効になっています。ルーターのWebユーザーインターフェース接続信号メジャーメント エントリでゼロ以外の収集間隔を設定するか、 デバイスシェル を使用して有効にできます。

set service.cumulocity.signal.interval=<seconds>

収集されたデータは、計測値タブまたはダッシュボードよりアクセスできます。

GPSの使用

ルーターの位置を特定または追跡するには、GPSアンテナをルーターに接続し、そのGPS機能を有効にします。次に、GPS位置更新間隔および/またはGPS位置イベントをゼロ以外の値に設定して、データ収集の頻度を設定します。GPS位置更新間隔は、ルーターの現在位置が更新される頻度を定義します。GPS位置イベントは、現在の位置が追跡用の位置更新イベントとして保存される頻度を定義します。

同様に、これらのパラメータは デバイスシェルから設定できます。

set service.cumulocity.gps.update_interval=<seconds>
set service.cumulocity.gps.interval=<seconds>

構成の変更を適用した後、最初のGPSデータが到着するまでしばらく待ってから、ページを更新します。これで 位置追跡タブが表示されます。位置および追跡タブの詳細については、デバイスの管理と接続 > デバイス管理 > デバイス詳細の表示 をご覧ください。

構成スナップショットの管理

ユーザー構成データを取得、変更、保存することができます。これを行うには、デバイス管理 > すべてのデバイスでルーターに移動し、構成 タブに切り替えます。設定セクションの再読み込みをクリックして、構成データをリクエストします。ダウンロードには数秒かかります。構成データが到着すると、パラメータとそれに対応する値のリストが表示されます。その後、構成を変更して、デバイスに保存し直すことができます。

デバイスから構成スナップショットを要求し、後で構成スナップショットを他のデバイスに適用することもできます。

構成のスーパーセットであるRDBスナップショットにも対応しています。これは主にトラブルシューティングを目的としています。

デバイスシェルの使用

デバイスシェルを使用すると、デバイスから個々の設定パラメータを読み書きしたり、診断コマンドを実行したりできます。詳細については、デバイスの管理と接続 > デバイス管理 > デバイス詳細の表示 > シェル をご覧ください。有効なパラメータと診断コマンドについては、NetCommのドキュメントをご覧ください。一般的な形式は、次の通りです。

  • 「get <parameter>」でデバイスからパラメータを読み取ります。
  • 「set <parameter>=<value>」でデバイスにパラメータを書き込みます。
  • 「execute <command>」でデバイスに診断コマンドを実行します。

セミコロン( ; )を区切り文字として使用すれば、複数の get、set、execute のコマンドを送信できます。事前定義を取得リンクをクリックして、頻繁に使用されるパラメータとコマンドにアクセスします。

ログファイルの表示

デバイスからログをダウンロードして表示できます。ログファイルは非常に大きくなる可能性がありますが、フィルターを設定して、関心のあるものだけを取得することができます。

ログの詳細については、デバイスの管理と接続 > デバイス管理 > デバイス詳細の表示 > ログ をご覧ください。

イベントの通知

ルーターは、特定のシステムイベントを通知として報告します。通知は、アラームとしてThings Cloud プラットフォームに転送できます。システムイベントは、モバイルネットワークの問題などのトラブルシューティングに役立ちます。さまざまなタイプのイベントとそれらを転送する方法の詳細については、NetCommのドキュメントをご覧ください(例:NTC-220 ユーザーガイドの「イベント通知」セクション)。イベントをアラームとして転送するには、UDP宛先をローカルホストのポート1331に送信するよう設定します(NTC-220 ユーザーガイドの「宛先設定」セクションをご覧ください)。

MQTT プロトコル

エージェントはMQTTプロトコルに対応しています。MQTTはデフォルトのプロトコルとして設定されています。ただし、MQTTの有効化を手動で構成する必要がある場合は、デバイスシェル を介して次のコマンドを実行し、MQTT通信を無効または有効にします。

set service.cumulocity.mqtt.enable = <0|1>

設定されたサーバーのURLは同じままです。例えば、プレーンMQTTを使用する場合は http://mqtt.je1.thingscloud.ntt.com、安全なMQTT + TLSを使用する場合はhttps://mqtt.je1.thingscloud.ntt.comとなります。

MQTTキープアライブ間隔(デフォルトは240秒)を設定するには、デバイスシェル を介して次のコマンドを実行し、キープアライブ間隔を変更します。

set service.cumulocity.mqtt.keepalive = <seconds>
備考
キープアライブ間隔の変更は、再起動後に適用されます。

トラブルシューティング

ローカルのログ

問題が発生した場合は、ルーターにローカルに保存されているエージェント ログファイルを確認できます。
ログファイルはデフォルトで /opt/ntcagent/ntcagent.log に格納されています。
また、 ルーターのWeb ユーザーインターフェースログレベル を上げることができます。 ログレベルは、1(最小 - error)から 8(最大 - debug)まで設定できます。

制限とバグについて

  • ルーターとサーバーの時刻が完全に同期していない可能性があるため、将来発生する更新(アラーム、イベントなど)が表示される場合があります。そのため、新しいデバイスの位置タブと計測値タブが表示されるまでに時間がかかる場合があります。
  • WANプロファイル 1 のみがサポートされています。APNを設定するには、デバイスの自動APNモードを無効にする必要があります。
  • 状況によっては、SMSモードとIPモードを切り替えるときに、デバイスに送信されたコマンドが失われる場合があります。

リリース履歴

NetComm エージェントのリリースノート

このドキュメントでは、 Casa System NTC-220シリーズ のルーター用のThings Cloud NetCommエージェントパッケージについて説明します。

備考
NetComm Wireless NTC-6200またはNetComm Wireless NTC-140Wのいずれかを使用している場合、エージェントのバージョン4.2.3以前を使用する必要があります。パッケージの入手方法については、デバイス統合チュートリアルの NetComm セクションをご覧ください。
重要
Things Cloud Netcommエージェント1.0.x と1.1.x は、 Casa Systems NTC-220シリーズ のルーターでのみサポートされています。 NetComm Wireless NTC-6200NetComm Wireless NTC-140W は別のエージェントでのみサポートされています。

1.0.0

NTC-6200 と NTC-140Wの以前のエージェントからの変更点:

  • NTC-220シリーズのサポートを開始し、NTC-6200およびNTC-140Wのサポートを終了しました。
  • すべてのソフトウェアを 1つのパッケージに併合しました。
  • NTC-220シリーズに対応するよう、Netcomm Web UIを修正しました。
  • NTC-220シリーズのイベント通知フォーマットの変更に合わせてイベント通知を修正しました。
  • メッセージキューのサイズがMQTT最大ペイロードサイズ(<16KB)を超える場合の接続の安定性が向上しました。
  • レポーターのバッファー容量を常にRDBから読み込むように修正されました。
  • MQTTの最大ペイロードサイズの違反を回避するために、設定が常にHTTP経由で送信されるように変更されました。
  • CA証明書を20200101バージョンに更新しました。

1.0.2

  • エージェントが設定と異なる間隔で位置を更新する問題を修正しました。
  • イーサネット WAN または USB WAN でもエージェントが動作するようにしました。

1.0.3

  • クライアントが利用できなくなった後も、エージェントがメジャーメントを送信し続ける Modbus プラグインの問題を修正しました。

1.1.0

  • デバイスタイプの名前を NTC-220 エージェント(以前の POSIX エージェント)に変更しました。
  • シェルで定義済みのコマンドが使用できるようになりました。

1.1.1

  • 「NTP synchronisation failed」モードを追加しました。