シンプルセンサーインターフェースプロトコル

シンプルセンサー インターフェイス( SSI )プロトコルは、コンピューターまたはユーザー端末とスマート センサー間のデータ転送用に設計されたシンプルな通信プロトコルです。

SSI プロトコルは、 NokiaVaisalaSuunto、Ionific、Mermit、オウル大学によって共同で開発され、2003 年 3 月に最初のバージョンがリリースされました。現在、SSI は、欧州連合研究技術開発枠組みプログラムの一部である Mimosa プロジェクト内で開発されています。

SSIプロトコルは、 UARTおよびネットワークnanoIPアプリケーション介したポイントツーポイント通信で使用されます。SSIは、センサーのポーリングやセンサーデータのストリーミングも提供します。RFIDセンサータグの場合、SSIはセンサーデータのメモリマップを指定します。

SSI プロトコル開発の基準は次のとおりです。

  • 汎用
  • シンプル – 最小限のオーバーヘッド
  • サーバー(センサー)側のフットプリントが小さい

MSP430マイクロコントローラ用の SSI プロトコルのサンプル実装は、2006 年 8 月に Nokia によって オープン ソースとして公開される予定です。

SSIメッセージ構造

SSIメッセージは、2バイトのヘッダーとnバイトのペイロードで構成されます。ヘッダーは、1バイトのアドレス(ワイルドカードは「?」、ASCIIコードでは0x3F )と1バイトのメッセージ/コマンドタイプで構成されます。メッセージ/コマンドタイプに取り得る値は、SSI v1.2コマンドベースに記載されています。

SSI v1.2 コマンドベース

コマンドバイト 方向 説明
Q,q (0x51, 0x71) C-> クエリ
A,a (0x41, 0x61) <-S クエリ応答
C,c (0x43, 0x63) C-> センサーを発見する
N,n (0x4E, 0x6E) <-S 発見の返信
Z,z (0x5A, 0x7A) C-> センサーデバイスをリセットする
G,g (0x47, 0x67) C-> センサーの構成データを取得します。
X,x (0x58, 0x78) <-S 構成データ応答
S,s (0x53, 0x73) C-> センサーの設定データを設定する
R,r (0x52, 0x72) C-> センサーデータを要求する
V,v (0x56, 0x76) <-S センサーデータ応答
D,d (0x44, 0x64) <-S 1バイトのステータスフィールドを持つセンサー応答
M,m (0x4D, 0x6D) <-S 多くのデータポイントを持つセンサー応答
O,o (0x4F, 0x6F) C-> センサーオブザーバーを作成する
Y,y (0x59, 0x79) <-S オブザーバーを作成しました
K,k (0x4B, 0x6B) <-> センサーオブザーバー/リスナーを削除する
u,u (0x55, 0x75) <-> 観察者/聴取者終了
L,l (0x4C, 0x6C) <-S リクエストセンサーリスナー
J,j (0x4A, 0x6A) C-> センサーリスナーを作成しました
E,e (0x45, 0x65) <-> エラー
F,f (0x46, 0x66) <-> カスタム目的の無料データ

コマンドのグループ:

  • Q – クエリ
  • A – クエリ応答
  • C – センサー検出
  • N – 発見返信
  • Z – リセット
  • G – センサー設定を取得
  • S – センサー設定の設定

SSI プロトコルを利用してセンサー ユニットを検索および構成するために使用されます。

コマンドのグループ:

  • R – センサーデータを要求する
  • V – データ応答
  • D – ステータスフィールドを含むデータ応答

センサーデータをまれに読み取るために使用されます。

データ ストリーミングの目的で定義されたコマンドは次のとおりです。

  • O – センサーオブザーバーを作成
  • Y – オブザーバー作成
  • K – オブザーバーを削除
  • U – オブザーバー終了
  • L – リクエストセンサーリスナー
  • J – センサーリスナーが作成されました。
  • V – データ応答
  • M – 多くのデータポイントを持つデータ応答

ポイントツーポイントSSI

SSIを使用したポイントツーポイントメッセージングは​​、SSI/UARTで行うことができます。SSI UARTメッセージは、3バイトのUARTヘッダー、ペイロードとしてのSSIメッセージ、およびオプションの巡回冗長検査チェックサムで構成されます。チェックサムの使用はSSIメッセージ/コマンドの種類によって定義され、小文字のコマンドはCRCの使用を示します。ヘッダーは、開始バイト(0xFE)、2バイト(合計)のメッセージ長、およびフレーム開始を識別するための 2バイトのビット単位の否定長で構成されます。

ネットワークSSI

可変環境におけるSSIネットワークはnanoIPを用いて実現されます。SSIを使用する典型的なケースでは、個々のメッセージは重要ではないため、メッセージフォーマットとしてnanoUDP(nanoIPで定義された簡易UDP )が使用されます。個々のメッセージが重要な場合は、フロー制御と再送信機能を備えたnanoTCPを使用できます。ただし、メッセージサイズとネットワークトラフィックの増加を犠牲にします。

nanoUDPメッセージは、5バイトのnanoUDPヘッダー、nバイトのメッセージペイロード、およびオプションの2バイトのCRCチェックサムで構成されます。ヘッダーは、1バイトのプロトコルバイト、2バイトのメッセージ長(ヘッダーとCRCを含む全体の長さ)、1バイトの送信元ポート、および1バイトの宛先ポート番号で構成されます。SSIメッセージの場合、宛先ポート番号は0x28である必要があります。

バージョン履歴

  • 0.1 2003年3月14日
  • 0.2 2003年4月29日
  • 0.3 2003年5月20日
  • 0.4 2003年10月2日
  • 0.5 2003年12月5日、以前のバージョンとは互換性がありません
  • 0.6 2004年11月3日
  • 0.7 2004年12月22日
  • 0.8 2005年1月14日
  • 1.0 2005年4月11日
  • 1.1 2005年10月27日
  • 1.2 2006年5月27日、以前のバージョンと互換性がありません

参考文献