SmartMesh IPユーザー・ガイド

SmartMesh IP ユーザー・ガイド
SmartMesh IP ユーザー・ガイド
1/43
1 目次
1 本書について...................................................................................................................................................... 4
1.1 関連文書.................................................................................................................................................... 4
1.2 使用される表記規則 ................................................................................................................................... 6
1.3 改訂履歴.................................................................................................................................................... 6
2 SmartMesh 用語集 ............................................................................................................................................. 7
3 SmartMesh IP ネットワーク............................................................................................................................... 11
3.1 はじめに .................................................................................................................................................. 11
3.1.1 ネットワークの概要........................................................................................................................ 11
3.1.2
SmartMesh IP について................................................................................................................ 13
3.2 ネットワーク形成 ...................................................................................................................................... 15
3.3 帯域幅とレイテンシ .................................................................................................................................. 16
3.3.1
NumParents パラメータ................................................................................................................ 16
3.3.2
BWMult パラメータ....................................................................................................................... 16
3.3.3
BaseBW パラメータ...................................................................................................................... 17
3.3.4
サービス ...................................................................................................................................... 17
3.3.5 カスケード・リンク......................................................................................................................... 17
3.3.6 低レイテンシのバックボーン .......................................................................................................... 18
3.3.7 ノーマル / 高速ダウンストリーム・モード.......................................................................................... 18
3.4 データ・トラフィック .................................................................................................................................. 19
3.4.1 シリアル接続の「ゲートウェイ」アプリケーション ............................................................................... 19
3.4.2
エンド・ツー・エンド IP .................................................................................................................. 20
3.5 ネットワーク・セキュリティ......................................................................................................................... 21
3.5.1 セキュリティ層 .............................................................................................................................. 21
3.5.2 セキュリティ・モード ...................................................................................................................... 22
4 SmartMesh IP マネージャ................................................................................................................................. 23
4.1 はじめに .................................................................................................................................................. 23
4.1.1 マネージャ・クライアント・アプリケーション設計の手順 .................................................................... 23
4.2 マネージャへのアクセス ............................................................................................................................ 24
4.2.1 コマンド・ライン・インタフェース(CLI).......................................................................................... 24
4.2.2 アプリケーション・プログラミング・インタフェース(API).................................................................. 24
4.3 設定と使用法 ........................................................................................................................................... 25
4.3.1 ネットワーク ID .............................................................................................................................. 25
4.3.2 ネットワーク時間 ........................................................................................................................... 25
4.3.3 モートとの通信 ............................................................................................................................. 26
4.3.4 ライセンス .................................................................................................................................... 26
4.4 ネットワーク・アクティビティ ...................................................................................................................... 27
4.4.1 ネットワークの構造と形成 .............................................................................................................. 27
4.4.2 ネットワークの健全性 .................................................................................................................... 27
4.4.3 健全性レポート ............................................................................................................................. 29
4.4.4 最適化 ......................................................................................................................................... 29
4.5 アクセス制御 ............................................................................................................................................ 29
4.5.1
ACL 管理...................................................................................................................................... 29
4.6 無線プログラミング(OTAP)...................................................................................................................... 30
4.7 マネージャの工場出荷時デフォルト設定の復元 ........................................................................................... 31
SmartMesh IP ユーザー・ガイド
2/43
5 SmartMesh IP モート ....................................................................................................................................... 32
5.1 はじめに .................................................................................................................................................. 32
5.1.1 モート設計の手順.......................................................................................................................... 32
5.2 モート状態マシン ..................................................................................................................................... 33
5.3 参加 ........................................................................................................................................................ 34
5.3.1 プログラムからの参加 ................................................................................................................... 34
5.3.2 自動参加 ...................................................................................................................................... 35
5.3.3 隣接ネットワークへの参加.............................................................................................................. 36
5.4 サービス .................................................................................................................................................. 36
5.4.1 帯域幅の要求 ............................................................................................................................... 36
5.4.2 バック・オフのメカニズム .............................................................................................................. 37
5.5 通信 ........................................................................................................................................................ 38
5.5.1 ソケット........................................................................................................................................ 38
5.5.2
UDP ポート割り当て ...................................................................................................................... 38
5.5.3
データの送信と受信 ...................................................................................................................... 39
5.6 イベントとアラーム ................................................................................................................................... 39
5.7 工場出荷時のデフォルト設定 ..................................................................................................................... 39
5.8 電力に関する考察 ..................................................................................................................................... 40
5.8.1 電源情報 ...................................................................................................................................... 40
5.8.2 ルーティング・モード ..................................................................................................................... 40
5.8.3 ジョイン・デューティ・サイクル ....................................................................................................... 41
5.9 マスタとスレーブ ...................................................................................................................................... 41
5.9.1
モード動作 ................................................................................................................................... 41
SmartMesh IP ユーザー・ガイド
3/43
1 本書について
1.1 関連文書
SmartMesh IP ネットワーク向けに、以下の文書が用意されています。
Starter Kit のクイック・ガイド
• SmartMesh IP Easy Start Guide―基本的なインストールとネットワークが稼動していることを確認するために必要
なテストをいくつか説明します。
• SmartMesh IP Tools Guide―「インストール」のセクションには、シリアル・ドライバのインストールについての説明、
および Easy Start Guide や他のチュートリアルで使用されるプログラム例が記載されています。
ユーザー・ガイド
• SmartMesh IP ユーザー・ガイド―ネットワークの概念について説明し、モートおよびマネージャ API を活用してデー
タ送信や統計データの収集などを実施する方法について説明します。本書では API ガイドを使用するために必要な
予備知識を提供します。
デバイス間の対話用インタフェース
• SmartMesh IP Manager CLI Guide―本書は、クライアント・ソフトウエアの開発やトラブルシューティングの際に、
マネージャをコマンドラインで制御するための CLI とそのコマンド・セットについて説明します。
• SmartMesh IP Manager API Guide―本書は、ホスト・アプリケーションからマネージャを制御するための API とそ
のコマンド・セットについて説明します。
• SmartMesh IP Mote CLI Guide―本書は、センサ・アプリケーションの開発やトラブルシューティングの際にモート
をコマンドラインで制御するための CLI とそのコマンド・セットについて説明します。
• SmartMesh IP Mote API Guide―本書は、センサ・アプリケーションからモートを制御するための API とそのコマ
ンド・セットについて説明します。
ソフトウェア開発ツール
• SmartMesh IP Tools Guide―SmartMesh SDK に含まれる開発支援ツールについて説明します。これには、モー
ト API やマネージャ API の実行およびネットワークの視覚化のためのツールが含まれます。
アプリケーション・ノート
• SmartMesh IP Application Notes―SmartMesh IP ネットワ ークの 構 築 に 関 するトピックお よ び 一 般 的 に
SmartMesh ネットワークに関連したトピックについて説明します。
新規設計に役立つ文書
• LTC5800-IPM SoC およびそれに基づくモジュールのデータシート。
• LTC5800-IPR SoC およびそれに基づく埋め込みマネージャのデータシート。
• モート / マネージャ SoC またはモジュール用 Hardware Integration Guide―SoC またはモジュールを組み込んだ
設計を行う際のベスト・プラクティスについて説明します。
SmartMesh IP ユーザー・ガイド
4/43
• 埋め込みマネージャ用 Hardware Integration Guide―埋め込みマネージャを組み込んだ設計を行う際のベスト・プ
ラクティスについて説明します。
• Board Specific Integration Guide―SoC モートおよびマネージャ用に、デフォルトの IO 構成および「ヒューズ表」
を用いた水晶振動子調整情報の設定方法について説明します。
• Hardware Integration Application Notes―SoC 設計チェック・リスト、アンテナ選択ガイドなどが含まれます。
• ESP Programmer Guide―デバイス上でファームウェアをプログラムするために使用される DC9010 Programmer
Board および ESP ソフトウェアのガイド。
• ESP ソフトウェア―モートまたはモジュールにファームウェア・イメージを書き込むために使用されます。
• Fuse Table ソフトウェア―Board Specific Integration Guide で説明されているヒューズ表を構築するために使用
されます。
その他の役立つ文書
• SmartMesh 文書で使用される無線ネットワークの用語集は、SmartMesh IP ユーザー・ガイドにあります。
• よくある質問の一覧
SmartMesh IP ユーザー・ガイド
5/43
1.2 使用される表記規則
本書では、以下の表記規則が使用されます。
コンピュータ・タイプは、URL の指定など、ユーザーが入力する情報を示します。
太字は、ボタン、フィールド、メニュー・コマンド、およびデバイスの状態とモードを示します。
斜体 は、新しい用語の紹介および API とそのパラメータへの参照のために使用されます。
ヒントは、製品に関する有用な情報を提供します。
情報テキストは、背景およびコンテキストに関する追加情報を提供します。
注意は、概念に関するより詳細な情報を提供します。
警告 ! 警告は、データの損失やハードウェアまたは人体に物理的損傷を引き起こす可能性がある行動について通知
します。
コード・ブロックは、コード例を表示します。
1.3 改訂履歴
リビジョン
日付
説明
1
07/17/2012
初期リリース
2
03/18/2013
多数の小規模な変更
SmartMesh IP ユーザー・ガイド
6/43
2 SmartMesh 用語集
アクセス・ポイント(または AP)―無線ネットワークと有線ネットワークの橋渡しをするデバイス。無線 MAC パケットから有
線 Net パケットへの変換、またはその逆を行います。
確認応答(または ACK)―パケットの受信に対して送信されるフレーム。そのパケットが正しく受信されたこと確認します。
ACK には、パケット受信者と送信者の時間差が含まれます。
通知―他のデバイスがネットワークと同期できるようにするために送信され、新しいモートが参加するために必要なリンク
情報を含むフレーム。
ASN― 絶 対スロット番 号(Absolute Slot Number)。ネットワークの 開 始(WirelessHART)、また は 2002 年 7 月 2 日
20:00:00 UTC(ネットワークを開始する前に UTC が設定される場合は IP)から経過したタイムスロットの数。
認証―受信したパケットが改変されていないこと、および要求元のネット層の送信者から発信されたものであることを確認
する暗号プロセス。
バックボーン―モートが高速スーパーフレームを共有して、低レイテンシ・アラーム・トラフィックを利用できるようにする
SmartMesh ネットワークの機能。
帯域幅―データを送信するためのモートのデータ転送容量。通常はパケット / 秒単位。
ベース帯域幅―ネットワーク内の各モートが、サービスを要求しなくても予め得られる帯域幅。
CCM*―CBC-MAC 付きカウンタ・モード(Counter mode with CBC-MAC)。Dust 製品で使用される認証 / 暗号化方式。
詳細は、アプリケーション・ノート「SmartMesh Security」を参照してください。
チャネル―PHY が使用する中心周波数のリストのインデックス。802.15.4では、2.4 ∼ 2.4835GHz の産業科学医学用(ISM)
バンドに 16 チャネルあります。
チャネル・ホッピング―スロット間のチャネル変更。Bluetooth など、メッセージ内でチャネルを変更する PHY のホッピング
と区別するために「スロー・ホップ」とも呼ばれます。
チャネル・オフセット―この ASN で使用するチャネルを選択するためにチャネル計算機能で使用されるリンク固有の数値。
子―他のモートから時間情報を受信するデバイスはそのモートの子です。子は、その親を通してデータを転送します。
CSMA―搬送波感知多重アクセス(Carrier Sense Multiple Access)。非同期の送信機が、送信を行う前に他の送信機が
送信しているかどうかを事前に感知する通信アーキテクチャ。
コミッショニング―一般的に、ネットワーク ID、ジョイン・キー、およびその他の結合パラメータを設定することにより、ネット
ワークへの参加に向けてモートを起動すること。
探索―モートが近隣にあるモート、あるいはアクセス・ポイントを探し、その情報をマネージャに報告するプロセス。
ダウンストリーム―マネージャまたは有線側のアプリケーションからメッシュ・ネットワークへの方向。
暗号化―対象の受信者だけがペイロード情報を解読できるように、ランダム・ノイズと区別ができない形式に変換する暗号
プロセス。
SmartMesh IP ユーザー・ガイド
7/43
フレーム(またはパケット)―PHY 層により送信される情報。通常は、ホップごと(MAC)やエンド・ツー・エンド(Net)の層
のヘッダ、およびペイロードを含みます。
ゲートウェイ―WirelessHART メッシュ・ネットワークから有線 HART データ・モデルを抽出する WirelessHART ネットワー
ク内のデバイス。
グラフ―各パケットの送信先をモートに知らせる WirelessHART ネットおよび IP メッシュ層ヘッダに含まれる、番号付きルー
ティング要素。スーパーフレームとスロットフレームにもグラフ ID があります。
グラフ・ルート―グラフ ID のみがパケット・ヘッダに指定されているルート。パケットは、複数のモートを通ってその着信先
までグラフ・ルートを辿ります。ソース・ルートと比較してください。
ガード時間―デバイスの同期が不完全なモート間での通信を可能にするために、予想されるパケット到着時間の前または
後で、デバイスが受信する時間。
健全性レポート―モートが、その内部の状態および近隣パスの品質を伝達するために送信するパケット。健全性レポートは、
マネージャがネットワークの最適化に使用します。
アイドル・リスン―受信デバイスはパケットを受信するためにウェイクアップしているが、送信デバイスがパケットを送信して
いないスロット。一般的なネットワークにおいて、全ての受信スロットのうち 2/3 がアイドル・リスンになります。
ジョイン(参加)―新しいモートをネットワークに組み入れるためにモートとマネージャの間で行われる一連のハンドシェイ
ク。最初にモートが暗号化された要求を提出し、リンクおよび実行時のセキュリティ資格が割り当てられて終了します。
キープ・アライブ―データがパス上で送信されていない状態においても、デバイス間の同期を保つために一定時間に一度
送信される空のパケット。このタイムアウト時間は、通常 WirelessHART で 30 秒、SmartMesh IP で 15 秒です。
レイテンシ―パケットが生成された時間と最終着信先に到着した時間の差。
リーフ―現在、アップストリームの RX リンクがなく、したがって子がないモート。リーフ・ノードまたはリーフ・モートとも呼
ばれます。
低消費電力ボーダー・ルーター(LBR)―6LowPAN(IPv6 for Low power Wireless Personal Area Networks、RFC
4944)パケットを IPv6 パケットに変換する論理または物理デバイス。エッジ・ルーターとも呼ばれます。
MAC―メディア・アクセス制御(Medium Access Control)層。技術的には、データ・リンク層(OSI 層の第 2 層)の副層だが、
通常 Dust 文書では同じ意味で使用されます。
マネージャ―ネットワークの確立と保守を担当するデバイスまたはプロセス。
マスタ(モード)―モートの動作モードのひとつ。モートは設定されたネットワークに自動的に参加しようとします。このモー
ドではシリアル API が無効になり、常駐アプリケーションからオンボード I/O の一部を制御できます。
メッシュ―各モートが 1 つまたは複数のモートに接続されるネットワーク・トポロジ。
モート―フィールド・デバイスがセンサまたは他のデータを送信するために、無線通信を提供するデバイス。ネットワークを
構築するための基本ブロック。
マルチホップ―1 つまたは複数のモートがアクセス・ポイントへの直接のパスを持たないようなネットワーク。データ・パケッ
トは、送信元から送信先まで複数のホップを経由する場合があります。
SmartMesh IP ユーザー・ガイド
8/43
マルチパス―複数の反射信号の重ね合わせからなる無線信号。マルチパス・フェージングなど、わずかな環境の違いで信号
レベルが大幅に変化する現象を説明するために使用されます。
NACK―パケットの受信に際して送信される特別な ACK フレーム。パケットは正しく受信されたが、転送することは拒否さ
れたことを示します。
近隣―当該モートの無線伝搬範囲内にあるモート。
非ルーティング―他のモートの参加を促すための通知をしないように設定されているモート。非ルーティング・モートは、子
を作ることはなく、子からのパケットを受け取って転送することはありません。
最適化―ネットワークの全てのモートから健全性レポートのパケットを受信し、そこに含まれる情報を利用して、エネルギー
消費量とレイテンシが最小になるようにネットワークを再構築し続けるマネージャのプロセス。
パケット―フレームとも呼ばれる、可変サイズのデータ転送単位。
親(または時間親)―時間同期の際の基準として機能するデバイス。Dust ネットワークでは、モートの親は、アクセス・ポイ
ントに近い方のモートです。親は、子のデータをマネージャに転送します。
パス―2 つのモート間で取ることが可能な接続の組み合わせです。リンクを割り当てられているパスは、使用中のパスであり、
検出されたがリンクを割り当てられていないパスは、未使用のパスです。
パス安定性―2 つのモート間で通信したパケットの数と確認応答を受けたパケットの数の比率。2 つのモートは、 A->B およ
び B->A の両方向のパス安定性のカウントを保持します。2 つの方向でパス安定性が大幅に異なるパスは、非対称のパスと
呼ばれます。
パイプ―1 つのターゲット・モートとの間でレイテンシの低い高速な送受信を可能にする SmartMesh WirelessHART ネッ
トワークの機能。
プロビジョニング―リンクの接続安定性が悪い場合のことを想定して、冗長性を持たせるために、モートが生成するパケッ
ト毎にマネージャが割り当てるリンクの数。デフォルトのプロビジョニングは 3x です。これは、モートがパケットを待ち受け
キューに追加する前に、パケットが正常に送信されるチャンスが平均 3 回あることを意味します。
発行レート(バースト・レート)―モート・アプリケーションがアップストリーム・データを送信する頻度。WirelessHART では、
バースト・レートという用語は発行レートと同じです。
PHY―無線機などの物理層。
信頼性―生成されたパケット数に対して、正しく受信されたパケット数の比率。
ルート―送信元と送信先の間でパケットが通過するモート。例えば、モート3 からのパケットはルート3-2-6-AP を使用します。
アップストリームで使用されるグラフ・ルーティングのため、同一のモートでのパケット発信はランダムにさまざまなルート
を取ります。
スケジュール―特定の目的のために設定される、ネットワーク内のスーパーフレームとリンクの集まり。
サービス(またはタイムテーブル)―タスクが必要とする帯域幅を要求して、それに対する割り当てを受け取る、または拒否さ
れるプロセス。
SmartMesh IP ユーザー・ガイド
9/43
スレーブ(モード)―モートの動作モードの一つ。センサ・アプリケーションは、API を用いてモートがネットワークに参加す
るように指示する必要があります。
スロットフレームまたはスーパーフレーム―特定の繰り返し周期を持ち、グラフ ID のラベルが付けられたタイムスロットの集
まり。
ソース・ルート―パケット・ヘッダに送信元と送信先の間のホップが全て明示的に指定されているルート。Dust ネットワーク
は、ダウンストリーム・パケットにはソース・ルーティングのみを使用します。
スター―ネットワーク・トポロジの一つ。全てのモートは、アクセス・ポイント(ZigBee における PAN コーディネータ)へ接
続されているだけであり、ルーティング機能を持ちません。
スター・メッシュ―ネットワーク・トポロジの一つ。モートはルーターを中心とするスターを構成します。ルーターは 1 つまた
は複数の近隣との間でメッシュを構成し、それを通してデータを転送します。
統計情報―モートからの健全性レポートから抽出された、ネットワーク・トポロジとその性能に関する情報。
TDMA―時分割多重アクセス(Time Division Multiple Access)。パケット化された情報の交換が、1 組のデバイスに明示
的に割り当てられたタイムスロットおよびチャネル・オフセットでのみ発生する通信アーキテクチャ。
タイムスロット―1 組のモートが最も長いパケットを送信して、その確認応答を受け取るために十分な長さの決められた時間
幅。ネットワーク内の時間は同期したタイムスロットに分割されます。
アップストリーム―メッシュ・ネットワークからマネージャまたは有線側のアプリケーションへの方向。
ZigBee―単一チャネルの CSMA ネットワーク・プロトコル。
SmartMesh IP ユーザー・ガイド
10/43
3 SmartMesh IP ネットワーク
3.1 はじめに
ネットワーク・ユーザー・ガイドは、ネットワークとデバイスの動作と機能に関する重要な内容を、高いレベルで説明するこ
とを目的としています。この中で参照する API の詳細な内容については、各 SmartMesh IP のマネージャ・ガイドおよびモー
ト・ガイドをご覧ください。
3.1.1 ネットワークの概要
SmartMesh® ネットワークは、自動的にマルチホッピングのネットワークを構築して、データを収集しそれを中継するモート
と呼ばれるノード群と、ネットワーク全体の性能とセキュリティを管理し、ホスト・アプリケーションとの間でデータを交換す
るネットワーク・マネージャで構成されます。
SmartMesh ネットワークは、リニアテクノロジーの Dust Networks グループが開発した、タイム・スロット・チャネル・ホッ
ピング(TSCH:Time Slotted Channel Hopping)リンク層を使って通信します。TSCH ネットワークでは、ネットワーク内
の全モートが 1 ミリ秒以下で同期されます。ネットワーク内の時間は、タイムスロットとして管理されています。これにより、
衝突のないパケット交換と送信毎のチャネル・ホッピングが可能になります。SmartMesh ネットワークでは、各デバイスに、
干渉、物理的遮断、またはマルチパス・フェージングによる通信の中断を克服するための冗長パス を提供する 1 つまたは複
数の親 があります(例えば、モート3 には、その親としてモート1とモート2 があります)。パケット送信があるパス で失敗すると、
次回の再送信は異なるパスおよび異なるチャネルで行われます。十分な冗長性を持ったネットワークを構築するためには、
単純な配置ガイドラインに従うだけで構いません。これは、アプリケーション・ノート「Planning a Deployment」に記載さ
れています。
SmartMesh IP ユーザー・ガイド
11/43
ネットワーク・マネージャが内蔵のアクセス・ポイント無線機から、デバイスがネットワークに参加するために必要な情報を
含む通知 パケットの送信を行うことにより、ネットワークの形成が開始します。この際のメッセージ交換は、マネージャやアプ
リケーションとの間で暗号化された通信を確立するセキュリティ・ハンドシェイクの一部でもあります。モートがネットワーク
に参加した後は、パケットの確認のたびに時間を修正することにより同期を維持します。
検出 プロセスを継続することにより、ネットワークは無線の状態が変化すると新しいパスを継続して検出できます。更に、ネッ
トワーク内の各モートは、使用中のパスの通信品質や代替パスのリストなどの統計情報を含んだ健全性レポートと呼ばれる
パケットを定期的にネットワーク・マネージャに送信します。ネットワーク・マネージャは、健全性レポートを使ってネットワー
クを継続して最適化し、最も過酷な無線環境でも 99.999% を越えるデータの信頼性を維持します。
TSCH を使用することにより、SmartMesh のデバイスはスケジュールされた通信の合間にスリープ状態になり、この状態で
は消費電力を非常に少なく抑えることが可能です。モートは、送信または受信するようスケジュールされたタイムスロットで
のみ動作するため、通常でのデューティ・サイクルは 1% 未満になります。ネットワーク・マネージャの最適化ソフトウェアは、
このスケジュールを自動的に管理します。Eterna 低消費電力無線 IC を用いた SmartMesh ネットワークにおける全てのモー
トは、頻繁にルーティングを行うものでも、数年間バッテリで稼動できます。デフォルトの設定では、ネットワーク内の全て
のモートが他のモートからのトラフィックをルーティングできるようになっています。これにより、ルーターとそれに接続され
る非ルーティング・ノードの配置関係を考える必要がなくなり、配置計画が大幅に簡略化されます。また、特定のモートの消
費電力を更に大幅に下げるために、あるモートを非ルーティング に設定することもでき、これによりいろいろなネットワーク・
トポロジを構築することができます。
SmartMesh IP ユーザー・ガイド
12/43
SmartMesh のモートとネットワーク・マネージャを構成する際の中心となるデバイスは、Eterna IEEE 802.15.4e Systemon-Chip(SoC)です。この IC には、高度に集積、統合された低消費電力無線回路および SmartMesh ネットワーキング・ソ
フトウェアを実行する ARM® Cortex™ -M3 32 ビット・マイクロプロセッサを搭載しています。SmartMesh ソフトウェアは
完全にコンパイルされた状態で供給され、ホスト・アプリケーションがネットワークを制御するためのアプリケーション・プ
ログラミング・インタフェース(API)が提供されています。API には、デバイスへのデータ送信、各モートのデータ発行頻度
の設定、ネットワークの状態や性能の状況監視などの豊富な機能が用意されています。データ発行頻度については、ネット
ワーク全体で共通の値に設定することもできますし、各モートの必要とするデータ転送量に合わせて頻度を下げることや、ま
たは 1 秒当たり1 回以上の速さに設定することもできます。
3.1.2 SmartMesh IP について
SmartMesh IP は、信頼性と超低消費電力を両立させたインターネット・プロトコル(IP)層と物理層(PHY)を備え、広い
範囲の応用分野に、堅牢で標準規格に準拠した、配置計画の容易なソリューションを提供します。リニアテクノロジーの
Eterna™ 802.15.4e SoC を用いることにより、SmartMesh IP ネットワーク内の全てのノードは、バッテリで 10 年間、環境
発電でほぼ永久的に稼働します。任意の場所にケーブル配線なしでセンサを置けるため、現場担当者の工数を削減し、イン
フラ利用者の利便性を下げることなくネットワークを設置できます。メッシュ・ネットワークの自動的形成と自己修復を可能
にするアルゴリズムにより、SmartMesh IP システムは、無線技術の専門知識を持たない現場担当者でも容易に設置できま
す。SmartMesh IP ネットワークは、少なくとも 1 つの SmartMesh マネージャ、および組み込み SmartMesh Eterna チップ
を含む最大 32 台または 100 台(外部 RAM を装備したマネージャ上)のデバイスで構成されます。各マネージャは、24 パケッ
ト / 秒または 36 パケット / 秒(外部 RAM 使用時)の総データ量をサポートします。より大きい規模のネットワークを実現する
ため、またはより多くのデータ量が必要な場合には、オーバラップした多重ネットワークも容易に構築することができます。
SmartMesh IP ユーザー・ガイド
13/43
SmartMesh IP Starter Kit(DC9021A)は、総務省の技適を取得済みの 1 つの SmartMesh マネージャと 5 つのモートで構
成されています。キットで提供される Windows ベースのグラフィカル・ユーザー・インタフェースである Stargazer を使って、
PC からネットワークを構成し管理することができます。このキットに含まれるモートは、スタンドアロンで動作可能なマスタ・
モードで出荷されます。このモートには、自動的にネットワークに参加し、内蔵センサの値を読み取ることができるサンプル・
アプリケーションが搭載されています。量産時のデバイスのデフォルト設定であるスレーブ・モードは、センサ・プロセッサ
がAPIを用いてモートを制御するアプリケーションを想定しています。詳細は、本ガイドの「モート」のセクションで説明します。
SmartMesh IP ネットワーク
SmartMesh IP の機能
SmartMesh IP システムには、以下の機能があります。
• 超低消費電力ネットワーク―ネットワークは、バッテリ、環境発電、またはライン給電で動作できます。
• ネットワークの高信頼性―過酷な無線環境でも 99.999% を越えるネットワークの信頼性を誇ります。
• IPv6 アドレス指定可能―6LoWPAN を IEEE 802.15.4e と組み合わせています。
• 低レイテンシ・モード―ライン給電によるバックボーンを活用することによって、通信頻度の低いネットワークにおい
てレイテンシを大幅に下げることができます。
• 包括的なセキュリティ管理―応用分野が必要とするセキュリティを持ったネットワークを構成できます。
「SmartMesh IP ネットワーク・ユーザー・ガイド」は、ネットワークの重要な動作および機能を、高いレベルで説明すること
「SmartMesh IP Manager API Guide」または「SmartMesh
を目的としています。ここで参照する API の詳細については、
IP Mote API Guide」をご覧ください。
SmartMesh IP ユーザー・ガイド
14/43
3.2 ネットワーク形成
モートがネットワークに参加する場合、既にネットワークにあるモートまたはアクセス・ポイント(AP)からの通知 を受信する
ことにより、ネットワーク内の他のデバイスと時間同期する必要があります。マネージャが AP に通知を送信するように指示
すると、ネットワークの構築が始まります。モートは AP からの通知を受信して参加した後、自分自身からも通知の送信を始
めます。このプロセスは、他の全てのモートがネットワークに参加するまで、繰り返されます。通知は、同期とリンク情報を含
む IEEE 802.15.4e Beacon フレームです。通知には新しいデバイスの時間同期に加えて、新しいデバイスがネットワークへ
の参加要求をいつ送信すればよいのか、またそれに対する回答をいつ受信すればよいのかが指定されています。これによ
り、新しいモートに暫定的なリンクが割り当てられます。この暫定リンクは、そのモートがマネージャから正式なリンクを割り
当てられるまでの間使用されます。
SmartMesh IP ネットワークでは、サクセス・ポイントによる通知は起動時に自動的に、または startNetwork API により明
示的に発生します。起動動作は、autostart 不揮発性設定パラメータを介して設定されます。SmartMesh IP マネージャは、
256 のスロットフレーム当たりに 4 回、平均で 500 ミリ秒ごとに 1 回通知します。AP の無線範囲内にあるモートは、これらの
通知の 1 つを受信した後で参加します。5% のデューティ・サイクルおよび一般的な 80% のパス安定性での1ホップ・モー
トの平均同期時間は、次のようになります。
Synch time ‌
= adv rate per device * #channels / (#advertisers * path stability * join duty cycle)
= 0.5 s * 15 / (1 * 0.8 * 0.05)
= 188 s
モートのジョイン・デューティ・サイクルは、joinDutyCycle モート・パラメータで設定できます。100% のデューティ・サイク
ルを設定した場合の平均同期時間は、10 秒未満になります。より高いデューティ・サイクルを設定すると、モートの消費電力
は増えますが、より早く同期できるようになります。ネットワークに 1 ホップ・モートがたくさんある場合には、低いデューティ・
サイクルを設定しても平均同期時間が大幅に長くなることはありません。消費電力が非常に厳しく制限されたアプリケーショ
ンの場合、デューティ・サイクルは 0.5% 程度に設定することもできます。
同期後、モートは、他のモートからの通知を受け取ることを目的に受信を続けながら、1 スロットフレームの間待機します。
モートはその後それの持つ電源容量とルーティング能力に関する情報、および待機中に受信した近隣のモートのリストから
なるジョイン要求を送信します。このメッセージ交換は、マネージャやアプリケーション、モートの間で暗号化された通信を
確立するためのセキュリティ・ハンドシェイクの一部を構成し、共有の秘密ジョイン・キーを使って暗号化されます。マネー
ジャは、実行時 MAC 層認証キー、マネージャへのセッション、これ以降の全ての通信にモートが使用するショート・アドレス、
およびマネージャへのルートを知らせます。さらにパケットをやり取りすることによって、ブロードキャスト・セッションを開く
ためのルート、スロットフレームおよびリンクを割り当て、時間親を設定します。この際、WirelessHART とは異なり、暫定リ
ンクから正式なリンクに移行するように指示するアクティベート・コマンドを送信します。
この時点で、デバイスはデータ発行用に追加の帯域幅を要求することができるようになります。完全にネットワークに参加し
たモートは、マネージャの指示に従って通知を出力します。このように、ネットワークは、AP、1 ホップ・モート、2 ホップ・モー
トという順に、内から外へ構成されていきます。モートが参加するためにマネージャの無線範囲にある必要はありません。
ネットワークに含まれたいくつかのモートの無線範囲内にあれば大丈夫です。
検出 プロセスが継続して行われます。決められた検出間隔に従っ
参加する途中にモートが近隣モートを受信するだけでなく、
て、1 つのモートが送信し、その時間に他のモートは受信します。モートは、それが受信した近隣モートの情報を、定期的な
健全性レポートでマネージャに伝えます。この仕組みにより、マネージャはネットワークの最適化に必要なパスの品質に関
する情報を継続して集めることができます。
SmartMesh IP ユーザー・ガイド
15/43
3.3 帯域幅とレイテンシ
各モートが取得できるアップストリーム・リンクの数に影響を与える設定可能なパラメータは複数あります。これらは相互に
関連を持つ場合があります。システムは、多数のノードからなるネットワークを柔軟に構築でき、電池駆動でも長期間稼働で
きる超低消費電力を実現できるように設計されています。ネットワークの全てのモートで同じ量のデータ生成を行う場合に
は、マネージャで basebw パラメータを使用して基本の帯域幅を割り当てることを推奨します。モートごとに要求が異なる場
合には、各モート上でサービス・モデルを個別に使用することを推奨します。それ以外のパラメータについては、特別な場
合以外にはデフォルト値から変えないことを推奨します。他の制約に関わらず、全てのデバイスに少なくとも 2 つのアップス
トリーム・リンクが与えられ、これはモートが一つの親のみを持つ場合も同じです。
一般的にモートのリンクを増やすことには次の効果があります。
• レイテンシの低下
• パケット / 秒のスループットの増加
• 消費電力の増加
モートに割り当てられた全ての帯域幅を実際に使用する必要はありません。低いレイテンシが要求されるアプリケーション
では、実際に必要となる帯域幅よりも多くの帯域幅を要求することにより、アップストリームのレイテンシを下げることができ
ます。パス安定性には不確実性が伴うため、ネットワークはレイテンシの上限を保証しません。場合によっては、以下で述べ
る低レイテンシのバックボーンを使用できることもあります。
3.3.1 NumParents パラメータ
マネージャの numParents パラメータ(デフォルト = 2)は、モート毎に持つことが望ましい親の数を設定します。このパラ
メータはネットワーク全体に適用されます。2 に設定すると、タイミングとデータ・ループを避けるために、常に一つのモー
トだけ単一の親を持ちます。同様に、3 に設定すると、常に一つの親を持つモートと二つの親を持つモートが一つずつでき
ます。ネットワークを最適化する際に、マネージャは、一部のモートに対して新しい親へのリンクをテストするため、一時的
に numParents の値よりも多くの親を持たせる場合があります。劣悪な環境により頻繁にパス障害が発生するようなネット
ワークの場合、numParents を 3 または 4 に設定することにより、消費電力の増加と引き換えに切断の可能性を引き下げる
ことができます。
3.3.2 BWMult パラメータ
マネージャのBWMult パラメータ
(デフォルト= 300%)は、ネットワークの安全マージンを設定します。このパラメータはネッ
トワーク全体に適用されます。モートが 12 秒ごとにパケットを生成するように要求し、BWMult が 300% に設定されている
場合、モートには少なくとも 4 秒当たり1 リンクが割り当てられます。大多数の Dust の実例で何年にもわたり300% という値
を使用してきて問題がないことを確認しているため、この値を 300% 未満に下げる場合には特に注意してください。300%
を使用した場合、概念的には、パス安定度 33% まで下がっても、パケット・キューが一杯になることは避けられることになり
ます。設定値を 300% より下げる場合は、マルチホップ・ネットワークで消費電力量を最小限に抑えなければならないケー
スに限るようにしてください。
SmartMesh IP ユーザー・ガイド
16/43
3.3.3 BaseBW パラメータ
マネージャの BaseBW パラメータ(デフォルト =9000 ミリ秒)は、全モートでパケットが平均的に生成される間隔です。この
パラメータはネットワーク全体に適用されます。9000 ミリ秒の設定は、全てのコマンドと診断パケットを送るのに十分であ
るだけでなく、各モートのアプリケーションが 10 秒ごとに 1 パケットを生成するためにも十分です。上記の他のパラメータ
がデフォルト設定に設定されている場合、BaseBW を 3100 ミリ秒以上に設定していれば、リンクの数はデフォルトの 2 を越
えることはありません。ネットワークの全てのモートで同じデータ生成レートの場合、BaseBW のみを使用して帯域幅の設定
を行うことを推奨します。
3.3.4 サービス
モートにより異なるデータ・レートを設定したり、動的にデータ・レートを変更する必要がある場合には、サービス・モデル
を使用する必要があります。このモデルでは、アプリケーションが希望するデータ・レートを要求する役割を持ちます。あら
かじめセンサ・プロセッサが固定のデータ・レートを要求するか、アプリケーション・メッセージを使って動的に変更する方
法が使えます。これは、必要に応じて OEM インテグレータが決めることになります。目的の送信先に対してソケットを開い
た後、センサ・プロセッサは requestService API を使用して、希望するパケット間隔と送信先を要求します。センサ・プロセッ
サは、サービス・レベルが確立または変更された時に serviceChanged 通知を受け取ります。センサ・プロセッサは、常
にどれだけの帯域幅が割り当てられているかを把握しているとともに、ネットワークが混雑した場合のバック・オフの処理を
実装していることが望ましいです。
サービスに対して要求よりも低いレベルが割り当てられる場合があります。serviceChanged 通知を受け取る以外に、セ
ンサ・プロセッサはgetServiceInfo API を使用して、保留中の要求のステータスを問い合わせることができます。センサ・
プロセッサは、必要とするサービス・レベルが割り当てられていないことをホスト側のアプリケーションに連絡することがで
きます。これらのアプリケーション・レベルのメッセージは、OEM インテグレータが必要に応じて決めます。ホスト側のアプ
リケーションも定期的にgetMoteInfo マネージャ API を使って、要求した帯域幅と割り当てられた帯域幅の差異を確認でき
ます。この情報により、サービス拒否の理由が、例えば既存の 1 ホップ・モートのリンク数が少なすぎることが問題であると
判れば、更にリピータが増設するなどの判断が可能になります。
3.3.5 カスケード・リンク
上記のパラメータは全て、モートがそれ自身のトラフィックに必要とするリンクの数を決めるためのものです。モートに子が
ある場合、ネットワーク・マネージャはその子孫全てのトラフィックを転送するために必要なリンクをそのモートに追加しま
す。この計算方式はカスケード・リンクと呼ばれます。マネージャは、そのモートへのアップストリーム RXリンクの数を調べて、
それとモート自身のトラフィックに必要なリンクの数を加算して、そのモートのアップストリーム TX リンクの数を決めます。マ
ルチホップ・ネットワークでは、ネットワーク内のトラフィックが多くない場合でも、1 ホップ・モートにはリーフ・モートより
も多くのリンクがあります。
SmartMesh IP ユーザー・ガイド
17/43
3.3.6 低レイテンシのバックボーン
SmartMesh IP ネットワークは、ライン給電のモートを含むネットワーク用に、低レイテンシのバックボーン・スーパーフレー
ムをサポートします。バックボーンは、全てのモートが共有するアップストリーム・リンクを提供する短い競合ベースのスー
パーフレームです。帯域幅が共有されるため、サービスの割り当てによる方式よりも少ない消費電力で、全てのモートが低
いレイテンシでの通信が可能です。帯域を共有することのデメリットは、複数のモートが同時に帯域を使用しようとすると、
衝突が発生し、どちらとっても効果的に使用することができなくなるということです。バックボーンは、その速度がネットワー
クの平均的なサービス・レベルよりもずっと高速な場合に効果があり、特に低いトラフィック向けに設計されたネットワーク
において、稀に起きるアラームの配信を高速に行いたい場合などに有効です。
bbmode 設定は、マネージャの不揮発性パラメータです(デフォルト = 0、オフ)。アクティブ時には、アップストリームのみ
または双方向のいずれかになります。このパラメータの変更は、ネットワークをリセットした後に有効になります。バックボー
ンの長さは、bbsize パラメータを変更することで変更できます。数字を大きくすると、スーパーフレームの時間を長くして消
費電力を節約できますが、レイテンシが増加します。
アップストリーム・バックボーンが有効な場合、電力容量が十分に大きいモートだけが、バックボーン内で子(リスン ・リンク
など)を持つことができます。全てのモートは電力容量に関係なくアップストリーム・バックボーン内で送信リンクを持ちます。
アップストリーム・バックボーンは、パケット衝突の可能性が低いような低いトラフィックの用途で、ZigBee のようなライン
給電のルーター・インフラを持つネットワークを構築して、センサ・レイテンシを最小化することを目的としています。
双方向バックボーンを有効にした場合、電力条件に関係なく全てのモートが参加するため、電池駆動のデバイスの電池がす
ぐに消耗してしまう可能性があります。全てのモートが、常に 1mA を越える電源を供給されることが保証されている場合に
のみ使用してください。
アクセス・ポイントがライン給電されていて、使用可能なリンクの 1/3 未満しか使用しておらず、バックボーンを使う用途が
他にない場合には、アップストリーム・バックボーンを有効にしておくことを推奨します。デフォルトのモート電源情報では、
モートはバックボーンの子を持つことはできないため、バックボーン RX リンクを持つデバイスはアクセス・ポイントだけと
なり、バックボーン TX リンクを持つデバイスは 1 ホップ・モートだけとなります。つまり、どのモートの電力消費も増やすこと
なく、1 ホップ・モートから AP へのレイテンシが大幅に短縮できます。全ての専用リンクは引き続き正常に動作しますし、ア
クセス・ポイントが専用リンクにサービスを提供していない時は、1 ホップ・モートからの受信を続けます。アクセス・ポイン
トがライン給電されている場合には、この方法にデメリットはありません。
3.3.7 ノーマル / 高速ダウンストリーム・モード
主にセンサ・データ収集のために使用されるネットワークでは、ネットワークの形成時には大量のダウンストリーム制御トラ
フィックが発生し、通常の稼動中は最適化と修復のための少ないトラフィックしか発生しない傾向があります。SmartMesh
IP マネージャは、
「高速」ダウンストリームのフレーム構築フェーズと「ノーマル」ダウンストリームのフレーム稼動フェーズと
の間で自動的な遷移を行います。アップストリーム・フレームとダウンストリーム・フレームのデフォルトのフレーム・サイズ
は 256 スロットです。ユーザーは、 CLI を介してdnfr_mult 不揮発性「設定」パラメータ(デフォルト =1)を 2 または 4 に変更
して、
「低速」をそれぞれ 512 または 1024 スロットに増やすことができます。また、プログラムからdownFrameMultVal パ
ラメータを使ってsetNetworkConfig API を呼び出すことにより、変更することもできます。これにより、モートの平均電流
はそれぞれ約 4µA と 8µA 下げることができます。この機能を使った場合、マネージャがネットワーク内の問題を修正する際
の速度が遅くなるため、デフォルト設定でのモート電流が許容できない場合にのみ、1 を越えるdownFrameMultVal を使用
してください。ユーザーは、SetDownstreamFrameMode コマンドを介して、マネージャにノーマルと高速のダウンストリー
ム・モード(downFrameMultVal が決定した framelength)を切り換えさせることもできます。このコマンドが実行されると、
マネージャは手動モードに切り換わり、自動的にはフレーム・サイズを変更しなくなります。
SmartMesh IP ユーザー・ガイド
18/43
3.4 データ・トラフィック
モートは、ユーザー・データに対して信頼性の低い転送(UDP)を使用しますが、データが失われる可能性があるということ
ではありません。ダウンストリームで、8 ホップ未満のモートに送信されるメッセージは、ホップ当たり複数の再試行を行う
ソース・ルーティングを使用します。この 8 ホップには AP を含まれます。8 ホップのソース・ルート制限よりも深いモートに
送信される場合、パケットが溢れてしまって送信先に到達しない可能性もあります。これが許容されない場合は、アプリケー
ション層の確認応答を使用して、確実にダウンストリームへ配信されたことを確認できます。
アップストリームで、パケットは確認応答されるまでリンク・レベルで無制限に再試行が行われます。まれに(通常 0.001%
未満)、転送のためにモートが受け入れたデータが、モートがリセットする時に失われることがあります。これが許容されな
い場合は、確認応答がダウンストリームで送信される速度(1.9 秒当たり1 回)まで発行を遅らせることになりますが、アプリ
ケーション・レベルの確認応答を使用して、全てのパケットを検証することができます。
3.4.1 シリアル接続の「ゲートウェイ」アプリケーション
マネージャに直接接続するアプリケーションは、sendData API を使って、モート上の任意の UDP ポートにパケットを送信
することができます。sendData API では、アプリケーションは送信先、ポート、およびペイロードの提供のみを担当します。
この場合の送信先アドレスはモートの EUI-64 で、その IPv6 アドレスの下位 8 バイトでもあります。API が呼び出されると、
callbackId が返されます。この callbackId は、このパケットがネットワークに送り込まれる時の packetSent 通知に含まれま
す。モートでパケットが受信されると、UDP ペイロードの他に IPv6 ソース / ポート情報を含む受信 通知が生成されます。省
略されるため、UDP チェックサム情報は含みません。
センサ・プロセッサは、モートで sendTo API を使用して、マネージャを介してゲートウェイにパケットを送信することができ
ます。これらは、モートの EUI-64 アドレス、ポート情報、タイムスタンプ、および UDP ペイロードを含む data 通知になります。
SmartMesh IP ユーザー・ガイド
19/43
3.4.2 エンド・ツー・エンド IP
IPv6 ネットワークに接続される低出力境界ルーター(LBR、
「エッジ・ルーター」と呼ばれることもある)は、メッシュおよび圧
縮された 6LowPAN ヘッダを生成し、sendIP マネージャ API を使用して通信します。sendIP API は、パケットがネットワー
クに送り込まれる時にcallbackId を返します。モートでパケットが受信されると、UDP ペイロードの他に IPv6 ソース / ポー
ト情報を含む receive 通知が生成されます。省略されるため、UDP チェックサム情報は含みません。
センサ・プロセッサは、モートで sendTo API を使用して、任意の目的地にパケットを送信します。パケットにマネージャ以
外のアドレスが指定されている場合、パケットは IP data 通知になり、モートの EUI-64 アドレスとタイムスタンプを含みます
が、UDP ペイロードに加えて 6LowPAN ヘッダが保存されます。
SmartMesh IP ユーザー・ガイド
20/43
3.5 ネットワーク・セキュリティ
3.5.1 セキュリティ層
SmartMesh ネットワーク内のパケットは全て各層で認証され、エンド・ツー・エンドで暗号化されます。
• 認証―メッセージが示された送信者からのメッセージであること、および変更または再生されていないことを確認し
ます
• 暗号化―ペイロードを秘密にしておきます
SmartMesh IP には複数のセキュリティ層があります。
• リンク層―パケットは、実行時キーと時間ベースのカウンタを使って各ホップで認証されます。これにより、同期が確
立し、マネージャによってネットワークへの参加を許可されたモートのみがメッセージを送信できるようになります。
• エンド・ツー・エンド―パケットは、実行時セッション・キーと共有カウンタを使って認証され、エンド・ツー・エンド
で暗号化されます。これにより、対象の受信者だけがメッセージを解読できるようになり(データ・プライバシー)、再
生、データ破損、または中間者攻撃を避けることができるようになります(データ・セキュリティ)。
ネットワークに参加する時、モートは、マネージャが知っている共有の秘密ジョイン・キー を使ってネットワーク・マネージャ
に参加要求 を送信します。キーの選択は、以下に説明するセキュリティ・モードにより決定されます。モートは、そのジョイン・
キーで参加要求を暗号化し、マネージャはデータ・トラフィックのエンド・ツー・エンド暗号化用セッション・キー で応答します。
これはセキュリティ・ハンドシェイクと呼ばれています。通知はリンク層の特殊な例です。新しいモートが認証できるようによ
く知られたキーで認証されます。正しいジョイン・キーを使ってモートが参加すると、そのモートはネットワーク・データを暗
号化するために使用する 4 つのセッション・キーを受け取ります。
• ネットワーク管理トラフィックに使用するモート固有のセッション・キー
• アプリケーション・トラフィックに使用するモート固有のセッション・キー
• ネットワーク管理のために全てのモートが使用するブロードキャスト・セッション・キー
• アプリケーション・トラフィックのために全てのモートが使用するブロードキャスト・セッション・キー
この 4 つのキーを使って、通常データの発行は全て、生成元のモートにより暗号化され、マネージャでのみ解読されます。盗
聴者やルーティング・モートのいずれもパケット・データを解読できません。同様に、マネージャのみが、マネージャ・コマ
ンドに対する応答を読み取ることができます。特定のモートに対するダウンストリームのコマンドが、ルーティング・モート
や非対象の受信者によって知られることはありません。ネットワーク内の全てのモートに明示的に送信されるコマンドのみ誰
もが知ることができ、適切なブロードキャスト・キーを使って解読されます。
SmartMesh IP ユーザー・ガイド
21/43
3.5.2 セキュリティ・モード
SmartMesh IP では、マネージャが参加要求を解読する方法を決定するセキュリティ・モードを選択できます。マネージャは、
次の 3 通りの方法で解読できます。
• 共通キー:最も緩いセキュリティ・モードは、共通のジョイン・キーを受け取ることです。
このモードでは、マネージャは、
ネットワーク全体で共通のジョイン・キーで暗号化された参加要求を出すモートを受け入れます。Dust Networks の
ネットワーク・マネージャは、公に知られているデフォルトのジョイン・キーおよびネットワーク ID を設定して出荷さ
れます。ネットワーク ID と共通のジョイン・キーが変更されないままであれば、セッション・キーを割り当てるパケッ
トの盗聴および解読は、困難ですが技術的には可能です。したがって、共通のジョイン・キーを秘密のジョイン・キー
に変更することを強く推奨します。
• アクセス制御リスト(ACL):マネージャは、アクセス制御リストにあるモートのみを受け入れるように設定することも
できます。マネージャは参加要求を受け取って、最初に参加するモートのシリアル番号を探し、次に関連付けられた
ジョイン・キーで要求を解読します。両手順が成功した場合、モートはネットワークに受け入れられます。ACL は全て
のモートに対して個別のジョイン・キーを設定することができます。これは最も安全なモードですが、マネージャと全
てのモートの情報を設置の前に設定する必要があるため、ネットワークの構築の準備作業に手間がかかります。これ
らのデバイスが既に正しく設定されている場合、現場担当者は何もする必要はありません。モートは通知を受信する
と参加します。ACL は共通キーで設定できます。参加できるようにするにはデバイスの MAC アドレスをマネージャ
が知っている必要があるため、共通キー単独場合と比べてセキュリティが強化されます。
• 共通キー ->ACL:共通キーでネットワークを形成し、その後 ACL を作成して、無線で各モートに一意のキーを割り当
てることもできます。
SmartMesh IP ユーザー・ガイド
22/43
4 SmartMesh IP マネージャ
4.1 はじめに
SmartMesh IP マネージャは、SmartMesh IP ネットワークの「頭脳」です。マネージャは、以下を担当します。
• キーや一時的カウンタなどのセキュリティ情報を管理しネットワークに配信します
• 常に時間同期が維持され、データ・サービス・レベルが適正となるように、全てのモートのリンク・スケジュールを決
定します
• ネットワークの状態を継続して把握するために健全性レポートを収集します
• トポロジの変更に対応します
• モートの消費電力を最小にし、トラフィックを分散するようネットワークを最適化します
• ネットワーク・ホストにユーザー・インタフェースを提供します
SmartMesh IPマネージャは、同一のデバイスに管理機能とアクセス・ポイント
(AP)機能を組み込んだ単一チップのソリュー
ションです。モジュラ LTP5902-IPR と LTP5901-IPR マネージャは、最大 32 のモートで構成されるネットワークをサポート
します。LTC5800-IPR は、それ自身で最大 32 のモートで構成されるネットワーク、または外部 RAM を追加した場合には最
大 100 のモートで構成されるネットワークをサポートします。また、外部 RAM を使用すると、より多くのメモリをリンク記憶
領域に使用できるため、アップストリームのデータ・スループットが 30% 増加します。
マネージャ
AP RXリンク数
秒当たりの AP RX 数
Pkt/s @ 3x prov
Pkt/s @ 2x prov
LTP5800/5901/5902-IPR
150
72.9
24.3
36.4
LTP5800-IPR + 外部 RAM
223
108.3
36.1
54.2
4.1.1 マネージャ・クライアント・アプリケーション設計の手順
マネージャにはネットワークを管理するために必要な多くのタスクがありますが、クライアントは比較的わずかです。最小限
のタスクは以下の通りです。
• マネージャへの接続
• ネットワーク構築の前に必要なパラメータの設定(networkID など)
• モートの状態を監視しデータを収集するための通知に加入
「SmartMesh IP Manager API Guide」は、ACL の使用を含むセキュリティの設定や、健全性レポートの通知からの詳細な
統計情報の収集など、マネージャを制御するためのコマンドについて説明します。
「SmartMesh IP Manager CLI Guide」
は、モートの状態やデータの収集を含むマネージャの活動を制御するコマンド・ライン・インタフェースの使い方について
説明します。
SmartMesh IP ユーザー・ガイド
23/43
4.2 マネージャへのアクセス
4.2.1 コマンド・ライン・インタフェース(CLI)
SmartMesh IP マネージャは、端末プログラム(PuTTY など)を通してアクセス可能なコマンド・ライン・インタフェースを
提供します。CLI は、開発の過程でユーザーがマネージャと対話することを目的としています。ネットワークID などのシステム・
パラメータは、CLI を通して設定できます。システムとネットワークのステータス情報も、このインタフェースを介して取得で
きます。CLI のアクセスは、ユーザーが変更できるユーザー名 / パスワードで保護されています。
CLI への接続と使用可能なコマンドの詳細は、
「SmartMesh IP Manager CLI Guide」を参照してください。
4.2.2 アプリケーション・プログラミング・インタフェース(API)
SmartMesh IP Manager API は、プログラムからネットワークを制御するためのインタフェースを提供します。ホスト・アプ
リケーションは API を使用してマネージャと通信します。API ポートは、115,200 ボー、8 データ・ビット、パリティなし、1 ストッ
プ・ビットで動作します。
マネージャ API を使ってマネージャと通信するためのツールがいくつかあります。
• Python Developer SDK は、API を使って一般的なタスクを実行するためのツールを提供します。
• Serial API Multiplexer(Serial Mux)を使用すると、一つまたは複数のクライアントが TCP 接続を通してマネージャ
API にアクセスできるようになります。
• Stargazer UI は、グラフィカルな無線ネットワークの表示および定期的なセンサ・データ・レポートを設定するため
のインタフェースを提供します。
API への接続と使用可能なコマンドの詳細は、
「SmartMesh IP Manager API Guide」を参照してください。
SmartMesh IP ユーザー・ガイド
24/43
4.3 設定と使用法
4.3.1 ネットワーク ID
複数のネットワークを空間的にオーバーラップして配置することは、それぞれのネットワーク(のモートとマネジャー)にそ
れぞれ異なるネットワーク ID を割り当てることにより可能になります。モートは、異なるネットワーク ID を持つモートやマ
ネージャとは通信しません。マネージャ設定に保存されたネットワーク ID は、API の setNetworkConfig または CLI の set
config コマンドにより更新できます。新しいネットワーク ID を使用するには、マネージャをリセットする必要があります。
exchangeNetworkId コマンドを使って、特定のネットワーク内にある全てのモートのネットワーク ID を変更できます。
exchangeNetworkId コマンドは、ネットワーク内にある全てのモートに新しいネットワーク ID を確実に渡します。モートが
ネットワーク ID 交換操作の確認応答に失敗した場合、そのモートはネットワークから削除されます。exchangeNetworkId
操作は、完了するまでに数分かかる場合があります。
4.3.2 ネットワーク時間
マネージャは、ネットワーク内の時間同期に責任を持ちます。デフォルトの設定では、マネージャは起動時にネットワークの
構築を自動的に開始するようになっています。UTC 時間を設定するためには、自動開始を無効にしておく必要があります。
また、アプリケーションは、setTime コマンドで時間を設定した後、ネットワークの構築を開始するstartNetwork コマンド
を発行する必要があります。ネットワークの構築が始まると、ネットワーク内の時間は、ネットワーク内の全てのデバイス上
で共通して同時にドリフトしていきます。マネージャの将来のリリースでは、ネットワーク時間は外部時間と随時同期できる
ようになります。
アプリケーションがマネージャ上の現在時刻を問い合わせる方法は 2 つあります。
1. アプリケーションが、TIME GPIO ピンをトリガします。マネージャは、トリガを検出すると、Time 通知を送信します。
2. アプリケーションが、getTime コマンドを呼び出します。マネージャは、getTime 要求を受信すると、Time 通知を送
信します。シリアル・ポート I/O とコマンド処理の遅延のため、この方法は TIME GPIO をトリガするよりも精度が劣り
ます。getTime API は、シリアル・ポート API を通してのみ通信するシステムとの互換性のために提供されます。
networkTime 通知には、マネージャの現在時刻が以下の複数の形式で含まれています。
• ASN:絶対スロット番号。ASN=0(2002 年 7 月 2 日 20:00:00 UTC)以降のスロット数。
• 稼動時間:マネージャの稼動時間(秒単位)
• Unix(UTC)時間:1970 年 1 月 1 日以来の秒とミリ秒
SmartMesh IP ユーザー・ガイド
25/43
4.3.3 モートとの通信
外部ネットワーク側のアプリケーションは、モートおよびそれと接続されたセンサ・プロセッサとの通信を担当します。アプリ
ケーションは sendData API を使ってパケットをモートに送信し、データ通知によりモートからのアップストリーム・データを
受信します。
ネットワーク内の各パケットには、送信元と送信先のアドレスとポートが含まれます。ポートは、特定サービス宛のメッセー
ジの効率的なフィルタリングを提供するために TCP/UDP で使用されます。アプリケーションでどのポートを使うかについて
は、
「SmartMesh IP ユーザー・ガイド」の「UDP ポート割り当て」のセクションを参照してください。
アップストリームAPI の使用例の詳細は、SmartMesh SDK の UpStreamとSensorDataReceiverツールを参照してください。
4.3.4 ライセンス
マネージャには、特定のオプション機能を有効にするライセンスが含まれています。マネージャ・ライセンスは、そのデバイ
スの MAC アドレスと関連つけられています。追加機能を有効にするために、CLI または API インタフェースを通してライセ
ンスを更新可能です。ライセンスを更新した後、新しい機能を使用可能にするために、マネージャをリスタートする必要があ
ります。
CLI で以下を実行します。
> set config license=00:00:00:00:00:00:00:ff:94:63:7d:32:59
ライセンスがそのデバイスに対して有効でない場合、マネージャはそのライセンスを拒否します。
ライセンス・コマンドの詳細は、
「SmartMesh IP Manager CLI Guide」および「SmartMesh IP Manager API Guide」を
参照してください。
SmartMesh IP ユーザー・ガイド
26/43
4.4 ネットワーク・アクティビティ
4.4.1 ネットワークの構造と形成
SmartMesh IP マネージャは、自動的にネットワーク管理を実行して、ネットワークの健全性を維持し、低消費電力と高信頼
性のためにネットワークを最適化します。またマネージャは、干渉、サービス要求の追加や削除、およびデバイスの追加や
削除など、パスの安定性やネットワークの状態の変化に応じてメッシュに対する変更を動的に行います。顧客アプリケーショ
ンは、ネットワークの管理面に関わる必要は全くありません。
モートがマネージャの近くで起動された場合、ほぼすぐに参加を開始します。アクセス・ポイントは平均して秒当たり2 回の
「非ルーティング」と明示的に指定されたモート
通知を行い、いったん参加したモートは 2 秒ごとに 1 回の通知を行います。
を除いて、全てのモートが通知を行います。マネージャは通知を停止しません。必要な場合は、アプリケーションはモートに
よる通知を停止することができ、モートの消費電力を下げることができます。このようなアプリケーションは、モートが紛失し
た場合にそれを検出し、再度接続するために通知を再開できる必要があります。
マネージャのネットワークに参加するために、モートはマネージャが使用するネットワーク ID を割り当てられる必要がありま
す。マネージャとモートは、セキュリティ・キーと適切なネットワーク・ルーティングを確立するために、参加プロセスにおい
て数回メッセージを交換します。モートは、参加プロセス中の数回の状態変化を経て、稼動状態になります。マネージャは、
モートがネットワークを離れたことを検出して、モートの状態を紛失に更新します。
外部アプリケーションは、イベント通知を受けることによりモートのネットワークへの参加と退出を把握できます。
4.4.2 ネットワークの健全性
モートとマネージャはそれぞれ、ネットワークとデバイスの統計情報を記録します。
以下の API コマンドを通して統計情報を照会できます。
• getNetworkInfo は、ネットワーク全体の統計情報を提供します。
• getMoteInfo は、モートとの通信から集められた統計情報を提供します。
• getManagerStatistics は、マネージャ API からの統計情報を提供します。
CLI からの show stat コマンドは、これらのコマンド全てを実行します。
SmartMesh IP ユーザー・ガイド
27/43
> show stat
Manager Statistics -------------------------------established connections: 1
dropped connections
: 0
transmit OK
: 7971
transmit error
: 0
transmit repeat
: 0
receive OK
: 40
receive error
: 0
acknowledge delay avrg : 19 msec
acknowledge delay max : 112 msec
Network Statistics -------------------------------reliability:100% (Arrived/Lost: 7998/0)
stability:
95% (Transmit/Fails: 5663/290)
latency:
1000 msec
Motes Statistics ----------------------------------
MoteReceivedLostReliabilityLatencyHops
#2
1726
0 100%
990
1.0
#3
3143
0 100%
1190
1.0
#4
3020
0 100%
800
1.0
• established connections:確立された API 接続の数
• dropped connections:破棄された API 接続の数
• transmit OK:クライアント・アプリケーションにより確認応答された API パケット(通知など)
• transmit error:確認応答されていない API パケット
• transmit repeat:再試行された API パケット(何度か再試行すると送信エラーより大きい数になり得る)
• receive OK:マネージャが確認応答した API コマンド
• receive error:マネージャが確認応答できなかった API コマンド(フレーミングや他のエラーにより)
• acknowledge delay avrg:API パケットの応答を受け取る平均時間。
• acknowledge delay max:API パケットの応答を受け取る最長時間。
• reliability :ネットワークの信頼性は、モートが生成しマネージャが正常に受信したパケットの割合として計算されま
す。健全なネットワークでは、この数字は 99.99% 以上になります。この統計情報は、パケットが入信した時にパケッ
トのセキュリティ・カウンタを監視することによって、マネージャ上でカウントされます。
• stability :ネットワーク・パスの安定性は成功した全ての MAC 送信の割合で示されます。この数字は、各モートの配
置に応じて異なります。ネットワークは、 50% の安定性でも 100% の信頼性を達成するように設計されています。安
定性の値が低い時、
より多くのパケットを再試行する必要があるため、モートはより多くの電力と帯域幅を使用します。
この統計情報は、モートから受信した健全性レポートに基づき計算されます。マネージャは新しい健全性レポートが
到着する度に、送信と失敗の合計を積算します。
• latency :マネージャが受信したパケットの平均アップストリーム・レイテンシ。マネージャは生成タイムスタンプ
(ASN)のパケット・ヘッダを確認し、これを現在の ASN と比較して、個別のパケット・レイテンシを計算します。
• Mote Statistics:モートの統計情報には、そのモートに関わるネットワーク統計情報の内訳が示されます。ネットワー
ク全体について示される統計情報に加えて、アップストリーム・パケットがモートからマネージャまでに経由したホッ
プの平均数も出力されます。これは、各ホップで1ずつ減るメッシュ・ヘッダの TTL フィールドを用いて計算されます。
マネージャの統計情報は、clearStatistics API または CLI の exec clearStat コマンドを使ってリセットできます。
SmartMesh IP ユーザー・ガイド
28/43
4.4.3 健全性レポート
モートは、健全性レポートでマネージャに統計情報を定期的にレポートします。マネージャは健全性レポートを使って、ネッ
トワークを最適化するために、モートの近隣の状態、およびパスの安定性を判断します。マネージャは、いくつかの統計情
報を累積しますが、個別の健全性レポートは保存しません。
健全性レポートは API の通知として受信できるため、マネージャに接続された外部アプリケーションは、健全性レポートの
通知に加入し、長期間にわたる詳細なネットワーク統計情報を解析することができます。
4.4.4 最適化
健全性レポートの情報に基づき、マネージャは継続してネットワークの改善に取り組みます。マネージャは、モートごとに、
既存の親と、他に検出した近隣のモートを比較します。ある既存の親が別の親よりも適していると思われる場合、または検
出されたが未使用の近隣が最適な親になりそうな場合、マネージャはモートから最適な親へのリンクを追加します。これは、
最適化追加 サイクルと呼ばれます。親の比較とは、パスの安定性、アクセス・ポイントまでのホップの数、およびモート上の
リンクの相対数を考慮した評価関数の比較です。マネージャは、各パケットの送信を少なくして安定性を高めることにより
ネットワークにおけるエネルギー消費を減らそうとし、また、最も忙しいモートの負荷を分散しようとします。追加サイクルの
間、マネージャは、どのパスがネットワークにとって最適になるかを推測しなければならない場合があり、各モートにリンク
を追加することによってパスを試します。
1 時間後、マネージャは新しい親を有するモートから 4 回分の健全性レポートを受け取っており、どの親が最適かを判断する
ための十分なデータを得ます。この前の段階でリンクを追加されたモートは、同じ評価関数による比較を行い、最も不適切
な親へのリンクを削除します。これは、最適化削除 サイクルと呼ばれます。ネットワークは、その存続の間、1 時間おきに追
加と削除を繰り返し続けます。このプロセスを継続して行うことにより、いかなる環境の変化にもネットワークが対応できる
ようになります。
4.5 アクセス制御
4.5.1 ACL 管理
モートは、ネットワークに参加する際の最初の参加要求を暗号化するために、ジョイン・キーを使用します。モートが使用す
るジョイン・キーがマネージャに設定されたモートのジョイン・キーと一致しない場合、マネージャは参加要求を解読できず、
モートはネットワークへの参加を許可されません。デフォルトでは、モートとマネージャは、共通のジョイン・キーがデフォル
ト値に設定された状態で出荷されます。セキュリティの詳細は、本ガイドの「SmartMesh IP ネットワーク」のセクションを参
照してください。
マネージャは、モートの MAC アドレスをモート固有のジョイン・キーに割り当てるアクセス制御リスト(ACL)を管理します。
いったん ACL エントリが設定されると、マネージャは、ACL 内に存在しないモートをネットワークに参加させません。ネット
ワーク内のモートのジョイン・キーは、exchangeMoteJoinKey コマンドを使ってマネージャとモート上で更新されます。こ
れは、マネージャがモートに新しいジョイン・キーを渡す際に行われます。モートが更新を確認応答しないと、マネージャは
その ACL を更新しません。モートは、 API の setACL コマンドまたは CLI の set acl コマンドを通して手動で ACL に追加
できます。
SmartMesh IP ユーザー・ガイド
29/43
ネットワーク内の全モートの ACL を設定する最も簡単な手順は、以下の通りです。
• 共通のジョイン・キーを使ってモートをネットワークに参加させます。
• ネットワーク内のモートごとに、exchangeMoteJoinKey コマンドを使って、ネットワーク内のモートごとに ACL エン
トリを設定します。
• 全てのモートが正常にジョイン・キーの交換操作を完了し、ACL に記載された後、マネージャをリセットしてモートの
参加を確認します。
4.6 無線プログラミング(OTAP)
外部アプリケーションはマネージャを通してモートと通信し、デバイスのファームウェアをアップグレードできます。これ
は Over-The-Air-Programming(OTAP)と呼ばれます。SmartMesh SDK は、OTAP を行うために使用可能な、OTAP
Communicator と呼ばれる参考アプリケーションを提供します。詳細は、
「OTAP Communicator documentation」を参照
してください。
OTAP 操作の基本的な手順は、以下の通りです。
1. 更新されたファームウェアが .otap2 ファイル形式で提供されます。
2. 全モートとのハンドシェイクにより、この更新(受信リスト)を受け入れるモートが決定し、更新の準備が整えられます。
3. OTAP ファイルがパケットに分割され、全てのデバイスに送信されます。受信リストに記載されたデバイスのみがファ
イルを操作します。
4. プロセスは、データが受信され有効であることを確認するために、受信リストに記載された全てのモートを照会しま
す。全て(対象)のモートがファイルを受信するまで、手順 2 と 3 を繰り返します。
5. ファイルを受信した全てのモートにコミット・メッセージを送信します。これにより、全モートのフラッシュが新しい
ファームウェアで書き換えられます。
6. モートがリセットされ、新しいファームウェアを使ってネットワークに再度参加します。
SmartMesh IP ユーザー・ガイド
30/43
4.7 マネージャの工場出荷時デフォルト設定の復元
マネージャは、CLI コマンドの exec restore または API コマンドの restoreFactoryDefaults を使用して、工場出荷時の
設定に戻すことができます。以下の表に、工場出荷時の設定に戻すことにより影響を受ける CONFIG パラメータのデフォル
ト値を示します。復元することにより、アクセス制御リストもクリアされます。
パラメータ
コメント
デフォルト値
netid
ネットワーク ID
1229
txpower
AP TX 電力 [dBm]
8
frprofile
フレーム・プロファイル ID
1
maxmotes
モートの最大数(AP を含む)
33(100 モート・マネージャはこの状態に戻ります。maxmotes を
手動で 101 に設定する必要があります)
basebw
ベース帯域幅―パケット間の期間
9000
[msec]
dnfr_mult
ダウンストリーム・フレーム乗数
1
numparents
親の最小数
2
cca
CCA 値
0
channellist
チャネル・リスト
7FFF(hex)
autostart
自動開始オン / オフ
1(オン)
locmode
予約済み
0
bbmode
バックボーン・モード
0(オフ)
bbsize
バックボーン・フレーム・サイズ
1
pwdviewer*
ビューワ・ユーザーのパスワード
viewer
pwduser*
通常ユーザーのパスワード
user
commjoinkey*
共通結合キー
44 55 53 54 4E 45 54 57 4F 52 4B 53 52 4F 43 4B(hex)
ip6prefix
IP6 アドレス
::
ip6mask
IP6 マスク
FFFF:FFFF:FFFF:FFFF::(hex)
radiotest
無線テスト
0(オフ)
bwmult
帯域幅プロビジョニング乗数 [%]
300
onechannel
1 チャネル・ネットワーク
FF(hex)
SmartMesh IP ユーザー・ガイド
31/43
5 SmartMesh IP モート
5.1 はじめに
SmartMesh IP モートは、SmartMesh IP ネットワークの「本体」です。モートは、以下を担当します。
• ネットワークとの同期を維持します
• 子孫からのデータを上流に転送します
• マネージャがネットワークの状態を継続して把握するために健全性レポートを生成します
• 切断したパスなどの失敗を示すアラームを生成します
• センサ・アプリケーションにユーザー・インタフェースを提供します
LTC5800-IPM は、 顧客の設計に組み込まれることを目的とする単一チップのソリューションです。LTP5902-IPM と
LTP5901-IPM は、モジュール方式で認証されているため、無線認証の必要なしで使用できます。
5.1.1 モート設計の手順
マネージャと同様、モートは多くのネットワーク・タスクを実行しますが、センサ・アプリケーションが行う必要があるタスクは、
以下のように比較的わずかです。
• モートの起動イベントに確認応答します
• 参加の前に必要なパラメータ(joindutycyle など)を設定します
• join API を使用して、モートがネットワークを検索するようにします
• モート状態を監視して、データの受け入れ準備が整っているかを確認します
• データを発行するためにサービスを要求します
• データを送信し、アプリケーション層メッセージに対して応答します。
「SmartMesh IP Mote CLI
「SmartMesh IP Mote API Guide」はモートを制 御 するその 他 のコマンドを説 明します。
Guide」は、モートのアクティビティを監視するコマンド・ライン・インタフェースについて説明します。
SmartMesh IP ユーザー・ガイド
32/43
5.2 モート状態マシン
次の状態マシンは、モートの一般的な動作を示しており、ユーザーの参考のために提供されます。一般に、アプリケーション
だけが、ネットワークに入るための参加コマンドを発行し、データを送信する API コマンドを発行する必要があります。
モートの状態は、以下の通りです。
• アイドル―この状態の間は、モートは設定コマンドを受け付けます。この状態は、モートが自動参加に設定されてい
るとスキップされます。
• ディープ・スリープ―取り付けられたシリアル・プロセッサからlowPowerSleep コマンドを受信すると、モートはディー
プ・スリープ状態になります。この状態では、デバイスはシリアル・コマンドに応答できなくなり、通常動作を再開す
るためにはリセットする必要があります。電力消費情報については、モート製品のデータシートを参照してください。
• 無制限受信―特殊な検索状態。search コマンドにより起動されます。モートは任意のネットワーク ID からの通知を
受信し、受信した通知を報告します。モートはネットワークに参加しようとはせず、join コマンドを待ってそれが発行
されると検索中状態になります。
SmartMesh IP ユーザー・ガイド
33/43
• 検索中(非同期検索)―モートは、ネットワーク ID に一致するネットワークを検索しています。その無線受信の時間を
設定可能なジョイン・デューティ・サイクルに留めます。
• 同期検索(非表示)―検索の終わりの短時間。デバイスは通知を受信し、ネットワークに同期しています。その無線受
信の時間を設定可能なジョイン・デューティ・サイクルに留め、近隣を受信します。
• 交渉中―デバイスがネットワークへの参加を開始。
• 接続―デバイスはマネージャからの参加応答を受信し、その応答により設定されています。
• 稼動―デバイスはネットワークへの参加を完了し、データを送信する準備が整っています。
• 切断―デバイスはネットワークから切断されました。
• 無線テスト―この状態では、デバイスは radiotest コマンドを実行しています。通常動作に戻すには、リセットする必
要があります。
5.3 参加
5.3.1 プログラムからの参加
ネットワークに参加するには、デバイスをネットワークに結びつける以下のパラメータをデバイスに設定する必要があります。
• networkld
• joinKey
これらの パラメータは 永 続 的で、 コミッショニング 中 に 一 度 設 定されます。更 に、joinDutyCycle 、routingMode 、
powerSourceInfo などの他のパラメータは全て、参加動作に影響し、オプションで設定できます。
クライアント・アプリケーションは、以下の状態マシンを使って、ネットワークに参加する必要があります。
SmartMesh IP ユーザー・ガイド
34/43
この図では、以下の状態が想定されます。
• 初期―この状態では、アプリケーションが起動し、初期化しています。低消費電力構成ではありませんが、アプリケー
ションがモートと通信する準備を終えるまで、モートはハードウェア・リセット状態にしておきます。
• 参加前―モートが起動したことをboot イベントで通知されると、アプリケーションは、複数の setParameter API を
呼び出すことにより、パラメータの設定を行います。この状態の終わりに、アプリケーションは join コマンドを発行し
ます。
• 参加中―この状態では、モートはネットワークに参加しています。参加に成功したことは、稼動 イベント通知を介して
報告されます。参加に失敗した場合は、joinFail イベント通知を介して報告されます。
• 動作可能―この状態では、デバイスは参加を完了し、ネットワークの一部となっています。アプリケーションは、帯域
幅を要求し、データを送信します。
5.3.2 自動参加
モートは、起動後にネットワークを自動で検索し参加を開始するように設定できます。この設定は、永続的な autoJoin パラ
メータを介して制御されます。この場合、明示的なjoin コマンドは必要ありません。ネットワーク ID、電源などのパラメータ
は全て、事前に設定しておく必要があります。
デバイスを自動参加するように設定すると、radiotest 機能は実行できません。
SmartMesh IP ユーザー・ガイド
35/43
5.3.3 隣接ネットワークへの参加
場合によっては、ネットワーク ID が事前に知らされていないこともあります。どのネットワークがデバイスの近くにあるか
を知るには、 API コマンドの search を使用します。このコマンドは、デバイスを無差別受信モードにします。このモード
では、受信した通知は全て、advReceived 通知を介して報告します。正しいネットワーク ID が確立された後、ユーザーは
setParameter<networkId> を使ってネットワーク ID を設定し、続いてjoin コマンドを実行します。
以下は、モートの起動に続いて行われる手順のまとめです。
1. モートを無差別受信モードにします(search コマンド)
2. advReceived 通知を処理します。
3. ネットワーク ID を設定します(setParameter<networkId> )
4. 参加を開始します(join コマンド)
5.4 サービス
5.4.1 帯域幅の要求
モートは、ネットワークに参加して稼動状態になると、データ・パケットの送信を開始できるようになります。最初、全てのモー
トは、あらかじめ決められたアップストリーム帯域幅(ベース帯域幅 )が与えられます。この帯域幅がモートの発行レートに
対して足りない場合、アプリケーションはネットワーク帯域幅の追加を要求することができます。これは、サービス の要求と
呼ばれます。割り当てられている帯域幅を知るために、アプリケーションは getServiceInfo API を使用します。モートは、特
に明示的に要求しなくてもマネージャとの通信用のベース帯域幅が与えられます。
サービスはメッシュ内の送信先によって区別され、モートが必要とする合計の帯域幅を含みます。送信先ごとに許可される
サービスは 1 つのみであるため、異なるレートでパケットを生成するアプリケーションは、最大のレートに対応した一つの
サービスを要求する必要があります。現在、モートがデータを送信できるメッシュ内送信先はマネージャだけです(メッシュ・
アドレス 0xFFFE)。
センサ・アプリケーションが requestService API を使用した時に、モートは保留中のサービス要求についての通知をマネー
ジャに送信します。この時点で、API を介して返されたサービス状態は保留中 になります。マネージャがモートからのサービ
ス要求に応答すると、サービス状態は、完了に変わります。モートからサービス要求を取得した後、マネージャは要求され
た最新の値を保存し、帯域幅の割り当てが変わるとモートに通知します。アプリケーションはserviceChanged 通知を受信
します。このような通知は、ネットワーク状態が変化すると、いつでも何度でも発生することに注意してください。アプリケー
ションは必要な時に requestService を使ってサービス要求を変更できます。マネージャは最後の要求を最新のものとして
扱います。
SmartMesh IP ユーザー・ガイド
36/43
次のトランザクション図は、サービス要求においてアプリケーション、モート、およびマネージャの間で何が起きているかを
示しています。
5.4.2 バック・オフのメカニズム
アプリケーションは、サービスを要求した後、sendTo API を介してただちにデータの送信を開始できますが、ネットワーク
が受け付けることの出来る範囲のレートで送信する必要があり、そのためにバック・オフの手続きが必要になります。複数の
データが同じ送信先に送られている場合、アプリケーションは必要なサービスを合計したものを一つのサービスとして要求
する必要があります。
次のバックオフ・アルゴリズムを推奨します。
• RC_NO_RESOURCES を受信した場合、パケットの間隔を 2 倍にします。再度受信した場合、3 倍、4 倍と順に 255
倍まで増やします。
• パケット送信が正常に行われるようになった場合には、キューに空きがあることを意味しますので、パケットの間隔を
逆に 5 倍、4 倍、...、1 倍のように縮めていきます。
SmartMesh IP ユーザー・ガイド
37/43
5.5 通信
5.5.1 ソケット
ソケットは、モートと他の IP デバイスの間の通信フローのエンドポイントです。モートのソケットは、 Berkeley ソケット標準
にほぼ基づいています。通信するために、アプリケーションはソケットを開き、それをポートにバインドする必要があります。
複数のポートを持つアプリケーションは複数のソケットを開くことができます。
ソケット使用の通常シーケンスは次の通りです。
1. openSocket コマンドを呼び出し、通信ソケットを開きます。これによりソケットの socketID が得られます。現在のと
ころ、UDP ソケットのみがサポートされています。
2. bindSocket コマンドを呼び出し、ソケットをsendTo コマンドで使用するポートdestPort にバインドします。
3. sendTo コマンドを使って、データを送信します。ペイロードとソケット情報に加えて、serviceType 、priority 、
packetId を指定する必要があります。詳細については、Mote API Guide の sendTo を参照ください。現在、帯域幅
サービスがサポートされていますが、レイテンシ・サービスはサポートされていません。オープン状態のソケットに対
して、sendTo は繰り返し行うことができます。
4. 送信先にデータを送信する必要がなくなった時、closeSocket コマンドを呼び出します。これにより、ポートへのバ
インドが外され、ソケットに割り当てられていたメモリが解放されます。各パケット送信の後にソケットを閉じる必要
はありません。
5.5.2 UDP ポート割り当て
0xF0B0 ∼ 0xF0BF の範囲にある UDP ポートは、メッシュ内部で最も効率よく圧縮されるので、出来る限りこの範囲を使用
することによって、使用可能なペイロードが最大化できます。
モート上では、次のポート割り当てが使用されます。
ポート
説明
0xF0B0
マネージャとモートとの間の管理トラフィック
0xF0B1
予約済み(OTAP が使用)
0xF0B2 ∼ 0xF0B7
予約済み
0xF0B8 ∼ 0xF0BF
アプリケーションが使用可能
マネージャ上では、次のポート割り当てが使用されます。
ポート
説明
0xF0B0
マネージャとモートとの間の管理トラフィック
0xF0B1
予約済み(OTAP が使用)
0xF0B2
予約済み
0xF0B3 ∼ 0xF0B7
予約済み
0xF0B8 ∼ 0xF0BF
アプリケーションが使用可能
他のポートも使用可能ですが、その場合ペイロードが 3 バイトだけ短くなります。
SmartMesh IP ユーザー・ガイド
38/43
5.5.3 データの送信と受信
ソケットが作成されると、センサ・アプリケーションは、sendTo API を使用して、マネージャを含む IPv6 デバイスにデータ
を送信することができます。マネージャの IPv6 アドレスは FF02::02 です。マネージャに送信されたパケットは、マネージャ
のシリアル API 上で data 通知に変換されます。他の IPv6 アドレスに送信されたパケットは、マネージャのシリアル API 上で
ipData 通知に変換されます。
アプリケーションが送信する無線データは高い信頼性(通常は 99.9% 以上)を有しますが、UDP ですのでエンド・ツー・エ
ンドの配信は保証されません。アプリケーションがパケットの紛失を許容できない場合、アプリケーション層の信頼できる
メッセージングは顧客のアプリケーションにより提供される必要があります。
アプリケーションは、ソケットが開かれ特定のポート番号にバインドされているポートからのみパケットを受信します。その
場合、モートは receive 通知を使って、そのポートで受信した全てのパケットをセンサ・アプリケーションに転送します。
5.6 イベントとアラーム
モート API では、センサ・アプリケーションがモートの状態を把握するために役に立つ、イベントとアラームが定義されてい
ます。アラームは、不揮発性メモリでのエラーやバッファ不足などの現在の状況を表しています。現在のアラームを読み取る
ために、アプリケーションは getParameter<moteStatus> API を使用します。
これに対して、イベントはモートまたはネットワークの動作における状態の変化を知らせます。イベントの例には、モート起
動イベントやアラーム状態の変化があります。アプリケーションは、setParameter<eventMask> API 呼び出しを使って、ど
のイベントの通知を受け取るかを指定できます。
5.7 工場出荷時のデフォルト設定
工場出荷時のモートのデフォルト設定は下記の通りです。CLI コマンドの restore mote またはモート API コマンドの
clearNV を使用して、工場出荷時の設定に戻すことができます。
パラメータ
デフォルト値
Network Id
1229
Transmit Power
+8dBm
Join Key(16 バイト、Hex) 44 55 53 54 4E 45 54 57 4F 52 4B 53 52 4F 43 4B
OTAP Lockout
0(許可)
Routing Mode
0(有効)
Join Duty Cycle
DC9003B の場合、0xFF(100%)。その他は 0x40
(25%)
maxStCurrent
0xFFFF(無制限)
minLifetime
0(無制限)
currentLimit
0(なし)
Auto Join
off
SmartMesh IP ユーザー・ガイド
39/43
5.8 電力に関する考察
5.8.1 電源情報
詳細については、setParameter<powerSrcInfo> API を参照してください。
powerSrcInfo 文書に記載されたパラメータのうちmaxStCurrent だけが、SmartMesh IP マネージャの判断に使用されま
す。リンクを割り当てる際、マネージャは RX と TX リンクがそれぞれ最大長のパケットを受信すると仮定します。そしてマネー
ジャが追加のリンクを割り当てるとモートの消費電流が maxStCurrent を超えると判断した場合には、リンクの割り当ては行
いません。ネットワークの動作に最小限必要なリンク数があり、maxStCurrent をこのしきい値未満に設定しても、モートは
ダウンストリーム・
最小リンク構成を取るため、
この場合に限りmaxStCurrent が無視されることになります。このしきい値は、
フレーム乗数とランダムに選択されたベース・フレーム・サイズにより異なりますが、約 30µA になります。
maxStCurrent は、バックボーンの動作にも影響します。アップストリーム・バックボーンの場合、電流制限のないライン給
電モート(つまり、maxStCurrent =0xFFFF のモート)のみがバックボーン・フレーム内でアップストリーム RX リンクを持つ
ことができます。ライン給電モートを持つことが、マルチホップ・アップストリーム・バックボーンを構築する唯一の方法で
す。双方向バックボーンの場合、全てのモートはバックボーンの受信を行う必要があるため、全てのモートに 2 スロットごと
に RX リンクがあります。これは、電力設定に関係なく起こります。
他の電力パラメータは、現在のマネージャでは使われていませんが、将来のバージョンに対応するために、適切に設定し
ておくことをお勧めします。minLifetime パラメータは maxStCurrent を補うために使用され、マネージャはどちらかより厳
しい方に従います。例えば、minLifetime によりモートが 10 リンク / 秒に設定されたが、maxStCurrent の設定により 12 リ
ンク / 秒に制限されている場合、10 リンク / 秒が使用されます。このパラメータは、異なる種類のバッテリを持つデバイス
が混在するネットワークで最も有効です。更に3種類の一時的な電流制限が用意されています。これらはcurrentLimit_0 、
dischargePeriod_0 、および rechargePeriod_0 から成ります。ここでは、currentLimit_0 をmaxStCurrent よりも高くする
ことを目的にしています。例えば、環境発電を利用したデバイスはそのライフタイム全体で 40µA の電流を調達できますが、
オンボードのコンデンサは同時に 1 分間に 100µA の電流を提供するために使用でき、その後充電に 10 分かかります。この
場合、currentLimit_0 = 100、dischargePeriod_0 = 60、rechargePeriod_0 = 600 と設定します。
これらの 3 つのパラメータにより、モートの電源構成に応じた臨時サービスと帯域幅の設定を可能にする、非常に柔軟な電
力プロファイルを記述できます。
5.8.2 ルーティング・モード
電力設定に関わらず、各モートには、setParameter<routingMode> API を介して変更できるルーティング・モードを持って
います。
モード =non-routing に設定すると、ルーティングを行わなくなります。非ルーティング ・モートは子を割り当てられません。
通知リンクまたは検出 RX リンクが与えられないため、モートの消費電流をその分だけ下げることができます。このモードの
設定は、モートが maxStCurrent =0xFFFF に設定されている場合でも有効です。全てのモートを非ルーティングに設定する
と、必然的にネットワークはアクセス・ポイントを唯一の親とする 1 ホップのスター・トポロジになります。
モード =routing に設定すると、ルーティングが有効になります(デフォルト)。つまり、モートは子を割り当てられます。モー
トは通知を送信し、他のモートからの検出 RX リンクを受信します。最適なネットワークのために全てのモートが子を必要と
するとは限らないため、ルーティングを有効にしたモートが全て子を持つとは限りません。子を持たないルーティング可能
モートもリーフと呼ばれます。全てのモートがルーティング可能なネットワークでも、少なくとも 1 つのリーフがあります。
SmartMesh IP ユーザー・ガイド
40/43
5.8.3 ジョイン・デューティ・サイクル
joinDutyCycle パラメータによって、マイクロプロセッサはジョイン・デューティ・サイクル、つまりモートがネットワークを検
索している間のアクティブな受信時間とスリープ時間(低消費電力状態)の比率を制御できます。デフォルトのデューティ・サ
イクルによって、モートはバッテリ電力を使いすぎることなく妥当な速度でネットワークに参加します。電力消費を増やして
でも参加までの時間を縮めたい場合には、setParameter<joinDutyCycle> コマンドを使用して、ジョイン・デューティ・サ
イクルを 100% まで上げることができます。setParameter<joinDutyCycle> コマンドは次回の参加にのみ影響することに
注意してください。電力消費に関する情報については、モート製品のデータシートを参照してください。このコマンドは、参
加プロセス中に何回でも発行して構いません。このコマンドは、モートがアイドルおよび検索中状態の場合にのみ有効です。
5.9 マスタとスレーブ
5.9.1 モード動作
モートには参加動作とコマンド処理を制御する 2 つのモードがあります。
• マスタ・モード。このモードでは、モートがコマンド処理と参加動作を担当するアプリケーションを実行します。アプリ
ケーションは、内蔵のアナログ入力および温度センサの読み取りと汎用デジタル入出力ができ、サンプル・パケット生
成機能が含まれています(WirelessHART モートでは温度読み取りとパケット生成のみ可能です)。デフォルトでは、
「SmartMesh IP Tools Guide」に記載されているように、
アプリケーションは 30 秒ごとに温度レポートを送信します。
顧客のアプリケーションは OAP プロトコルを介してマスタ・モードのアプリケーションと対話できます。スターター・キッ
ト内のモートは全て、デフォルトでマスタ・モードに設定されています。マスタ・モードでは、API は使用できません。
• スレーブ・モード。このモードでは、シリアル接続されたセンサ・プロセッサがコマンド処理と参加動作を制御する
ことになります。デフォルトでは、モートは自分からはネットワークに参加しようとはしません。スレーブ・モードでは
API が使用でき、APIExplorer などのシリアル・アプリケーションが使用されることを想定しています。SmartMesh
IPでは、
SetParameter を介してautojoin が有効にされている場合、スレーブ・モードのモートは、シリアル・アプリケー
ションが join コマンドを発行しなくても自発的にネットワークに参加します。
モードは CLI の set コマンドを通して設定でき、リセットされるまで持続します。
マスタ・モードの SmartMesh IP モート(DC9003)の場合、モートは自動的に検索を開始するため、起動するとす
ぐに STATUS_0 LED が点滅し始めます。スレーブ・モードでは、LED は点灯しません。空のバッテリと間違えない
ようにしてください。
SmartMesh WirelessHART モートの場合、STATUS_0 LED はソフトウェアでは使用されません。
DC9003 ボードの LED は、LED_EN ジャンパが短絡されている場合にのみ点灯することに注意してください。
SmartMesh IP ユーザー・ガイド
41/43
スレーブ・モードへの切り換え
デフォルトでは、スタータ・キット(DC9000 および DC9007)のモートは、マスタ・モードに設定されています。現在の設定
を読み取るには、USB ケーブルを介してモートをコンピュータに接続し、モート CLI コマンドの get を使用します。モートを
スレーブ・モードに設定するには、モート CLI コマンドの set を使用します。
以下のように get mode コマンドを使って、現在のモードを表示します。
> get mode
master
以下のように set mode コマンドを使って、スレーブ・モードに変更します。
> set mode slave
> reset
モード変更を有効にするには、モートをリセットする必要があります。いったん設定すると、モードはリセットされる
まで持続します。
マスタ・モードへの切り換え
現在の設定を読み取るには、USB ケーブルを介してモートをコンピュータに接続し、CLI コマンドの get mode を使用しま
す。モートをマスタ・モードに設定するには、CLI コマンドの set mode を使用します。
以下のように get mode コマンドを使って、現在のモードを表示します。
> get mode
slave
以下のように set mode コマンドを使って、モートをマスタ・モードに設定します。
> set mode master
> reset
set mode コマンドを有効にするには、モートをリセットする必要があります。いったん設定すると、モードはリセッ
トされるまで持続します。
SmartMesh IP ユーザー・ガイド
42/43
商標
Eterna、Mote-on-Chip、SmartMesh IP は Dust Networks, Inc. の 商 標 で す。Dust Networks の ロ ゴ、Dust、Dust
Networks、SmartMesh は Dust Networks, Inc. の登録商標です。LT、LTC、LTM、および L はリニアテクノロジー社の
登録商標です。第三者の会社名および製品名は、それぞれ所有者の商標であり、情報提供の目的でのみ使用されています。
著作権
本文書は米国および国際著作権、その他の知的所有権法と工業所有権法により保護されています。リニアテクノロジー社と
そのライセンサにより専有されており、限定的ライセンスに基づいて頒布されています。リニアテクノロジー社からの書面に
よる許可なく、本製品またはその一部を、いかなる形態または手段によっても使用、複製、修正、逆アセンブル、逆コンパイ
ル、リバース・エンジニアリング、頒布、または再頒布を行ってはなりません。
限定的権利 : 米国政府による使用、複製、または開示は、FAR 52.227-14(g) (2)(6/87) と FAR 52.227-19(6/87)、または
DFAR 252.227-7015 (b)(6/95) と DFAR 227.7202-3(a)、全ての同等および後継の法令と規制による制限の対象となります。
免責事項
本文書は、明示、黙示を問わず、商品性、特定の目的への適合性に関する暗黙の保証を含む一切の保証なしで「そのままの
状態」で提供されるものとします。
本書には技術的に不正確な記述またはその他の誤りが含まれる場合があります。訂正と改善は、新しいバージョンの文書に
取り入れられます。
リニアテクノロジー社は、アプリケーション、または製品やサービスの使用により発生する責任を負いません。特にまた、間
接的あるいは偶発的損害を含むがそれに限定されず、いかなる責任を負わないものとします。
リニアテクノロジー社の製品は、故障がユーザーへの重大な傷害につながる可能性がかなり高い生命維持装置、デバイス、
その他のシステムでの使用、またはその機能停止により生命維持装置やシステムの故障あるいはその安全性や有効性に影
響する可能性がかなり高い生命維持装置の重要なコンポーネントとしての使用を目的としていません。このような用途での
使用を目的としてこれらの製品を使用または販売しているリニアテクノロジー社の顧客は、顧客自身の責任でそれを行い、
このような意図しないまたは不正な使用に直接または間接的に起因する全ての主張、費用、損害、支出、および妥当な額の
弁護士費用、また、かかるクレームでリニアテクノロジー社に該当製品の設計または製造に関わる過失があったと主張され
る場合でも、これを完全に補償し、リニアテクノロジー社とその職員、従業員、子会社、関連会社、および販売代理店に何ら
損害を与えないことに同意するものとします。
リニアテクノロジー社は、いつでも製品またはサービスに対する修正、変更、拡張、改良、その他の変更を行う権利を保有
し、製品またはサービスを予告なく中止する権利を有します。顧客は、発注の前に最新の関連情報を入手し、その情報が最
新で完全であることを確認する必要があります。全ての製品は、注文承諾時または販売時に提供される、販売に関する Dust
Network の契約条件に従い販売されます。
リニアテクノロジー社は、リニアテクノロジー社の製品またはサービスが使用される組み合わせ、マシン、またはプロセスに
関連するリニアテクノロジー社の特許、著作権、回路配線権、またはその他のリニアテクノロジー社の知的所有権に従って、
明示、黙示を問わず、ライセンスが付与されることを保証または主張するものではありません。第三者の製品またはサービ
スに関してリニアテクノロジー社が公開した情報は、その製品またはサービスを使用するためのリニアテクノロジーからの
ライセンス、あるいはその保証または推奨を意味するものではありません。このような情報を使用する場合、第三者の特許
または他の知的所有権に従って第三者からのライセンスが必要になるか、またはリニアテクノロジー社の特許または他の知
的所有権に従ってリニアテクノロジー社からのライセンスが必要になります。
Dust Networks, Inc は、リニアテクノロジー社の完全所有子会社です。
© Linear Technology Corp. 2012-2013 All Rights Reserved.
SmartMesh IP ユーザー・ガイド
43/43