Netcomm
概要
以下のセクションでは、NetCommルーターを Things Cloud と併せて使用する方法を説明します。具体的に、以下の作業の手順を説明します。
- ルーターの構成設定 。
- あなたの Things Cloud アカウントへのルーターの接続。
- WAN、LANおよびDHCPのパラメータの構成設定。
- ソフトウェアおよびファームウェアの管理。
- システムリソースの監視。
- 組み込みGPS機能の使用。
- 組み込みGPIOピンの使用。
- 構成設定パラメータの閲覧。
- デバイスのシェル経由でのテキストコマンドの遠隔実行。
- イベント通知の取得。
- Modbusデバイスの接続。
- 各種ログの閲覧。
以下のセクションでは、NetComm エージェントソフトウェアパッケージがルーターにインストール済みであると想定します。このエージェントは NTC-6200に対応しています。 ルーター特有の特徴について詳しくは、ルーターのホームページの「Downloads」セクションに記載されているそれぞれのマニュアルをご覧ください。
ルーターの構成設定
Things Cloud に対応するための構成設定は、ルーターのWebユーザーインターフェース経由で行うことができます。その場合、ルーターのマニュアルに記載の通り、ユーザーインターフェースへログインします。「System」タブをクリックし、「Internet of Things」のメニュー項目をクリックします。
「 Things Cloud agent」のトグルスイッチが「ON」に設定され、「Server」欄に記載のURLがあなたの接続したい Things Cloud インスタンスのURLであるかどうか、検証します。例として、以下を使用します。
- https://[テナント名].je1.thingscloud.ntt.com/s/ : Things Cloud への接続。
任意で、以下の機能向けにデータ収集を有効化することもできます。
- GPIOアナログメジャーメント:アナログ入力電圧を送信します(秒単位)。
- GPS位置間隔:現在のGPS位置を更新します(秒単位)。
- GPS位置イベント:GPS位置トレースを送信します(秒単位)。
- システムリソースメジャーメント:CPU使用状況、メモリー使用状況およびネットワークトラフィックに関する情報を取得します(秒単位)。
これらのオプションはすべて、初期設定では無効の状態です(間隔は0に設定されています)。
Webインターフェースも Things Cloud への接続状態を表示します。
(バージョン2.xの場合)
- Off:ソフトウェアは無効の状態です。
- Initializing:ソフトウェアを初期化中です。
- Registering:デバイスは Things Cloud への登録を待機中です(次のセクション参照)。
- Starting:ソフトウェアがすべてのコンポーネントを起動します。
- No credentials:デバイスが Things Cloud にアクセスするための認証情報を取得しなかったか、認証情報が無効とされたか、または認証情報が誤っていました。
- Started:ソフトウェアは起動しています。
- Connecting:ソフトウェアは Things Cloud へ接続処理中です。
- Connected:ソフトウェアは Things Cloud へ接続された状態です。
- Disconnected:ソフトウェアは Things Cloud へ接続されていません。
- Reconnecting:ソフトウェアは接続を再試行中です。
- Stopping:ソフトウェアは終了処理中です。
(バージョン3.xの場合)
- 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」として設定する必要があります。登録手順はユーザーガイドの「Connecting devices」セクションに記載されています。製造番号は下記の通り、ルーターの後面に印刷されています。あるいは、ルーターのWebユーザーインターフェースでも確認できます。「System」をクリックし、「Internet of Things」へ進み、「Device ID」フィールドをご確認ください。
バージョン2.xのユーザー、または2.xから3.xへアップグレードするユーザーは、ルーターのMACアドレスを使用してください。MACアドレスを入力する際は必ず、小文字と数字のみ使用してください。MACアドレスをコロンで区切らないでください。例えば、画像からのMACアドレスは以下のように入力されることになります。
006064dda4ae
「accept」ボタンをクリックした後、「All devices」をクリックすると、ルーターが登録後にここへ表示されるはずです。ルーターの初期設定名は「<型式> (S/N <製造番号>)」です。「<型式>」はデバイスの型式名を指します。例えば、上記のルーターの場合、「NTC-6200-02 (S/N 165711141901036)」と表示されます。ルーターをクリックすると、詳細情報を閲覧したり、本書の後続セクションに記載の機能へアクセスしたりすることができます。登録済みのルーターをリスト内の他のデバイスと区別するため、ルーター名を「Info」タブ上で変更することができます。このタブにはルーターの製造番号やSIMカードデータなどの基本情報も表示されます。名称変更後、「Info」ページの下部に表示される「save changes」ボタンをクリックすることをお忘れなく。
ネットワークパラメータの構成設定
「Network」タブ内で、不可欠なモバイルネットワーク(WAN)やローカルエリアネットワーク(LAN)の閲覧および構成設定を行うことができます。
ユーザーインターフェースに表示されるモバイルネットワーク(WAN)パラメータは、ルーターに保存される最初のプロファイルに相当します。これらのパラメータの構成設定を遠隔操作により、直接行うことができます。
LANおよびDHCPのパラメータの構成設定を、 Things Cloud から直接行うこともできます。
ソフトウェアおよびファームウェアの管理
ルーターにインストール済みのソフトウェアおよびファームウェアの遠隔管理を、デバイス管理ユーザーガイドに記載の通り、 Things Cloud が提供する標準のソフトウェア/ファームウェア管理機能を使用して行うことができます。
ソフトウェアパッケージは ipkg 形式である必要があり、また「<パッケージ名>_<バージョン>_<arch>.ipk」という命名法に従う必要があります。文字を含むバージョン番号はサポートされません。パッケージ管理方法(インストール、アップグレード、ダウングレード、削除)はすべて、ルーターのパッケージマネージャー経由でサポートされます。ソフトウェアパッケージに依存性がある場合、必ずそれらを先にインストールしてください。
「smartrest-agent_<version>_arm.ipk」というパッケージは、NetCommエージェントであることを意味します。このパッケージを Things Cloud から削除してはなりません。
2.1.1より古いバージョンからアップグレードする場合、デバイスの再登録が必要です。
ファームウェアをルーター上にアップロードおよびインストールすることもできます。ファームウェアを正常にアップグレードするため、対象ファームウェアにエージェントソフトウェアパッケージが含まれることを確認してください。エージェントソフトウェアパッケージが対象ファームウェアに含まれていないと、インストール後にエージェントが起動しません。 ファームウェアファイルはNetcommの命名法(「<name>_<version>.cdi」)に従う必要があります。
システムリソースの監視
ルーターのシステムリソース使用状況に関する統計を記録して、トラブルシューティングに役立てることができます。以下の統計を取得することができます。
- CPU負荷(単位:パーセント)
- メモリー使用量および総メモリー容量(単位:MB)
- すべてのインターフェース上でのアップリンクおよびダウンリンクのトラフィック(単位:KB/秒)
初期設定では、リソース統計収集が無効となっています。有効化する場合、 ルーターユーザーインターフェース における「System resources measurements」の収集間隔を非ゼロに設定するか、または Device Shellを使用して以下の通り設定します。
set service.cumulocity.system_resources.interval=<interval>
「Measurements」タブまたはダッシュボードから、収集されたデータにアクセスすることができます。
GPSの使用
ルーターの所在特定または追跡を行う場合、GPSアンテナをルーターへ接続し、ルーターのGPS機能を有効化します。次いで「GPS position interval」および/または「GPS position event」の値を非ゼロに設定することにより、データ収集頻度を 設定 します。「GPS position interval」は、ルーターの現在位置の更新頻度を定義します。「GPS position event」は、追跡を目的に現在位置を位置更新イベントとして保存する頻度を定義します。同様に、これらのパラメータを以下の通りDevice Shellから設定することもできます。
set service.cumulocity.gps.update_interval=<update interval>
set service.cumulocity.gps.interval=<event interval>
構成設定変更を適用した後、最初のGPSデータの到着までしばらく待ってから、ページを再読み込みします。そうすると、「Location」タブと「Tracking」タブが表示されるはずです。詳しくはユーザーガイドの「Location」および「Tracking」のセクションをご覧ください。
GPIOの使用
以下のGPIO機能がサポートされています。
- アナログ入力の電圧をメジャーメントとして Things Cloud へ送信する。
- デジタル入力が1になるとアラームを起動し、0になるとアラームを解除する。
- デジタル出力に Things Cloud から遠隔操作で書き込む。
個別のIO設定について詳しくは、あなたのルーターの関連資料をご覧ください。利用可能な機能は、デバイスの型式によって異なる場合があります。 例えば、NTC 6200型はGPIOピン1~3に対応する一方、NTC 140W型はGPIOピン1にしか対応しません。
アナログ入力
GPIOピンの入力電圧のポーリングを定期的に行い、結果を Things Cloud 送信したい場合、「GPIO analog measurements」の値を非ゼロに設定します。あるいは以下の通り、Device Shellを使用します。
set service.cumulocity.gpio.interval=<interval>
set service.cumulocity.gpio.<port>.notify=measurement
<port>はGPIOピンの付番を指します。NTC-6200の場合、<port>の値は1、2または3のいずれかである一方、NTC-140Wの場合、<port>の値は1のみです。結果は可視化されて「Measurements」に表示されます。
デジタル入力
デジタル入力からアラームを起動することができます。これらの構成設定を、ルーターユーザーインターフェースを使用するか、またはDevice Shell経由で行うことができます。 形式は以下の通りです。
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>
通知パラメータとして可能な値は以下の通りです。
- off:ピンはあらゆる通知について無効です。
- alarm:ピンの読み取り値が「high」の場合にアラームが起動されます。
- measurement:電圧のアナログ読み取り値がメジャーメントとして送信されます。
デバウンス間隔はGPIO入力からの電気ノイズを低減します。 つまり、間隔が短いほど値のノイズが大きくなりますが、信号の変化に対する反応は速くなります。初期設定のデバウンス間隔は10分間です。
「text」プロパティの設定により、初期設定のアラームテキストを上書きすることができます。初期設定ではこの値が空の状態で、「gpio<N> is active(gpio<N>が有効です)」をテキストとして使用します。<N>はGPIOピンの付番を指します。
有効なアラーム重大度は以下の通りです。
- WARNING(警告)
- MINOR(軽微)
- MAJOR(重大) [初期設定]
- CRITICAL(極めて重大)
入力は1秒毎に、変化がないか確認されます。
デジタル出力
「Relay array」プラグインを使用して、デジタル出力を制御することができます。下記のスクリーンショットをご覧ください。GPIOピンの付番はルーターでの付番と同じです。NTC-6200型の場合、3通りのGPIOピンを設定できますが、NTC-140W型では最初のピンのみ有効です。
構成設定管理
ユーザー構成設定データを検索、修正および保存することができます。 To do 実行する場合、ルーターの「Configuration」タブをクリックし、「CONFIGURATION」ウィジェット内の「Reload」ボタンをクリックして構成設定データをリクエストします。ダウンロードに数秒かかります。構成設定データが到着すると、パラメータ一覧と各パラメータに対応する値が表示されます。その後、構成設定に変更を加え、デバイスに戻す形で保存することができます。
構成設定のスナップショットをデバイスにリクエストし、それを後で他のデバイスに適用することもできます。
エージェントのバージョン3.11および Things Cloud のバージョン7.26以降、RDBスナップショットにも対応するようになっていますが、これは構成設定のいわば上位集合です。これは主にトラブルシューティングが目的です。
Device Shell
Device Shellを使用して、個別の構成設定パラメータをデバイスから読み書きするほか、診断用コマンドを実行することもできます。 詳しくは ユーザーガイドをご覧ください。有効なパラメータおよび診断用コマンドについては、Netcomm関連資料をご覧ください。一般的な形式は以下の通りです。
- 「get <parameter>」:パラメータをデバイスから読み取る。
- 「set <parameter>=<value>」:パラメータをデバイスに書き込む。
- 「execute <command>」:診断用コマンドをデバイス上で実行する。
セミコロンをセパレーターとして使用すると、複数のget、setおよびexecuteコマンドを実行できます。使用頻度の高いパラメータおよびコマンドにアクセスするには、「Get Predefined」リンクをクリックします。
イベント通知
ルーターは一定のシステムイベントをアラームとして報告します。これらをアラームとして Things Cloud へ転送することができます。システムイベントは、例えばモバイルネットワークの問題のトラブルシューティングに役立ちます。 さまざまな種類のイベントやそれらの転送方法について詳しくは、Netcomm関連資料(例えば、ユーザーガイドの「Event notification」セクション)をご覧ください。イベントをアラームとして転送する場合、UDPの宛先をローカルホスト上の1331番ポートに送信するよう設定します。(「宛先構成設定」セクション参照)。
Cloud Fieldbus
Modbus-TCPおよびModbus-RTUのスレーブにそれぞれLAN経由およびシリアルポート経由で接続し、 Things Cloud 内で遠隔管理することができます。実行するには以下を行う必要があります。
Modbus-TCPの設定手順
- LAN接続を確立する。 上記の「Network」タブと、Modbusデバイス上の対応するデバイス構成機構を使用して、ルーターとあなたのModbus-TCPスレーブとの間のIP通信を有効化する。
- 初期設定の502と異なるポートを使用している場合、NetCommデバイスのWebUI上の Things Cloud メニュー内でModbus-TCPポートの構成設定を行う。「Configuring the router」をご覧ください。
Modbus-RTUの設定手順
-
ルーターとあなたのModbus-RTUスレーブを、シリアルケーブル経由で接続する。
-
Device Shell経由で以下の通りシリアルポートの構成設定を行う。
set serial.iomode.default=<mode>
<mode>
はre232、rs422またはrs485のいずれかとすることができます。モード変更後、デバイスの再起動が必要となる場合があります。
初期設定のシリアルポート
/dev/ttyAPP4
は、追加の構成設定を行わなくても機能するはずです。空の場合、または別のポートを構成設定する必要がある場合、デバイスのWebUI内の Things Cloud メニューで構成設定可能です。「Configuring the router」をご覧ください。
USB/シリアル変換装置の中には、エコーモードが初期設定で有効となっているものもあり、これはModbus通信の作動を完全に止めてしまう可能性があります。そのような変換装置をお持ちの場合、無効化手順についてメーカーにお問い合わせください。
NTC-140W型はModbus RTUに対応していませんので、該当する機能がUIに表示されません。
その場合の手順は以下の通りです。
- サポート担当に連絡し、あなたのアカウントをCloud Fieldbusアプリケーションで使えるようにしてもらう。
- Cloud Fieldbusのユーザーガイドに記載の通り、Modbus通信の構成設定を行う。
- デバイスのWebUI内の Things Cloud メニューで「Modbus read only」プロパティを設定することにより、書き込みパーミッションを有効化または無効化する。「Configuring the router」をご覧ください。 0に設定すると書き込みパーミッションの許可を意味し、1はModbusの書き込みパーミッションを許可しないことを意味します。
ログビューアー
各種ログをデバイスからダウンロードし、閲覧することができます。ログファイルはかなり大きい場合がありますので、関心のある内容のみ閲覧した場合、フィルタリングのための引数を設定することができます。
右側で日付範囲を設定し、ログファイルを選択することができます。次に、テキストを検索し、合致する行のみデバイスから取得することができます合致する行を制限することもできます。
取得されたログが下のリストに表示されます。クリックするとログファイルの内容がページの下部に表示されます。前回リクエストしたログが自動的に開かれます。
Netcomm Agent 開発者ガイド
インデックス:
設定
資格情報
資格情報は値としてRDBに格納されます:
service.cumulocity.connection.username
– テナントを含める。例えば: management/device_006064ce80bfservice.cumulocity.connection.password
– 隠匿化されたパスワード
バスワードの形式:
*1*
– 接頭辞- 隠匿化プロセス:
- パスワードが16文字以下の場合は16バイトまで文字列で埋められます: fN4\033q8!7n\n13Q$8f`
- 次の文字列と排他的論理和ををとる:
\x21\x63\x0e\x30\x2f\x1b\x9a\xc2\x34\x55\xe8\x7d\x32\xda\x30\xea\x59
- base64
*
– 接尾辞
イベント通知
Things Cloudのアラームは、NetCommワイヤレスM2Mデバイスモデル(バージョン1.3)で説明されているNetComm UDPイベントを基にしています。
エージェントは次のファイルの定義を使用します:/usr/local/etc/udp_alarms.ini
これらは:
- 一般セクション[alarm]
- イベント毎セクション [alarm.N], ここの
N
は(MTMデバイスモデルからの)イベント番号になります。 alarmセクションは重要度
値であり、初期値はメジャー
です。この値は上書きすることができます。
各イベントセクションは以下のものが含まれます:
- セクションの名前にあるイベント番号
名前
– M2Mデバイスモデルで定義されたアラーム名。通知タイプとしても使用。重要度
– 初期重要度を上書き、オプション、初期値:non existsタイプ
– Things Cloud通知タイプ、名前を上書き、オプション、初期値:non exists
Things CloudではUDPイベントからのテキストは通知として直接設定されます。
ログビューアー
ログビューアーのプラグイン(lua__logs) は次のファイルの定義を使用します: /usr/local/etc/logs.ini
グローバル値のlogs
には対応するログのリストが含まれています。
logs = logread, dmesg, sragent
これはThings Cloudで宣言されたログの名前とログの詳細が含まれたセクションのリストです。
各セクションは以下のものが含まれます:
ファイル
または実行
– ログのソース。実行
が使用された場合、ログは標準出力から取得。パターン
–Lua RegEx syntaxのラインパースパターン (チュートリアル)フィールド
– RegExのサブパターンにある解析フィールドの名前。名前が複数回使用されている場合、サブパターンはスペースセパレータで結合されます。timeFormat
– ログに使用されている時間の形式:- strptime形式
$(アップタイム)
– 時間のオフセット形式システム起動 (dmesgに便利)
例:
[syslog]
file = /var/log/syslog
pattern = (%a+ +%d+ +%d+:%d+:%d+)%s+%S+%s+(%S+):%s*(.*)%s*$
fields = time, module, text
timeFormat = %B %d %T
[logread]
execute = logread
pattern = (%a+ +%d+ +%d+:%d+:%d+)%s+%S+%s+(%S+)%s+(%S+):%s*(.*)%s*$
fields = time, level, module, text
timeFormat = %B %d %T
Netcommリリースノート
NetComm Agent 3.2リリースノート
本書ではNetComm Wireless NTC-6200型ルーター用 Things Cloud エージェントパッケージについて説明します。
サポート対象機能
エージェントは以下の機能をサポートします。
- Things Cloud におけるルーターのブートストラップおよび登録。
- 型式、製造番号、ファームウェアバージョンおよびインストール済みソフトウェアに関する報告。
- WAN、LANおよびDHCPの構成設定。
- ipkgパッケージマネージャを通じたサービスとしての遠隔ソフトウェアおよびファームウェアのインストールとアップグレード。
- システムリソースのモニタリング。
- GPSベースの位置報告。
- GPIOピン読み取り値(アナログ入力)のメジャーメントとして報告。
- GPIOピン(デジタル入力)が開いているか閉じているかの違いに基づく、アラームの起動および解除(デバウンシングを含む)。
- Things Cloud からのGPIOピン(デジタル出力)の遠隔制御。
- ルーター構成設定の編集。
- ルーター構成設定スナップショットのマネジメント。
- デバイスシェルインターフェース経由でのコマンドの遠隔実行。
- アラームとしてのイベント通知送信。
- Modbusデバイスを Things Cloud から遠隔マネージするための、Modbus-RTUおよびModbus-TCPのサポート。
- IoTアプリケーションを迅速に開発するためのLuaプラグインAPI。
- ルーターのWebユーザーインターフェース側でのエージェント設定に関する構成設定および表示。
- デバイス構成設定の取得および追加。
- システムファイル、ipsecファイルおよびエージェントログファイルの閲覧。
既知の制限とバグ
- ルーター上の時間とサーバー上での時間が完全に同期していない場合がありますので、「将来」発生するアップデート(例:アラーム、イベント)を確認してください。これは、新規デバイスについて「Location」タブと「Measurement」タブが表示されるまで時間が掛かる場合があることの理由でもあります。
- WANプロファイル1のみサポートされます。APNを設定する際、デバイスの「auto APN」モードを無効にする必要があります。
システム要件
エージェントはファームウェアバージョン2.0.36.10.にてNTC-6200型デバイス上で試験済みです。WANパラメータを遠隔設定する場合、SMS機能付きのSIMカードが必要です。
エージェントバージョン3.2.0以上の場合、multip-XID対応のために最低でもバージョン7.20のバックエンドが必要です。 エージェントバージョン2.1.10以上の場合、新規ログビュアーに対応するために最低でもCumulocity6.10が必要です。
エージェントのインストール
- 以下からソフトウェアをダウンロードします:http://resources.cumulocity.com/ntc/smartrest-agent_3.2.2_arm.ipk
- NTC-6200のWebユーザーインターフェースにログインします。
- 「System」メニューを開きます。「System configuration」から「Choose a file」をクリックし、ダウンロード済みソフトウェアを選択します。「Upload」をクリックして、ソフトウェアをルーターへアップロードします。
- インストールしたいアップロード済みソフトウェアの「Install」ボタンをクリックします。
- NetCommルーターを再起動します。
インストール後、エージェントが自動起動し、その後、ルーターを Things Cloud に登録可能となります。その後のアップグレードまたはダウングレードは、エージェントのソフトウェアマネジメント機能を介して遠隔操作により、またはルーターのWebポータル経由でローカルに行うことができます。
エージェントの用法
エージェントの用法について詳しくは、NetComm Agentユーザーガイドをご覧ください。